コード例 #1
0
    def test_get_all_permissions_ok_response(
        self, mock_permission_repo_get_unpaginated
    ):
        """Test get_all_permissions OK response."""
        # Arrange
        with self.app.app_context():
            mock_permission = Permission(
                id=1,
                created_at=datetime.now(),
                updated_at=datetime.now(),
                role_id=1,
                name="Mock permission",
                keyword="mock",
            )
            mock_permission_repo_get_unpaginated.return_value = [
                mock_permission,
            ]
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.get_all_permissions()

            # Assert
            assert result.status_code == 200
            assert result.get_json()["msg"] == "OK"
コード例 #2
0
    def test_update_permission_ok_response(
        self,
        mock_permission_repo_get,
        mock_role_controller_request_params,
        mock_permission_repo_find_first,
        mock_role_repo_update,
    ):
        """Test update_permission when permission already updated."""
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (1, "name", "keyword")
            mock_permission = Permission(
                id=1,
                created_at=datetime.now(),
                updated_at=datetime.now(),
                role_id=1,
                name="Mock permission",
                keyword="mock",
            )
            mock_permission_repo_get.return_value = mock_permission
            mock_permission_repo_find_first.return_value = None
            mock_role_repo_update.return_value = self.mock_role
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.update_permission(1)

            # Assert
            assert result.status_code == 200
            assert result.get_json()["msg"] == "OK"
コード例 #3
0
    def test_create_user_role_ok_response(
        self,
        mock_user_repo_find_first,
        mock_role_controller_request_params,
        mock_auth_get_location,
        mock_user_role_repo_get_unpaginated,
        mock_role_repo_get,
        mock_user_role_repo_new_user_role,
    ):
        """Test create_user_role when user is already assigned to the role."""
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (1, "*****@*****.**")

            mock_auth_get_location.return_value = 1
            mock_user_repo_find_first.return_value = self.mock_user
            mock_user_role_repo_get_unpaginated.return_value = None
            mock_role_repo_get.return_value = self.mock_role
            mock_user_role_repo_new_user_role.return_value = self.mock_user_role
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.create_user_role()

            # Assert
            assert result.status_code == 201
            assert result.get_json()["msg"] == "OK"
コード例 #4
0
    def test_update_permission_ok_response(self, mock_permission_repo_get,
                                           mock_role_controller_request_params,
                                           mock_permission_repo_find_first,
                                           mock_role_repo_update):
        '''Test update_permission when permission already updated.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (1, 'name',
                                                                'keyword')
            mock_permission = Permission(id=1,
                                         created_at=datetime.now(),
                                         updated_at=datetime.now(),
                                         role_id=1,
                                         name='Mock permission',
                                         keyword='mock')
            mock_permission_repo_get.return_value = mock_permission
            mock_permission_repo_find_first.return_value = None
            mock_role_repo_update.return_value = self.mock_role
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.update_permission(1)

            # Assert
            assert result.status_code == 200
            assert result.get_json()['msg'] == 'OK'
コード例 #5
0
    def test_create_role_permission_ok_response(
            self, mock_role_repo_get, mock_permission_repo_get_unpaginated,
            mock_role_controller_request_params,
            mock_permission_repo_new_permission):
        '''Test create_role_permission OK response.
        '''
        # Arrange
        with self.app.app_context():
            mock_permission = Permission(id=1,
                                         created_at=datetime.now(),
                                         updated_at=datetime.now(),
                                         role_id=1,
                                         name='Mock permission',
                                         keyword='mock')
            mock_role_repo_get.return_value = self.mock_role
            mock_permission_repo_get_unpaginated.return_value = None
            mock_role_controller_request_params.return_value = (1, 'name',
                                                                'keyword')
            mock_permission_repo_new_permission.return_value = mock_permission
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.create_role_permission()

            # Assert
            assert result.status_code == 201
            assert result.get_json()['msg'] == 'OK'
コード例 #6
0
    def test_create_user_role_when_user_already_assigned_to_role(
            self, mock_andela_service_get_user,
            mock_role_controller_request_params, mock_auth_get_location,
            mock_user_role_repo_get_unpaginated):
        '''Test create_user_role when user is already assigned to the role.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (
                1, '*****@*****.**')
            mock_andela_service_get_user.return_value = {
                'id': 1,
                'mail': '*****@*****.**'
            }
            mock_auth_get_location.return_value = 1
            mock_user_role_repo_get_unpaginated.return_value = \
                self.mock_user_role
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.create_user_role()

            # Assert
            assert result.status_code == 400
            assert result.get_json()['msg'] == 'This User ' \
                'has this Role already'
コード例 #7
0
    def test_create_user_role_ok_response(self, mock_andela_service_get_user,
                                          mock_role_controller_request_params,
                                          mock_auth_get_location,
                                          mock_user_role_repo_get_unpaginated,
                                          mock_role_repo_get,
                                          mock_user_role_repo_new_user_role):
        '''Test create_user_role when user is already assigned to the role.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (
                1, '*****@*****.**')
            mock_andela_service_get_user.return_value = {
                'id': 1,
                'mail': '*****@*****.**'
            }
            mock_auth_get_location.return_value = 1
            mock_user_role_repo_get_unpaginated.return_value = None
            mock_role_repo_get.return_value = self.mock_role
            mock_user_role_repo_new_user_role.return_value = \
                self.mock_user_role
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.create_user_role()

            # Assert
            assert result.status_code == 201
            assert result.get_json()['msg'] == 'OK'
コード例 #8
0
    def test_create_role_permission_ok_response(
        self,
        mock_role_repo_get,
        mock_permission_repo_get_unpaginated,
        mock_role_controller_request_params,
        mock_permission_repo_new_permission,
    ):
        """Test create_role_permission OK response."""
        # Arrange
        with self.app.app_context():
            mock_permission = Permission(
                id=1,
                created_at=datetime.now(),
                updated_at=datetime.now(),
                role_id=1,
                name="Mock permission",
                keyword="mock",
            )
            mock_role_repo_get.return_value = self.mock_role
            mock_permission_repo_get_unpaginated.return_value = None
            mock_role_controller_request_params.return_value = (1, "name", "keyword")
            mock_permission_repo_new_permission.return_value = mock_permission
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.create_role_permission()

            # Assert
            assert result.status_code == 201
            assert result.get_json()["msg"] == "OK"
コード例 #9
0
    def test_get_single_permission_ok_response(self,
                                               mock_permission_repo_filter_by):
        '''Test get_single_permission OK response.
        '''
        # Arrange
        with self.app.app_context():
            mock_permission = Permission(id=1,
                                         created_at=datetime.now(),
                                         updated_at=datetime.now(),
                                         role_id=1,
                                         name='Mock permission',
                                         keyword='mock')
            mock_permission_item = MagicMock()
            mock_permission_item.items.return_value = mock_permission

            mock_permission_repo_filter_by.return_value = mock_permission_item

            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.get_single_permission(1, 1)

            # Assert
            assert result.status_code == 200
            assert result.get_json()['msg'] == 'OK'
コード例 #10
0
    def test_get_role_when_invalid_or_missing(self, mock_role_repo_get):
        """Test get_role invalid repo response."""
        # Arrange
        with self.app.app_context():
            mock_role_repo_get.return_value = None
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.get_role(1)

            # Assert
            assert result.status_code == 400
            assert result.get_json()["msg"] == "Invalid or Missing role_id"
コード例 #11
0
    def test_get_role_ok_response(self, mock_role_repo_get):
        """Test get_role OK response."""
        # Arrange
        with self.app.app_context():
            mock_role_repo_get.return_value = self.mock_role
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.get_role(1)

            # Assert
            assert result.status_code == 200
            assert result.get_json()["msg"] == "OK"
コード例 #12
0
    def test_delete_role_ok_response(self, mock_role_repo_update, mock_role_repo_get):
        """Test delete_role when the role is invalid."""
        # Arrange
        with self.app.app_context():
            mock_role_repo_get.return_value = self.mock_role
            mock_role_repo_update.return_value = self.mock_role
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.delete_role(1)

            # Assert
            assert result.status_code == 200
            assert result.get_json()["msg"] == "role deleted"
コード例 #13
0
    def test_get_user_roles_when_user_has_no_roles(
        self, mock_user_role_repo_get_unpaginated
    ):
        """Test get_user_roles when the user has no roles."""
        # Arrange
        with self.app.app_context():
            mock_user_role_repo_get_unpaginated.return_value = None
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.get_user_roles(1)

            # Assert
            assert result.status_code == 404
            assert result.get_json()["msg"] == "There are no roles for this user"
コード例 #14
0
    def test_get_user_roles_ok_response(self, mock_user_role_repo_get_unpaginated):
        """Test get_user_roles OK response."""
        # Arrange
        with self.app.app_context():
            mock_user_role_repo_get_unpaginated.return_value = [
                self.mock_user_role,
            ]
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.get_user_roles(1)

            # Assert
            assert result.status_code == 200
            assert result.get_json()["msg"] == "OK"
コード例 #15
0
    def test_delete_role_when_role_is_invalid(self, mock_role_repo_get):
        '''Test delete_role when the role is invalid.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_repo_get.return_value = None
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.delete_role(1)

            # Assert
            assert result.status_code == 404
            assert result.get_json()['msg'] == 'Invalid or incorrect ' \
                'role_id provided'
コード例 #16
0
    def test_delete_user_role_ok_response(self, mock_user_role_repo_get,
                                          mock_user_role_repo_update):
        '''Test delete_user_role when the role does not exist.
        '''
        # Arrange
        with self.app.app_context():
            mock_user_role_repo_get.return_value = self.mock_user_role
            mock_user_role_repo_update.return_value = self.mock_user_role
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.delete_user_role(1)

            # Assert
            assert result.status_code == 200
            assert result.get_json()['msg'] == 'user_role deleted for user'
コード例 #17
0
    def test_delete_user_role_when_role_doesnot_exist(self, mock_user_role_repo_get):
        """Test delete_user_role when the role does not exist."""
        # Arrange
        with self.app.app_context():
            mock_user_role_repo_get.return_value = None
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.delete_user_role(1)

            # Assert
            assert result.status_code == 404
            assert (
                result.get_json()["msg"] == "Invalid or incorrect "
                "user_role_id provided"
            )
コード例 #18
0
    def test_delete_role_permission_when_permission_doesnot_exist(
            self, mock_permission_repo_get):
        '''Test delete_role_permission when permission doesn't exist.
        '''
        # Arrange
        with self.app.app_context():
            mock_permission_repo_get.return_value = None
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.delete_role_permission(1)

            # Assert
            assert result.status_code == 404
            assert result.get_json()['msg'] == 'Invalid or incorrect ' \
                'permission id provided'
コード例 #19
0
    def test_update_role_when_role_doesnot_exist(
            self, mock_role_repo_get, mock_role_controller_request_params):
        '''Test update_role when role doesn't exist.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_repo_get.return_value = None
            mock_role_controller_request_params.return_value = (None, None)
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.update_role(1)

            # Assert
            assert result.status_code == 400
            assert result.get_json()['msg'] == 'Invalid or incorrect ' \
                'role_id provided'
コード例 #20
0
    def test_create_role_ok_response(self, mock_role_repo_find_first,
                                     mock_role_controller_request_params):
        '''Test create_role OK response.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = ('Mock name',
                                                                'Mock help')
            mock_role_repo_find_first.return_value = None
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.create_role()

            # Assert
            assert result.status_code == 201
            assert result.get_json()['msg'] == 'OK'
コード例 #21
0
    def test_update_role_ok_response(self, mock_role_repo_get,
                                     mock_role_controller_request_params,
                                     mock_role_repo_find_first):
        '''Test update_role when role doesn't exist.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_repo_get.return_value = self.mock_role
            mock_role_repo_find_first.return_value = None
            mock_role_controller_request_params.return_value = ('Mock name',
                                                                'Mock help')
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.update_role(1)

            # Assert
            assert result.status_code == 200
            assert result.get_json()['msg'] == 'OK'
コード例 #22
0
    def test_create_role_ok_response(
        self, mock_role_repo_find_first, mock_role_controller_request_params
    ):
        """Test create_role OK response."""
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (
                "Mock name",
                "Mock help",
            )
            mock_role_repo_find_first.return_value = None
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.create_role()

            # Assert
            assert result.status_code == 201
            assert result.get_json()["msg"] == "OK"
コード例 #23
0
    def test_create_role_permission_when_role_doesnot_exist(
            self, mock_role_repo_get, mock_permission_repo_get_unpaginated,
            mock_role_controller_request_params):
        '''Test create_role_permission when role does not exist.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (1, 'name',
                                                                'keyword')
            mock_permission_repo_get_unpaginated.return_value = None
            mock_role_repo_get.return_value = None
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.create_role_permission()

            # Assert
            assert result.status_code == 400
            assert result.get_json()['msg'] == 'This role does not exist'
コード例 #24
0
    def test_update_permission_when_invalid_permission(
        self, mock_permission_repo_get, mock_role_controller_request_params
    ):
        """Test update_permission when invalid permission id is provided."""
        # Arrange
        with self.app.app_context():
            mock_permission_repo_get.return_value = None
            mock_role_controller_request_params.return_value = (1, "name", "keyword")
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.update_permission(1)

            # Assert
            assert result.status_code == 400
            assert (
                result.get_json()["msg"] == "Invalid or incorrect "
                "permission id provided"
            )
コード例 #25
0
    def test_create_role_when_name_already_exists(
            self, mock_role_repo_find_first,
            mock_role_controller_request_params):
        '''Test create_role when role name already exists.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = ('Mock name',
                                                                'Mock help')
            mock_role_repo_find_first.return_value = self.mock_role
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.create_role()

            # Assert
            assert result.status_code == 400
            assert result.get_json()['msg'] == 'Role with this name already' \
                ' exists'
コード例 #26
0
    def test_create_role_when_name_already_exists(
        self, mock_role_repo_find_first, mock_role_controller_request_params
    ):
        """Test create_role when role name already exists."""
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (
                "Mock name",
                "Mock help",
            )
            mock_role_repo_find_first.return_value = self.mock_role
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.create_role()

            # Assert
            assert result.status_code == 400
            assert result.get_json()["msg"] == "Role with this name already" " exists"
コード例 #27
0
    def test_update_permission_when_invalid_permission(
            self, mock_permission_repo_get,
            mock_role_controller_request_params):
        '''Test update_permission when invalid permission id is provided.
        '''
        # Arrange
        with self.app.app_context():
            mock_permission_repo_get.return_value = None
            mock_role_controller_request_params.return_value = (1, 'name',
                                                                'keyword')
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.update_permission(1)

            # Assert
            assert result.status_code == 400
            assert result.get_json()['msg'] == 'Invalid or incorrect ' \
                'permission id provided'
コード例 #28
0
    def test_create_role_permission_when_role_doesnot_exist(
        self,
        mock_role_repo_get,
        mock_permission_repo_get_unpaginated,
        mock_role_controller_request_params,
    ):
        """Test create_role_permission when role does not exist."""
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (1, "name", "keyword")
            mock_permission_repo_get_unpaginated.return_value = None
            mock_role_repo_get.return_value = None
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.create_role_permission()

            # Assert
            assert result.status_code == 400
            assert result.get_json()["msg"] == "This role does not exist"
コード例 #29
0
    def test_update_role_when_name_is_already_taken(
            self, mock_role_repo_get, mock_role_controller_request_params,
            mock_role_repo_find_first):
        '''Test update_role when role doesn't exist.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_repo_get.return_value = self.mock_role
            mock_role_repo_find_first.return_value = self.mock_role
            mock_role_controller_request_params.return_value = ('Mock name',
                                                                'Mock help')
            role_controller = RoleController(self.request_context)

            # Act
            result = role_controller.update_role(1)

            # Assert
            assert result.status_code == 400
            assert result.get_json()['msg'] == 'Role with this name' \
                ' already exists'
コード例 #30
0
    def test_create_user_role_when_user_doesnot_exist(
            self, mock_andela_service_get_user,
            mock_role_controller_request_params, mock_auth_get_location):
        '''Test create_user_role when user doesn't exist.
        '''
        # Arrange
        with self.app.app_context():
            mock_role_controller_request_params.return_value = (
                1, '*****@*****.**')
            mock_andela_service_get_user.return_value = None
            mock_auth_get_location.return_value = 1
            role_controler = RoleController(self.request_context)

            # Act
            result = role_controler.create_user_role()

            # Assert
            assert result.status_code == 400
            assert result.get_json()['msg'] == 'This user record does' \
                ' not exist'