def test_update_entity_is_working_properly(self): """testing if update_entity() method is working properly """ from stalker_pyramid.testing import DummyRequest, DummyMultiDict request = DummyRequest() request.matchdict['id'] = self.test_group1.id request.params = DummyMultiDict() request.params['name'] = 'New Group Name' request.params['user_id'] = [self.test_user1.id, self.test_user2.id] request.params['description'] = 'New description' request.params['permission'] = \ ['%s_%s_%s' % (p.access, p.action, p.class_name) for p in self.all_permissions[0:5]] group_view = group.GroupViews(request) self.patch_logged_in_user(request) response = group_view.update_entity() # get group1 from db from stalker import Group test_group1_db = Group.query.get(self.test_group1.id) self.assertEqual(test_group1_db.name, 'New Group Name') self.assertEqual( sorted(test_group1_db.users), sorted([self.test_user1, self.test_user2]) ) self.assertEqual(test_group1_db.description, 'New description') self.assertEqual( sorted(test_group1_db.permissions), sorted(self.all_permissions[0:5]) )
def test_delete_entity_is_working_properly(self): """testing if delete_entity() method is working properly """ from stalker_pyramid.testing import DummyRequest request = DummyRequest() request.matchdict['id'] = self.test_group1.id group_view = group.GroupViews(request) response = group_view.delete_entity() from stalker import Group self.assertIsNone( Group.query.filter(Group.name == self.test_group1.name).first() )
def test_remove_users_is_working_properly(self): """testing if remove_users() method is working properly """ from stalker_pyramid.testing import DummyRequest, DummyMultiDict request = DummyRequest() request.matchdict['id'] = self.test_group1.id request.params = DummyMultiDict() request.params['user_id'] = [self.test_user2.id] group_view = group.GroupViews(request) response = group_view.remove_users() from stalker import Group test_group1_db = Group.query.get(self.test_group1.id) self.assertEqual( sorted(test_group1_db.users), sorted([self.test_user1]) )
def test_get_users_is_working_properly(self): """testing if get_users() method is working properly """ from stalker_pyramid.testing import DummyRequest request = DummyRequest() request.matchdict['id'] = self.test_group1.id group_view = group.GroupViews(request) response = group_view.get_users() self.assertEqual( sorted(response.json_body), sorted([ { 'id': u.id, 'name': u.name, 'entity_type': 'User', '$ref': '/api/users/%s' % u.id } for u in [self.test_user1, self.test_user2] ]) )
def test_get_entities_is_working_properly(self): """testing if get_entities() method is working properly """ from stalker_pyramid.testing import DummyRequest request = DummyRequest() group_view = group.GroupViews(request) response = group_view.get_entities() from stalker import Group self.assertEqual( sorted(response.json_body), sorted([ { 'id': g.id, 'name': g.name, 'entity_type': 'Group', '$ref': '/api/groups/%s' % g.id } for g in Group.query.all() ]) )
def test_update_users_is_working_properly_with_post(self): """testing if update_users() method is working properly with request method is post """ from stalker_pyramid.testing import DummyRequest, DummyMultiDict request = DummyRequest() request.matchdict['id'] = self.test_group1.id request.params = DummyMultiDict() request.params['user_id'] = [self.test_user2.id, self.test_user3.id] request.method = 'POST' group_view = group.GroupViews(request) response = group_view.update_users() from stalker import Group test_group1_db = Group.query.get(self.test_group1.id) self.assertEqual( sorted(test_group1_db.users), sorted([self.test_user2, self.test_user3]) )
def test_create_entity_is_working_properly(self): """testing if create_entity() method is working properly """ from stalker_pyramid.testing import DummyRequest, DummyMultiDict request = DummyRequest() request.params = DummyMultiDict() request.params['name'] = 'New Group' request.params['description'] = 'This is a new test group' request.params['user_id'] = [self.test_user1.id, self.test_user3.id] request.params['permission'] = \ ['%s_%s_%s' % (p.access, p.action, p.class_name) for p in self.all_permissions[4:10]] request.params['created_by_id'] = self.test_user2.id group_view = group.GroupViews(request) response = group_view.create_entity() # get the new group from db import stalker from stalker import Group from stalker_pyramid.views import EntityViewBase new_group = Group.query.filter(Group.name == 'New Group').first() self.maxDiff = None self.assertEqual( response.json_body, { 'created_by': { 'id': self.test_user2.id, '$ref': '/api/users/%s' % self.test_user2.id, 'name': self.test_user2.name, 'entity_type': 'User' }, 'date_created': EntityViewBase.milliseconds_since_epoch(new_group.date_created), 'date_updated': EntityViewBase.milliseconds_since_epoch(new_group.date_updated), 'description': 'This is a new test group', 'entity_type': 'Group', 'generic_data': { '$ref': '/api/simple_entities/%s/generic_data' % new_group.id, 'length': 0 }, 'generic_text': '', 'id': new_group.id, 'name': 'New Group', 'notes': { '$ref': '/api/entities/%s/notes' % new_group.id, 'length': 0 }, 'permissions': [ '%s_%s_%s' % (p.access, p.action, p.class_name) for p in self.all_permissions[4:10] ], 'stalker_version': stalker.__version__, 'tags': { '$ref': '/api/entities/%s/tags' % new_group.id, 'length': 0 }, 'thumbnail': None, 'type': None, 'updated_by': { 'id': self.test_user2.id, '$ref': '/api/users/%s' % self.test_user2.id, 'name': self.test_user2.name, 'entity_type': 'User' }, 'users': { '$ref': '/api/groups/%s/users' % new_group.id, 'length': 2 } } )
def test_get_entity_is_working_properly(self): """testing if get_entity() method is working properly """ from stalker_pyramid.testing import DummyRequest request = DummyRequest() request.matchdict['id'] = self.test_group1.id group_view = group.GroupViews(request) response = group_view.get_entity() import stalker from stalker_pyramid.views import EntityViewBase self.maxDiff = None self.assertEqual( response.json_body, { 'created_by': { 'id': self.admin.id, '$ref': '/api/users/%s' % self.admin.id, 'name': self.admin.name, 'entity_type': 'User' }, 'date_created': EntityViewBase.milliseconds_since_epoch( self.test_group1.date_created ), 'date_updated': EntityViewBase.milliseconds_since_epoch( self.test_group1.date_updated ), 'description': '', 'entity_type': 'Group', 'generic_data': { '$ref': '/api/simple_entities/%s/generic_data' % self.test_group1.id, 'length': 0 }, 'generic_text': '', 'id': self.test_group1.id, 'name': 'Test Group', 'notes': { '$ref': '/api/entities/%s/notes' % self.test_group1.id, 'length': 0 }, 'permissions': [ 'Allow_Create_User', 'Allow_Read_User', 'Allow_Update_User', 'Deny_Delete_User' ], 'stalker_version': stalker.__version__, 'tags': { '$ref': '/api/entities/%s/tags' % self.test_group1.id, 'length': 0 }, 'thumbnail': None, 'type': None, 'updated_by': { 'id': self.admin.id, '$ref': '/api/users/%s' % self.admin.id, 'name': self.admin.name, 'entity_type': 'User' }, 'users': { '$ref': '/api/groups/%s/users' % self.test_group1.id, 'length': 2 } } )