Пример #1
0
 public void RemoveNotExistingUser_ShouldNotThrowException()
 {
     using (IRemoveUnitOfWork <User, int> uow = repository.Remove(99))
     {
         uow.Complete();
     }
 }
Пример #2
0
        public void RemoveUser_ShouldSucceed()
        {
            using (DbCommand inserTestData = memoryDbConnection.CreateCommand())
            {
                inserTestData.CommandText = "INSERT INTO Users('Username', 'PasswordHash', 'RoleID') VALUES ('BarUser', 'pw', 1);" +
                                            "INSERT INTO PublicKeys ('UserID', 'PublicKeyNumber', 'KeyData', 'Active') VALUES (1, 1, 'base64string', 1);";
                inserTestData.ExecuteNonQuery();
            }

            using (IRemoveUnitOfWork <User, int> uow = repository.Remove(1))
            {
                uow.Complete();
            }

            using (DbCommand queryData = memoryDbConnection.CreateCommand())
            {
                queryData.CommandText = "SELECT * FROM Users WHERE Users.Username='******';";
                using (IDataReader reader = queryData.ExecuteReader())
                {
                    Assert.IsFalse(reader.Read());
                }
                queryData.CommandText = "SELECT * FROM PublicKeys WHERE PublicKeys.UserID=1;";
                using (IDataReader reader = queryData.ExecuteReader())
                {
                    Assert.IsFalse(reader.Read());
                }
            }
        }
Пример #3
0
 public Task <IdentityResult> DeleteAsync(User user, CancellationToken cancellationToken)
 {
     try
     {
         using (IRemoveUnitOfWork <User, int> uow = UserRepository.Remove(user.Id))
             uow.Complete();
     }
     catch (IOException exception)
     {
         return(GetResultFromUnitCompleteException(exception));
     }
     return(Task.FromResult(IdentityResult.Success));
 }
Пример #4
0
        public IActionResult RemoveData(int id)
        {
            using (IRemoveUnitOfWork <ProtectedData, int> unitOfWork = _repository.ProtectedDataRepository.Remove(id))
            {
                User        user       = GetSessionUser();
                IAuthorizer authorizer = new UserDataAuthorizerBuilder(user, unitOfWork.Entity)
                                         .AddIsOwnerCheck()
                                         .AddRequiredPermission(Permission.WRITE)
                                         .Build();

                if (!authorizer.Authorize())
                {
                    return(StatusCode(403));
                }

                unitOfWork.Complete();
                return(Ok());
            }
        }