make the tests more robust when data is invalid in DB/Webdav
parent
bf390f17dd
commit
bba0d6f44d
|
@ -70,7 +70,11 @@ class Carddav:
|
||||||
if not self.cards:
|
if not self.cards:
|
||||||
url = "/SOGo/so/%s/Contacts/personal/view" % (self.login)
|
url = "/SOGo/so/%s/Contacts/personal/view" % (self.login)
|
||||||
content = self._get(url)
|
content = self._get(url)
|
||||||
self.cards = content['cards']
|
#print "\nCONTENT:", content
|
||||||
|
if 'cards' in content:
|
||||||
|
self.cards = content['cards']
|
||||||
|
else:
|
||||||
|
self.cards = []
|
||||||
return self.cards
|
return self.cards
|
||||||
|
|
||||||
def get_cards(self, pattern):
|
def get_cards(self, pattern):
|
||||||
|
|
|
@ -85,6 +85,13 @@ class JsonDavPhoneTests(unittest.TestCase):
|
||||||
self.allphones = list(self.newphone)
|
self.allphones = list(self.newphone)
|
||||||
self.allphones.extend(self.newphones_difftype)
|
self.allphones.extend(self.newphones_difftype)
|
||||||
self.allphones.extend(self.newphones_sametype)
|
self.allphones.extend(self.newphones_sametype)
|
||||||
|
#- In case there are no cards for this user
|
||||||
|
try:
|
||||||
|
self._get_card()
|
||||||
|
except IndexError:
|
||||||
|
path = 'Contacts/personal'
|
||||||
|
(card, path, gid) = self._create_new_card(path)
|
||||||
|
self._save_card(card)
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
self._connect_as_user()
|
self._connect_as_user()
|
||||||
|
@ -102,6 +109,23 @@ class JsonDavPhoneTests(unittest.TestCase):
|
||||||
def _connect_as_user(self, newuser=username, newpassword=password):
|
def _connect_as_user(self, newuser=username, newpassword=password):
|
||||||
self.dv = carddav.Carddav(newuser, newpassword)
|
self.dv = carddav.Carddav(newuser, newpassword)
|
||||||
|
|
||||||
|
def _create_new_card(self, path):
|
||||||
|
gid = self.dv.newguid(path)
|
||||||
|
card = {'c_categories': None,
|
||||||
|
'c_cn': 'John Doe',
|
||||||
|
'c_component': 'vcard',
|
||||||
|
'c_givenname': 'John Doe',
|
||||||
|
'c_mail': 'johndoe@nothere.com',
|
||||||
|
'c_name': gid,
|
||||||
|
'c_o': '',
|
||||||
|
'c_screenname': '',
|
||||||
|
'c_sn': '',
|
||||||
|
'c_telephonenumber': '123.456.7890',
|
||||||
|
'emails': [{'type': 'pref', 'value': 'johndoe@nothere.com'}],
|
||||||
|
'phones': [{'type': 'home', 'value': '111.222.3333'}],
|
||||||
|
'id': gid}
|
||||||
|
return (card, path, gid)
|
||||||
|
|
||||||
def _get_card(self, name="John Doe"):
|
def _get_card(self, name="John Doe"):
|
||||||
tmp_card = self.dv.get_cards(name)[0]
|
tmp_card = self.dv.get_cards(name)[0]
|
||||||
self.card = self.dv.get_card(tmp_card['c_name'])
|
self.card = self.dv.get_card(tmp_card['c_name'])
|
||||||
|
|
Loading…
Reference in New Issue