def get_valid_group(id, name): """ Returns a valid group object """ group = Group() group.id = id group.name = name return group
def test_contains(self): """ Fetcher contains object """ user = User() group1 = Group(id='xxxx-xxxx-xxx', name="group1") group2 = Group(id='yyyy-yyyy-yyy', name="group2") group3 = Group(id='zzzz-zzzz-zzz', name="group3") user.add_child(group1) user.add_child(group2) self.assertEquals(group1 in user.groups, True) self.assertEquals(group2 in user.groups, True) self.assertEquals(group3 in user.groups, False)
def test_index(self): """ Fetcher index object """ user = User() group1 = Group(id='xxxx-xxxx-xxx', name="group1") group2 = Group(id='yyyy-yyyy-yyy', name="group2") group3 = Group(id='zzzz-zzzz-zzz', name="group3") user.add_child(group1) user.add_child(group2) self.assertEquals(user.groups.index(group1), 0) self.assertEquals(user.groups.index(group2), 1) with self.assertRaises(ValueError): user.groups.index(group3)
def add_users_to_new_groups(session, users): groups = [ Group(name='group_1'), Group(name='group_2'), Group(name='group_3'), ] session.bulk_save_objects(groups, return_defaults=True) session.flush() memberships = [ Membership( user_id=users[0].id, creator_username=users[0].username, group_id=groups[0].id, ), Membership( user_id=users[0].id, creator_username=users[0].username, group_id=groups[1].id, is_moderator=True, ), Membership( user_id=users[0].id, creator_username=users[0].username, group_id=groups[2].id, ), Membership( user_id=users[1].id, creator_username=users[0].username, group_id=groups[0].id, is_moderator=True, ), Membership( user_id=users[1].id, creator_username=users[1].username, group_id=groups[1].id, ), Membership( user_id=users[1].id, creator_username=users[1].username, group_id=groups[2].id, ), ] session.bulk_save_objects(memberships, return_defaults=True) session.flush() return groups
def test_flush(self): """ Flush fetcher """ user = User() group1 = Group(name="group1") group2 = Group(name="group2") group3 = Group(name="group3") user.add_child(group1) user.add_child(group2) user.groups.append(group3) self.assertEquals(user.groups, [group1, group2, group3]) user.groups.flush() self.assertEquals(user.groups, [])
def add_groups(session, with_parent_group=False): parent_group_id = None if with_parent_group: parent_group = Group(name='parent') session.add(parent_group) session.flush() parent_group_id = parent_group.id groups = [ Group(name='group_1', parent_group_id=parent_group_id), Group(name='group_2', parent_group_id=parent_group_id), Group(name='group_3', parent_group_id=parent_group_id), ] session.bulk_save_objects(groups, return_defaults=True) session.flush() return groups
def test_parents_relationship(self): """ Test is parent obects are correctly set""" user = User() group1 = Group(id='xxxx-xxxx-xxx', name="group1") user.add_child(group1) self.assertEquals(group1.parent_object, user) user.remove_child(group1) self.assertEquals(group1.parent_object, None) user.add_child(group1) updated_group = Group(id='xxxx-xxxx-xxx', name="group-updated") user.update_child(updated_group) self.assertEquals(user.groups[0], updated_group) self.assertEquals(user.groups[0].name, 'group-updated') with self.assertRaises(InternalConsitencyError): user.add_child(user)
def test_to_dict(self): """ Get object as dictionary """ enterprise = Enterprise() enterprise.id = 3 enterprise.name ="NewEnterprise" # List of objects admingroup = Group() admingroup.name = "Admins" othergroup = Group() othergroup.name = "Others" enterprise.groups = [admingroup, othergroup] # Object ceo = User() ceo.firstname = 'John' ceo.lastname = 'Doe' enterprise.ceo = ceo to_dict = enterprise.to_dict() self.assertEquals(sorted(to_dict.keys()), sorted(['groups', 'token', 'lastUpdatedDate', 'allowedForwardingClasses', 'name', 'ceo', 'parentType', 'parentID', 'owner', 'creationDate', 'ID', 'description'])) self.assertEquals(to_dict['name'], 'NewEnterprise') self.assertEquals(to_dict['ID'], 3) #self.assertEquals(to_dict['externalID'], None) #self.assertEquals(to_dict['localID'], None) self.assertEquals(to_dict['parentID'], None) self.assertEquals(to_dict['parentType'], None) self.assertEquals(to_dict['owner'], None) self.assertEquals(to_dict['creationDate'], None) self.assertEquals(to_dict['ceo'], { 'APIKey': None, 'APIKeyExpiry': None, 'ID': None, 'avatarData': None, 'avatarType': None, 'creationDate': None, 'email': None, 'enterpriseID': None, 'enterpriseName': None, 'firstName': 'John', 'lastName': 'Doe', 'owner': None, 'parentID': None, 'parentType': None, 'password': None, 'role': None, 'userName': None, 'lastUpdatedDate': None }) self.assertEquals(to_dict['groups'], [{ 'ID': None, 'creationDate': None, 'lastUpdatedDate': None, 'name': 'Admins', 'owner': None, 'parentID': None, 'parentType': None }, { 'ID': None, 'creationDate': None, 'lastUpdatedDate': None, 'name': 'Others', 'owner': None, 'parentID': None, 'parentType': None }])
''' creates a test database ''' from tests.models import db, Group, Company, Employee from faker import Faker ######################################## fake = Faker() db.drop_all() db.create_all() ######################################## GROUP1 = Group.create(abbr='HRM') GROUP2 = Group.create(abbr='R&D') COMPANY = Company.create(name=fake.company()) PERSON1 = Employee.create(email=fake.simple_profile()['mail'], company=COMPANY) PERSON2 = Employee.create(email=fake.simple_profile()['mail'], company=COMPANY) PERSON1.groups.append(GROUP1) PERSON2.groups.append(GROUP2) print(COMPANY)