aboutsummaryrefslogtreecommitdiffstats
path: root/test/servers/resources_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/servers/resources_test.js')
-rw-r--r--test/servers/resources_test.js71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/servers/resources_test.js b/test/servers/resources_test.js
new file mode 100644
index 0000000..840b17c
--- /dev/null
+++ b/test/servers/resources_test.js
@@ -0,0 +1,71 @@
+var debug = require('debug')('caldav:test:detailed');
+var helper = require('./helper.js');
+var Caldav = require('../../lib/caldav');
+var assert = require('assert');
+
+suite('resources', function() {
+
+ suiteSetup(function(done) {
+ if (!testEnv.homeUrl) {
+ helper.findEnvHome(done);
+ } else {
+ done();
+ }
+ });
+
+ function checkCalendarCap(url, calendar) {
+
+ function cap(field) {
+ var value = calendar[field];
+
+ if (!value && value != 0) {
+ helper.log(url + ' missing ' + field, false, 'cap');
+ } else {
+ helper.log(url + ' ' + field, value, 'cap');
+ }
+ }
+
+ cap('color');
+ cap('ctag');
+ cap('privilegeSet');
+ cap('name');
+ cap('description');
+ }
+
+ test('find calendars', function(done) {
+ var con = helper.connection();
+ var resources = new Caldav.Request.Resources(con, {
+ url: testEnv.homeUrl
+ });
+
+ resources.addResource('calendar', Caldav.Resources.Calendar);
+ resources.prop(['ical', 'calendar-color']);
+ resources.prop(['caldav', 'calendar-description']);
+ resources.prop(['caldav', 'calendar-timezone']);
+ resources.prop('displayname');
+ resources.prop('resourcetype');
+ resources.prop('getlastmodified');
+ resources.prop('current-user-privilege-set');
+ resources.prop(['calserver', 'getctag']);
+
+ // found calendar home find calendars.
+ resources.send(function(err, data) {
+ helper.log('calendars:', data, 'detailed');
+
+ if (!data || !data.calendar) {
+ console.log('no calendars - fatal exiting.');
+ helper.log('no calendars', err, 'fatal');
+ process.exit(0);
+ }
+
+ helper.log('found calendars:', Object.keys(data.calendar));
+
+ for (var id in data.calendar) {
+ checkCalendarCap(id, data.calendar[id]);
+ }
+
+ done();
+ });
+ });
+
+});