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:
|
||||
url = "/SOGo/so/%s/Contacts/personal/view" % (self.login)
|
||||
content = self._get(url)
|
||||
#print "\nCONTENT:", content
|
||||
if 'cards' in content:
|
||||
self.cards = content['cards']
|
||||
else:
|
||||
self.cards = []
|
||||
return self.cards
|
||||
|
||||
def get_cards(self, pattern):
|
||||
|
|
|
@ -85,6 +85,13 @@ class JsonDavPhoneTests(unittest.TestCase):
|
|||
self.allphones = list(self.newphone)
|
||||
self.allphones.extend(self.newphones_difftype)
|
||||
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):
|
||||
self._connect_as_user()
|
||||
|
@ -102,6 +109,23 @@ class JsonDavPhoneTests(unittest.TestCase):
|
|||
def _connect_as_user(self, newuser=username, newpassword=password):
|
||||
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"):
|
||||
tmp_card = self.dv.get_cards(name)[0]
|
||||
self.card = self.dv.get_card(tmp_card['c_name'])
|
||||
|
|
Loading…
Reference in New Issue