diff --git a/test.py b/test.py index cd4a12f..a7a96ed 100755 --- a/test.py +++ b/test.py @@ -37,16 +37,30 @@ machine_ldif = { club_ldif = { 'nom' : [ 'autotest-club' ], 'chbre' : [ 'EXT' ], - 'controle' : ['p'], } facture_ldif = {} -def keys_of_list_of_dict(l): +def keys_of_list_of_dict(l, type=''): keys = set() + if l: + anime=anim("Test des objets %r" % type, len(l)) + anime.reinit() + ok=True for item in l: - keys = keys.union(item.keys()) + keys = keys.union(item.attrs.keys()) + try: + if item.mode in ['w', 'rw']: + item.save() + except Exception as error: + anime.reinit() + print ERREUR + if show_traceback: print traceback.format_exc() + else: print "\t%r" % error + ok = False + anime.cycle() + if l: print OK if ok else ERREUR keys = list(keys) keys.sort() return keys @@ -106,18 +120,28 @@ print u"Tests effectués avec les droits %s " % ', '.join(conn.droits) # les adhérents et de toutes les machines # ############################################### -print "Appel de allMachinesAdherents" -machines, adherents = conn.allMachinesAdherents() - -anim("Recuperation des attributs des machines") -machines_attrs_keys = keys_of_list_of_dict([m.attrs for m in machines]) -print OK +anim("Appel de allMachinesAdherents en rw") +try: + machines, adherents = conn.allMachinesAdherents(mode='rw') +except EnvironmentError as error: + print ERREUR + if show_traceback: print traceback.format_exc() + else: print "\t%s" % error + exit(1) +except Exception as error: + print ERREUR + if show_traceback: print traceback.format_exc() + else: print "\t%r" % error + anim("Fallback en ro") + machines, adherents = conn.allMachinesAdherents() + print OK +else: + print OK +machines_attrs_keys = keys_of_list_of_dict(machines, 'machines') print "Test des attributs des machines" test_list_of_dict(machines_attrs_keys, machines) -anim("Recuperation des attributs des adherents") -adherents_attrs_keys = keys_of_list_of_dict([a.attrs for a in adherents]) -print OK +adherents_attrs_keys = keys_of_list_of_dict(adherents, 'adherents') print "Test des attributs des adhérents" test_list_of_dict(adherents_attrs_keys, adherents)