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'
def permission_store(): form = PermissionCreateForm(request.form) if form.validate(): permission = Permission() permission.create(data=form.data) return Success(message="操作成功!") return Fail(message=form.first_error)
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'
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'
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"
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"
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"
def update_permissions(form): oper = { 'c': 'can_create', 'r': 'can_read', 'u': 'can_update', 'd': 'can_delete', } for role in Role.query.all(): for service in Service.query.all(): field = role.name + '-' + service.name perm = Permission.query.filter_by(role=role, service=service).first() if not perm: perm = Permission(role=role, service=service) for v, attr in oper.iteritems(): if v in form.getlist(field): setattr(perm, oper[v], True) else: setattr(perm, oper[v], False) save_to_db(perm, 'Permission saved')
def test_delete_role_permission_ok_response(self, mock_role_repo_update, mock_permission_repo_get): '''Test delete_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_permission_repo_get.return_value = mock_permission mock_role_repo_update.return_value = self.mock_role role_controler = RoleController(self.request_context) # Act result = role_controler.delete_role_permission(1) # Assert assert result.status_code == 200 assert result.get_json()['msg'] == 'permission deleted'
def test_get_role_permissions_ok_response( self, mock_permission_repo_get_unpaginated): '''Test get_role_permissions OK response. ''' # Arrange 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_controller = RoleController(self.request_context) # Act result = role_controller.get_role_permissions(1) # Assert assert result.status_code == 200 assert result.get_json()['msg'] == 'OK'
def test_create_role_permission_when_permission_already_exists( self, mock_permission_repo_get_unpaginated, mock_role_controller_request_params): '''Test create_role_permission when permission already exists. ''' # 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_controller_request_params.return_value = (1, 'name', 'keyword') mock_permission_repo_get_unpaginated.return_value = mock_permission 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 permission already exists'
def test_create_role_permission_when_permission_already_exists( self, mock_permission_repo_get_unpaginated, mock_role_controller_request_params ): """Test create_role_permission when permission already exists.""" # 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_controller_request_params.return_value = (1, "name", "keyword") mock_permission_repo_get_unpaginated.return_value = mock_permission 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 permission already exists"
def new_permission(self, role_id, name, keyword): perm = Permission(role_id=role_id, name=name, keyword=keyword) perm.save() return perm
def create_permission(self, role_id, name, keyword): permission = Permission(role_id=role_id, name=name, keyword=keyword) permission.save() return permission
def setUp(self): self.edit_perm = Permission("Edit")
def seed_permission(): permissions = ['VIEW_USERS', 'CREATE_USER'] for permission in permissions: permission = Permission(permission=permission) db.save_to_db(permission)