All tests now pass in version 3

pull/91/head
Luc Charland 2015-05-04 13:48:55 -04:00 committed by Francis Lachapelle
parent b0318ca7b6
commit 4fa33c0bc2
4 changed files with 39 additions and 17 deletions

View File

@ -79,7 +79,10 @@ class preferences:
return self.preferences
else:
tmpdict = self.find_key(self.preferences, preference)
return tmpdict[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

View File

@ -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", "")

View File

@ -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 = ""
@ -51,7 +55,7 @@ class sieveTest(unittest.TestCase):
for (script, isActive) in sieveScriptList:
if (script == "sogo"):
sieveFoundsogo=1
sieveFoundsogo=1
self.assertEqual(isActive, True, "sogo sieve script is not active!")
(ret, createdSieveScript) = self.ms.getscript(script)
self.assertEqual(ret, "OK", "Couldn't get sogo sieve script")
@ -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)

View File

@ -2164,8 +2164,9 @@ static NSArray *reminderValues = nil;
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Connection error", @"textStatus", nil]];
}
}
results = [self responseWithStatus: 503
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Service temporarily unavailable", @"textStatus", nil]];
else
results = [self responseWithStatus: 503
andJSONRepresentation: [NSDictionary dictionaryWithObjectsAndKeys: @"Service temporarily unavailable", @"textStatus", nil]];
}
}