def test_group_with_one_parent(self): """ Instanciate a Bonita group with one parent """ # Build up parent and child XML parent_xml = build_bonita_group_xml('parent uuid','parent name','parent description','parent label','12',None, True) child_xml = build_bonita_group_xml('group uuid','group name',description='a desc',label='a label') # Add the parent XML to the Child parent_soup = BeautifulSoup(parent_xml,'xml').parentGroup child_soup = BeautifulSoup(child_xml,'xml') child_soup.Group.append(parent_soup) xml = unicode(child_soup.Group) group = BonitaGroup._instanciate_from_xml(xml) assert isinstance(group,BonitaGroup) assert group.uuid == u'group uuid' assert group.name == u'group name' assert group.description == u'a desc' assert group.label == u'a label' assert group.parent is not None assert isinstance(group.parent, BonitaGroup) assert group.parent.uuid == u'parent uuid' assert group.parent.parent is None
def test_group_without_parent(self): """ Instanciate a Bonita group without any parent """ xml = build_bonita_group_xml('group uuid','group name',description='a desc',label='a label') group = BonitaGroup._instanciate_from_xml(xml) assert isinstance(group,BonitaGroup) assert group.uuid == u'group uuid' assert group.name == u'group name' assert group.description == u'a desc' assert group.label == u'a label' assert group.parent is None
def test_group_with_several_parents(self): """ Instanciate a Boinita group with a hierarchy of parents """ # Build up parents and child XML parentA_xml = build_bonita_group_xml('parentA uuid','parentA name','parentA description','parentA label','vieux-1',None, True) parentB_xml = build_bonita_group_xml('parentB uuid','parentB name','parentB description','parentB label','vieux-2',None, True) parentC_xml = build_bonita_group_xml('parentC uuid','parentC name','parentC description','parentC label','vieux-3',None, True) child_xml = build_bonita_group_xml('group uuid','group name',description='a desc',label='a label') # Add the hierachy of parents to the Child parentA_soup = BeautifulSoup(parentA_xml,'xml').parentGroup parentB_soup = BeautifulSoup(parentB_xml,'xml').parentGroup parentC_soup = BeautifulSoup(parentC_xml,'xml').parentGroup parentB_soup.append(parentC_soup) parentA_soup.append(parentB_soup) child_soup = BeautifulSoup(child_xml,'xml') child_soup.Group.append(parentA_soup) xml = unicode(child_soup.Group) group = BonitaGroup._instanciate_from_xml(xml) assert isinstance(group,BonitaGroup) assert group.uuid == u'group uuid' assert group.name == u'group name' assert group.description == u'a desc' assert group.label == u'a label' assert group.parent is not None assert isinstance(group.parent, BonitaGroup) assert group.parent.uuid == u'parentA uuid' assert group.parent.parent is not None assert isinstance(group.parent.parent, BonitaGroup) assert group.parent.parent.uuid == u'parentB uuid' assert group.parent.parent.parent is not None assert isinstance(group.parent.parent.parent, BonitaGroup) assert group.parent.parent.parent.uuid == u'parentC uuid'
def test_invalid_xml(self): """ Try to instanciate a BonitaGroup from invalid XML """ xml = '<coucou>une valeur</coucou>' group = BonitaGroup._instanciate_from_xml(xml)
def test_group_with_several_parents(self): """ Instanciate a Boinita group with a hierarchy of parents """ xml = '' group = BonitaGroup._instanciate_from_xml(xml)