From 3646a561c64dfb4341531c4a69dfa1f0130ef913 Mon Sep 17 00:00:00 2001 From: Ricki Hirner Date: Mon, 19 Oct 2015 13:18:21 +0200 Subject: [PATCH] Remove Robohydra (obsoleted by okhttp-mockwebserver) --- .../res/setup_task_lists_heading.xml | 29 -- app/src/androidTest/robohydra/.gitignore | 1 - app/src/androidTest/robohydra/davdroid.conf | 5 - .../robohydra/plugins/assets/index.js | 12 - .../robohydra/plugins/dav/index.js | 386 ------------------ .../androidTest/robohydra/plugins/headdav.js | 59 --- .../robohydra/plugins/redirect/index.js | 57 --- .../androidTest/robohydra/plugins/simple.js | 30 -- app/src/androidTest/robohydra/run.sh | 2 - .../davdroid/resource/DavResourceFinder.java | 2 - 10 files changed, 583 deletions(-) delete mode 100644 app/src/androidTest/res/setup_task_lists_heading.xml delete mode 100644 app/src/androidTest/robohydra/.gitignore delete mode 100644 app/src/androidTest/robohydra/davdroid.conf delete mode 100644 app/src/androidTest/robohydra/plugins/assets/index.js delete mode 100644 app/src/androidTest/robohydra/plugins/dav/index.js delete mode 100644 app/src/androidTest/robohydra/plugins/headdav.js delete mode 100644 app/src/androidTest/robohydra/plugins/redirect/index.js delete mode 100644 app/src/androidTest/robohydra/plugins/simple.js delete mode 100755 app/src/androidTest/robohydra/run.sh diff --git a/app/src/androidTest/res/setup_task_lists_heading.xml b/app/src/androidTest/res/setup_task_lists_heading.xml deleted file mode 100644 index d4c0683b..00000000 --- a/app/src/androidTest/res/setup_task_lists_heading.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app/src/androidTest/robohydra/.gitignore b/app/src/androidTest/robohydra/.gitignore deleted file mode 100644 index 3c3629e6..00000000 --- a/app/src/androidTest/robohydra/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/app/src/androidTest/robohydra/davdroid.conf b/app/src/androidTest/robohydra/davdroid.conf deleted file mode 100644 index 8e7823e2..00000000 --- a/app/src/androidTest/robohydra/davdroid.conf +++ /dev/null @@ -1,5 +0,0 @@ -{"plugins":[ - "assets", - "redirect", - "dav" -]} diff --git a/app/src/androidTest/robohydra/plugins/assets/index.js b/app/src/androidTest/robohydra/plugins/assets/index.js deleted file mode 100644 index 2a254b9a..00000000 --- a/app/src/androidTest/robohydra/plugins/assets/index.js +++ /dev/null @@ -1,12 +0,0 @@ -var RoboHydraHeadFilesystem = require("robohydra").heads.RoboHydraHeadFilesystem; - -exports.getBodyParts = function(conf) { - return { - heads: [ - new RoboHydraHeadFilesystem({ - mountPath: '/assets/', - documentRoot: '../assets' - }) - ] - }; -}; diff --git a/app/src/androidTest/robohydra/plugins/dav/index.js b/app/src/androidTest/robohydra/plugins/dav/index.js deleted file mode 100644 index f27756c6..00000000 --- a/app/src/androidTest/robohydra/plugins/dav/index.js +++ /dev/null @@ -1,386 +0,0 @@ -// vim: ts=4:sw=4 - -var roboHydraHeadDAV = require("../headdav"); - -exports.getBodyParts = function(conf) { - return { - heads: [ - /* base URL, provide default DAV here */ - new RoboHydraHeadDAV({ path: "/dav/" }), - - /* test cookie: - * POST /dav/testCookieStore will cause the mock server to set a cookie - * GET /dav/testCookieStore will cause the mock server to check the request cookie - * and return 412 Precondition failed when it's not set correctly - */ - new RoboHydraHeadDAV({ - path: "/dav/testCookieStore", - handler: function(req,res,next) { - var cookie = 'sess=MY_SESSION_12345'; - if (req.method == "POST") { - res.statusCode = 200; - res.headers['Set-Cookie'] = cookie; - res.send("Setting cookie"); - } else { - res.statusCode = (req.headers['cookie'] == cookie) ? 200 : 412; - res.send("Checking cookie"); - } - } - }), - - /* multistatus parsing */ - new RoboHydraHeadDAV({ - path: "/dav/collection-response-with-trailing-slash", - handler: function(req,res,next) { - if (req.method == "PROPFIND") { - res.statusCode = 207; - res.write('\\ - \ - \ - /dav/collection-response-with-trailing-slash/ \ - \ - \ - \ - /principals/ok\ - \ - \ - \ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - '); - } - } - }), - new RoboHydraHeadDAV({ - path: "/dav/collection-response-without-trailing-slash", - handler: function(req,res,next) { - if (req.method == "PROPFIND") { - res.statusCode = 207; - res.write('\\ - \ - \ - /dav/collection-response-without-trailing-slash \ - \ - \ - \ - /principals/ok\ - \ - \ - \ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - '); - } - } - }), - new RoboHydraHeadDAV({ - path: "/dav/propfind-collection-properties", - handler: function(req,res,next) { - if (req.method == "PROPFIND") { - res.statusCode = 207; - res.write('\\ - \ - \ - /dav/propfind-collection-properties \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - \ - 0xFF00FF\ - \ - HTTP/1.1 404 Not Found\ - \ - \ - \ - '); - } - } - }), - - /* principal URL */ - new RoboHydraHeadDAV({ - path: "/dav/principals/users/test", - handler: function(req,res,next) { - if (req.method == "PROPFIND" && req.rawBody.toString().match(/home-?set/)) { - res.statusCode = 207; - res.write('\\ - \ - \ - /dav/principals/users/t%65st \ - \ - \ - \ - /dav/addressbooks/test\ - \ - \ - /dav/calendars/test/\ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - '); - } - } - }), - - /* address-book home set */ - new RoboHydraHeadDAV({ - path: "/dav/addressbooks/test/", - handler: function(req,res,next) { - if (!req.url.match(/\/$/)) { - res.statusCode = 302; - res.headers['location'] = "/dav/addressbooks/test/"; - } - else if (req.method == "PROPFIND" && req.rawBody.toString().match(/addressbook-description/)) { - res.statusCode = 207; - res.write('\\ - \ - \ - /dav/addressbooks/test/useless-member\ - \ - \ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - /dav/addressbooks/test/default.vcf\ - \ - \ - \ - \ - \ - \ - Default Address Book\ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - https://my.server/absolute:uri/my-address-book\ - \ - \ - \ - \ - \ - \ - Absolute URI VCard Book\ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - '); - } - } - }), - - /* calendar home set */ - new RoboHydraHeadDAV({ - path: "/dav/calendars/test/", - handler: function(req,res,next) { - if (req.method == "PROPFIND" && req.rawBody.toString().match(/calendar-description/)) { - res.statusCode = 207; - res.write('\\ - \ - \ - /dav/calendars/test/shared.forbidden\ - \ - \ - \ - \ - HTTP/1.1 403 Forbidden\ - \ - \ - \ - /dav/calendars/test/private.ics\ - \ - \ - \ - \ - \ - \ - Private Calendar\ - This is my private calendar.\ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - /dav/calendars/test/work.ics\ - \ - \ - \ - \ - \ - \ - \ - \ - \ - Work Calendar\ - 0xFF00FF\ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - '); - } - } - }), - - /* non-existing member */ - new RoboHydraHeadDAV({ - path: "/dav/collection/new.file", - handler: function(req,res,next) { - if (req.method == "PUT") { - if (req.headers['if-match']) /* can't overwrite new file */ - res.statusCode = 412; - else { - res.statusCode = 201; - res.headers["ETag"] = "has-just-been-created"; - } - - } else if (req.method == "DELETE") - res.statusCode = 404; - } - }), - - /* existing member */ - new RoboHydraHeadDAV({ - path: "/dav/collection/existing.file", - handler: function(req,res,next) { - if (req.method == "PUT") { - if (req.headers['if-none-match']) /* requested "don't overwrite", but this file exists */ - res.statusCode = 412; - else if (req.headers['if-match'] && req.queryParams && req.queryParams.conflict) - /* requested "don't overwrite", but this file exists with newer content */ - res.statusCode = 409; - else { - res.statusCode = 204; - res.headers["ETag"] = "has-just-been-updated"; - } - - } else if (req.method == "DELETE") - res.statusCode = 204; - } - }), - - /* existing member with encoded URL as file name */ - new RoboHydraHeadDAV({ - path: "/dav/http%253A%252F%252Fwww.invalid.example%252Fm8%252Ffeeds%252Fcontacts%252Fmaria.mueller%252540gmail.com%252Fbase%252F5528abc5720cecc.vcf", - handler: function(req,res,next) { - if (req.method == "GET") - res.statusCode = 200; - } - }), - - /* address-book multiget */ - new RoboHydraHeadDAV({ - path: "/dav/addressbooks/default.vcf/", - handler: function(req,res,next) { - if (req.method == "REPORT" && req.rawBody.toString().match(/addressbook-multiget[\s\S]+[\s\S]+/m && - req.rawBody.toString().match(/\/dav\/addressbooks\/default\.vcf\/2:3@my%2540pc\.vcf<\/href>/m))) { - res.statusCode = 207; - res.write('\\ - \ - \ - /dav/addressbooks/default.vcf\ - \ - \ - \ - My Book\ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - /dav/addressbooks/default.vcf/1.vcf\ - \ - \ - \ - BEGIN:VCARD\ - VERSION:3.0\ - NICKNAME:MULTIGET1\ - UID:1\ - END:VCARD\ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - /dav/addressbooks/default.vcf/2:3%40my%2540pc.vcf\ - \ - \ - \ - BEGIN:VCARD\ - VERSION:3.0\ - NICKNAME:MULTIGET2\ - UID:2\ - END:VCARD\ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - '); - } - } - }), - - /* address-book multiget where one resource has 404 Not Found */ - new RoboHydraHeadDAV({ - path: "/dav/addressbooks/default-with-404.vcf/", - handler: function(req,res,next) { - if (req.method == "REPORT" && req.rawBody.toString().match(/addressbook-multiget[\s\S]+[\s\S]+/m && - req.rawBody.toString().match(/\/dav\/addressbooks\/default-with-404\.vcf\/notexisting<\/href>/m))) { - res.statusCode = 207; - res.write('\\ - \ - \ - /dav/addressbooks/default-with-404.vcf\ - \ - \ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - /dav/addressbooks/default-with-404.vcf/notexisting\ - HTTP/1.1 404 Not Found\ - \ - \ - '); - } - } - }), - - - ] - }; -}; diff --git a/app/src/androidTest/robohydra/plugins/headdav.js b/app/src/androidTest/robohydra/plugins/headdav.js deleted file mode 100644 index 44989dc9..00000000 --- a/app/src/androidTest/robohydra/plugins/headdav.js +++ /dev/null @@ -1,59 +0,0 @@ -// vim: ts=4:sw=4 - -var roboHydra = require("robohydra"), - roboHydraHeads = roboHydra.heads, - roboHydraHead = roboHydraHeads.RoboHydraHead; - -RoboHydraHeadDAV = roboHydraHeads.robohydraHeadType({ - name: 'WebDAV Server', - mandatoryProperties: [ 'path' ], - optionalProperties: [ 'handler' ], - - parentPropertyBuilder: function() { - var myHandler = this.handler; - return { - path: this.path, - handler: function(req,res,next) { - // default DAV behavior - res.headers['DAV'] = 'addressbook, calendar-access'; - res.statusCode = 500; - - // verify Accept header - var accept = req.headers['accept']; - if (req.method == "GET" && (accept == undefined || !accept.match(/text\/(calendar|vcard|xml)/)) || - (req.method == "PROPFIND" || req.method == "REPORT") && (accept == undefined || accept != "text/xml")) - res.statusCode = 406; - - // DAV operations that work on all URLs - else if (req.method == "OPTIONS") { - res.statusCode = 204; - res.headers['Allow'] = 'OPTIONS, PROPFIND, GET, PUT, DELETE, REPORT'; - - } else if (req.method == "PROPFIND" && req.rawBody.toString().match(/current-user-principal/)) { - res.statusCode = 207; - res.write('\\ - \ - \ - ' + req.url + ' \ - \ - \ - \ - /dav/principals/users/test\ - \ - \ - HTTP/1.1 200 OK\ - \ - \ - \ - '); - - } else if (typeof myHandler != 'undefined') - myHandler(req,res,next); - - res.end(); - } - } - } -}); - -module.exports = RoboHydraHeadDAV; diff --git a/app/src/androidTest/robohydra/plugins/redirect/index.js b/app/src/androidTest/robohydra/plugins/redirect/index.js deleted file mode 100644 index 4c2cbab0..00000000 --- a/app/src/androidTest/robohydra/plugins/redirect/index.js +++ /dev/null @@ -1,57 +0,0 @@ -require('../simple'); - -var RoboHydraHead = require('robohydra').heads.RoboHydraHead; - -exports.getBodyParts = function(conf) { - return { - heads: [ - // well-known URIs - new SimpleResponseHead({ - path: '/.well-known/caldav', - status: 302, - headers: { Location: '/dav/' } - }), - new SimpleResponseHead({ - path: '/.well-known/carddav', - status: 302, - headers: { Location: '/dav/' } - }), - - // generic redirections - new RoboHydraHead({ - path: '/redirect/301', - handler: function(req,res,next) { - res.statusCode = 301; - var location = req.queryParams['to'] || '/assets/test.random'; - res.headers = { - Location: location - } - res.end(); - } - }), - new RoboHydraHead({ - path: '/redirect/302', - handler: function(req,res,next) { - res.statusCode = 302; - var location = req.queryParams['to'] || '/assets/test.random'; - res.headers = { - Location: location - } - res.end(); - } - }), - - // special redirections - new SimpleResponseHead({ - path: '/redirect/relative', - status: 302, - headers: { Location: '/new/location' } - }), - new SimpleResponseHead({ - path: '/redirect/without-location', - status: 302 - }) - - ] - }; -}; diff --git a/app/src/androidTest/robohydra/plugins/simple.js b/app/src/androidTest/robohydra/plugins/simple.js deleted file mode 100644 index 8191fecf..00000000 --- a/app/src/androidTest/robohydra/plugins/simple.js +++ /dev/null @@ -1,30 +0,0 @@ -// vim: ts=4:sw=4 - -var roboHydra = require("robohydra"), - roboHydraHeads = roboHydra.heads, - roboHydraHead = roboHydraHeads.RoboHydraHead; - -SimpleResponseHead = roboHydraHeads.robohydraHeadType({ - name: 'Simple HTTP Response', - mandatoryProperties: [ 'path', 'status' ], - optionalProperties: [ 'headers', 'body' ], - - parentPropertyBuilder: function() { - var head = this; - return { - path: this.path, - handler: function(req,res,next) { - res.statusCode = head.status; - if (typeof head.headers != 'undefined') - res.headers = head.headers; - if (typeof head.body != 'undefined') - res.write(head.body); - else - res.write(); - res.end(); - } - } - } -}); - -module.exports = SimpleResponseHead; diff --git a/app/src/androidTest/robohydra/run.sh b/app/src/androidTest/robohydra/run.sh deleted file mode 100755 index f53c7967..00000000 --- a/app/src/androidTest/robohydra/run.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -node_modules/robohydra/bin/robohydra.js davdroid.conf -I plugins diff --git a/app/src/main/java/at/bitfire/davdroid/resource/DavResourceFinder.java b/app/src/main/java/at/bitfire/davdroid/resource/DavResourceFinder.java index ba3772fa..3e541c79 100644 --- a/app/src/main/java/at/bitfire/davdroid/resource/DavResourceFinder.java +++ b/app/src/main/java/at/bitfire/davdroid/resource/DavResourceFinder.java @@ -272,8 +272,6 @@ public class DavResourceFinder { log.debug("PROPFIND on " + url + " failed", e); } - // TODO notify user on errors? - if (service == Service.CALDAV) { serverInfo.setCalendars(calendars.values().toArray(new ServerInfo.ResourceInfo[calendars.size()])); serverInfo.setTaskLists(taskLists.values().toArray(new ServerInfo.ResourceInfo[taskLists.size()]));