All tests now pass in version 3
parent
b0318ca7b6
commit
4fa33c0bc2
|
@ -79,7 +79,10 @@ class preferences:
|
|||
return self.preferences
|
||||
else:
|
||||
tmpdict = self.find_key(self.preferences, preference)
|
||||
if tmpdict:
|
||||
return tmpdict[preference]
|
||||
else:
|
||||
return None
|
||||
|
||||
def _get(self, subtype='jsonDefault', preference=None):
|
||||
url = "/SOGo/so/%s/%s" % (self.login, subtype)
|
||||
|
@ -126,6 +129,17 @@ class preferences:
|
|||
self.set_nosave(key, value)
|
||||
self.save()
|
||||
|
||||
def set_or_create(self, preference, value, paths=['defaults']):
|
||||
if not self.preferences:
|
||||
self.load_preferences()
|
||||
subdict = self.find_key(self.preferences, preference)
|
||||
#- Pref is not set
|
||||
if not subdict:
|
||||
subdict = self.preferences
|
||||
for path in paths:
|
||||
subdict = subdict.setdefault(path, {})
|
||||
subdict[preference] = value
|
||||
|
||||
def save(self):
|
||||
url = "/SOGo/so/%s/Preferences/save" % self.login
|
||||
|
||||
|
|
|
@ -11,6 +11,11 @@ class preferencesTest(unittest.TestCase):
|
|||
|
||||
def setUp(self):
|
||||
self.prefs = preferences.preferences()
|
||||
# because if not set in vacation will not be found later
|
||||
# we must make sure they are there at the start
|
||||
self.prefs.set_or_create("autoReplyText", '', ["defaults", "Vacation"])
|
||||
self.prefs.set_or_create("PreventInvitations", 0, ["settings", "Calendar"])
|
||||
self.prefs.set_or_create("PreventInvitationsWhitelist", [], ["settings", "Calendar"])
|
||||
|
||||
def tearDown(self):
|
||||
self.prefs.set("autoReplyText", "")
|
||||
|
|
|
@ -18,12 +18,16 @@ class sieveTest(unittest.TestCase):
|
|||
def _killFilters(self):
|
||||
self.prefs=preferences.preferences()
|
||||
# kill existing filters
|
||||
self.prefs.set("SOGoSieveFilters", [{}])
|
||||
self.prefs.set_or_create("SOGoSieveFilters", [], ["defaults"])
|
||||
# vacation filters
|
||||
self.prefs.set("autoReplyText", "")
|
||||
self.prefs.set("autoReplyEmailAddresses", "")
|
||||
self.prefs.set_or_create("autoReplyText", "", ["defaults", "Vacation"])
|
||||
self.prefs.set_or_create("autoReplyEmailAddresses", [], ["defaults", "Vacation"])
|
||||
self.prefs.set_or_create("daysBetweenResponse", 7, ["defaults", "Vacation"])
|
||||
self.prefs.set_or_create("ignoreLists", 0, ["defaults", "Vacation"])
|
||||
self.prefs.set_or_create("enabled", 0, ["defaults", "Vacation"])
|
||||
# forwarding filters
|
||||
self.prefs.set("forwardAddress", "")
|
||||
self.prefs.set_or_create("forwardAddress", [], ["defaults", "Forward"])
|
||||
self.prefs.set_or_create("keepCopy", 0, ["defaults", "Forward"])
|
||||
|
||||
def setUp(self):
|
||||
ret = ""
|
||||
|
@ -76,8 +80,8 @@ class sieveTest(unittest.TestCase):
|
|||
vacation['enabled'] = 1
|
||||
|
||||
self.prefs.set_nosave("autoReplyText", vacation_msg)
|
||||
self.prefs.set_nosave("daysBetweenResponse", "%d" % daysSelect)
|
||||
self.prefs.set_nosave("autoReplyEmailAddresses", self.user_email)
|
||||
self.prefs.set_nosave("daysBetweenResponse", "%d" % preferences.daysBetweenResponseList[daysSelect])
|
||||
self.prefs.set_nosave("autoReplyEmailAddresses", [self.user_email])
|
||||
self.prefs.save()
|
||||
|
||||
createdSieveScript=self._getSogoSieveScript()
|
||||
|
@ -100,8 +104,8 @@ class sieveTest(unittest.TestCase):
|
|||
vacation['enabled'] = 1
|
||||
|
||||
self.prefs.set_nosave("autoReplyText", vacation_msg)
|
||||
self.prefs.set_nosave("daysBetweenResponse", "%d" % daysSelect)
|
||||
self.prefs.set_nosave("autoReplyEmailAddresses", self.user_email)
|
||||
self.prefs.set_nosave("daysBetweenResponse", "%d" % preferences.daysBetweenResponseList[daysSelect])
|
||||
self.prefs.set_nosave("autoReplyEmailAddresses", [self.user_email])
|
||||
self.prefs.set_nosave("ignoreLists", 1)
|
||||
self.prefs.save()
|
||||
|
||||
|
@ -120,7 +124,7 @@ class sieveTest(unittest.TestCase):
|
|||
forward = self.prefs.get("Forward")
|
||||
forward['enabled'] = 1
|
||||
|
||||
self.prefs.set("forwardAddress", redirect_mailaddr)
|
||||
self.prefs.set("forwardAddress", [redirect_mailaddr])
|
||||
|
||||
createdSieveScript = self._getSogoSieveScript()
|
||||
self.assertEqual(sieveScript, createdSieveScript)
|
||||
|
@ -136,7 +140,7 @@ class sieveTest(unittest.TestCase):
|
|||
forward = self.prefs.get("Forward")
|
||||
forward['enabled'] = 1
|
||||
|
||||
self.prefs.set_nosave("forwardAddress", redirect_mailaddr)
|
||||
self.prefs.set_nosave("forwardAddress", [redirect_mailaddr])
|
||||
self.prefs.set_nosave("keepCopy", 1)
|
||||
self.prefs.save()
|
||||
|
||||
|
@ -150,10 +154,8 @@ class sieveTest(unittest.TestCase):
|
|||
|
||||
sieveScript=sieve_simple_filter % { "subject": subject, "folderName": folderName }
|
||||
|
||||
filterAdd = { "SOGoSieveFilters": """[{"active": true, "actions": [{"method": "fileinto", "argument": "Sent"}], "rules": [{"operator": "contains", "field": "subject", "value": "%s"}], "match": "any", "name": "%s"}]""" % (subject, folderName)
|
||||
}
|
||||
self.prefs.set("SOGoSieveFilters", [{"active": True, "actions": [{"method": "fileinto", "argument": "Sent"}], "rules": [{"operator": "contains", "field": "subject", "value": subject}], "match": "any", "name": folderName}])
|
||||
|
||||
self.prefs.set_multiple(filterAdd)
|
||||
createdSieveScript = self._getSogoSieveScript()
|
||||
self.assertEqual(sieveScript, createdSieveScript)
|
||||
|
||||
|
|
|
@ -2164,6 +2164,7 @@ static NSArray *reminderValues = nil;
|
|||
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Connection error", @"textStatus", nil]];
|
||||
}
|
||||
}
|
||||
else
|
||||
results = [self responseWithStatus: 503
|
||||
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Service temporarily unavailable", @"textStatus", nil]];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue