def test_create_two_workspaces_same_name_different_user(self): # Context number_workspace = len(workspace_api.get_all()) user1 = UserFixtures().create_user(username="******") user2 = UserFixtures().create_user(username="******") # Act workspace_api.create_and_save(TITLE_1, user1.id) workspace_api.create_and_save(TITLE_1, user2.id) # Assert self.assertEqual(number_workspace + 2, len(workspace_api.get_all()))
def test_create_two_workspaces_same_name_different_case_same_user(self): # Context user1 = UserFixtures().create_user() # Act workspace_api.create_and_save(TITLE_1, user1.id) with self.assertRaises(exceptions.NotUniqueError): workspace_api.create_and_save(TITLE_1.upper(), user1.id)
def test_create_one_workspace(self): # Context user1 = UserFixtures().create_user() # Act workspace = workspace_api.create_and_save(TITLE_1, user1.id) # Assert self.assertEqual(workspace.title, TITLE_1) self.assertEqual(workspace.owner, str(user1.id))
def setUp(self): """Insert needed data. Returns: """ super().setUp() self.fixture.insert_data() self.fixture.generate_workspace_with_perm() self.admin_user = UserFixtures().create_super_user("admin")
def setUp(self): super(TestExecuteLocalQueryViewWorkspaceCase, self).setUp() self.data = {"all": "true"} # create user with superuser access to skip access control self.user = create_mock_user("1", is_superuser=True) self.user2 = UserFixtures().create_user() self.user2.id = self.fixture.data_4.user_id
def test_create_super_user(self): # Context user_count = len(user_api.get_all_users()) self.assertEqual(user_count, 0) # Act UserFixtures().create_super_user(username="******") # Assert list_user = user_api.get_all_users() self.assertEqual(list_user[0].username, "test username") self.assertEqual(len(list_user), user_count + 1) self.assertTrue(list_user[0].is_superuser)
def test_get_returns_correct_permissions_if_user_is_not_owner( self, data_get_by_id): # Arrange user_request = UserFixtures().create_user("no_owner_user", is_staff=True) data = self.fixture.data_4 data_get_by_id.return_value = data # Act response = RequestMock.do_request_get( data_rest_views.DataPermissions.as_view(), user_request, data={"ids": f'["{data.id}"]'}, ) # Assert excepted_result = {} excepted_result[str(data.id)] = False self.assertEqual(response.data, excepted_result)
def test_get_if_user_has_write_permission_in_workspace( self, data_get_by_id): # Arrange user_request = UserFixtures().create_user("write_user") data = self.fixture.data_collection[self.fixture.USER_2_WORKSPACE_2] data_get_by_id.return_value = data workspace_api.add_user_write_access_to_workspace( self.fixture.workspace_2, user_request, self.admin_user) # Act response = RequestMock.do_request_get( data_rest_views.DataPermissions.as_view(), user_request, data={"ids": f'["{data.id}"]'}, ) # Assert excepted_result = {} excepted_result[str(data.id)] = True self.assertEqual(response.data, excepted_result)
def test_get_returns_correct_permissions_if_user_is_owner( self, data_get_by_id): # Arrange user_request = UserFixtures().create_user("owner_user", is_staff=True) data = copy(self.fixture.data_3) # do not alter the fixture object data.user_id = str(user_request.id) data.workspace = None data_get_by_id.return_value = data # Act response = RequestMock.do_request_get( data_rest_views.DataPermissions.as_view(), user_request, data={"ids": f'["{data.id}"]'}, ) # Assert excepted_result = {} excepted_result[str(data.id)] = True self.assertEqual(response.data, excepted_result)
""" Integration Test for User Rest API """ from rest_framework.status import HTTP_404_NOT_FOUND from core_main_app.rest.user import views as user_rest_views from core_main_app.utils.integration_tests.integration_base_transaction_test_case import ( MongoIntegrationTransactionTestCase, ) from core_main_app.utils.tests_tools.MockUser import create_mock_user from core_main_app.utils.tests_tools.RequestMock import RequestMock from tests.components.user.fixtures.fixtures import UserFixtures user_fixture = UserFixtures() class TestUserDetail(MongoIntegrationTransactionTestCase): def setUp(self): super(TestUserDetail, self).setUp() def test_get_returns_correct_user(self): # Arrange user = user_fixture.create_user() mock_user = create_mock_user("1", is_staff=True) # Act response = RequestMock.do_request_get( user_rest_views.UserRetrieveUpdateView.as_view(), mock_user, param={"pk": user.id}, ) # Assert