Beispiel #1
0
 public void CreateMethod()
 {
     // preparation
     var cosmos      = new Mock.CosmosMock();
     var logger      = new Mock.LoggerMock <RegisterApi>();
     var registerApi = new RegisterApi(cosmos, logger);
 }
Beispiel #2
0
        public async Task RunAsyncMethod()
        {
            // preparation
            var userRepo         = new Mock <IUserRepository>();
            var cryption         = new Mock <ICryptionService>();
            var validationServer = new Mock <IValidationServerService>();

            validationServer.Setup(_ => _.Validate(It.IsAny <HttpRequest>())).Returns(IValidationServerService.ValidateResult.Success);

            var logger = new Mock.LoggerMock <RegisterApi>();

            var registerApi = new RegisterApi(userRepo.Object, cryption.Object, validationServer.Object, logger);
            var context     = new Mock <HttpContext>();

            context.Setup(_ => _.Request.Headers["X-Azure-FDID"]).Returns("3a1f9e76-f8c9-4000-b4e0-9bb08abe9fe5");
            context.Setup(_ => _.Request.Headers.ContainsKey("X-Azure-FDID")).Returns(true);

            var config = new Mock <IConfiguration>();

            config.Setup(_ => _["AzureFrontDoorRestrictionEnabled"]).Returns("true");
            config.Setup(_ => _["AzureFrontDoorId"]).Returns("3a1f9e76-f8c9-4000-b4e0-9bb08abe9fe5");

            // action
            await registerApi.RunAsync(context.Object.Request);

            // assert
        }
Beispiel #3
0
        /// <exception cref="WebApiClientException"></exception>
        public void Register(string username, string password)
        {
            IRegisterApi registration = new RegisterApi();

            registration.Register(username, password);
            IsRegisterSuccessful = registration.IsRegisterSuccessful;
            RegisterMessage      = registration.RegisterMessage;
        }
Beispiel #4
0
 public void CreateMethod()
 {
     // preparation
     var userRepo         = new Mock <IUserRepository>();
     var validationServer = new Mock <IValidationServerService>();
     var logger           = new Mock.LoggerMock <RegisterApi>();
     var registerApi      = new RegisterApi(userRepo.Object, validationServer.Object, logger);
 }
Beispiel #5
0
 public void CreateMethod()
 {
     // preparation
     var userRepo    = new Mock <IUserRepository>();
     var cryption    = new Mock.CryptionServiceMock();
     var logger      = new Mock.LoggerMock <RegisterApi>();
     var registerApi = new RegisterApi(userRepo.Object, cryption, logger);
 }
Beispiel #6
0
        public void RunMethod()
        {
            // preparation
            var cosmos      = new Mock.CosmosMock();
            var logger      = new Mock.LoggerMock <RegisterApi>();
            var registerApi = new RegisterApi(cosmos, logger);
            var context     = new Mock.HttpContextMock();

            // action
            registerApi.Run(context.Request);
            // assert
        }
Beispiel #7
0
        public async Task RunAsyncMethod()
        {
            // preparation
            var userRepo    = new Mock <IUserRepository>();
            var cryption    = new Mock.CryptionServiceMock();
            var logger      = new Mock.LoggerMock <RegisterApi>();
            var registerApi = new RegisterApi(userRepo.Object, cryption, logger);
            var context     = new Mock.HttpContextMock();
            // action
            await registerApi.RunAsync(context.Request);

            // assert
        }
Beispiel #8
0
        public IActionResult Register([FromBody] RegisterApi register)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            //--register.password is hashed
            var users     = _context.Users;
            var userFound = users.SingleOrDefault(u => u.Email.Equals(register.Email));

            if (userFound != null)
            {
                return(Forbid());
            }

            byte[] salt = new byte[128 / 8];
            using (var rng = RandomNumberGenerator.Create())
            {
                rng.GetBytes(salt);
            }
            string hashedPassword = Convert.ToBase64String(KeyDerivation.Pbkdf2(
                                                               password: register.Password,
                                                               salt: salt,
                                                               prf: KeyDerivationPrf.HMACSHA256,
                                                               iterationCount: 10000,
                                                               numBytesRequested: 256 / 8));

            //-------hash function end

            users.Add(new User()
            {
                FirstName = register.FirstName,
                LastName  = register.LastName,
                Phone     = register.Phone,
                Email     = register.Email,
                Password  = hashedPassword,
                Salt      = salt,
                Role      = "User"
            });
            _context.SaveChanges();
            return(Ok());
        }
Beispiel #9
0
        public async Task RunAsyncMethodOnErrorValidationServer()
        {
            // preparation
            var userRepo         = new Mock <IUserRepository>();
            var validationServer = new Mock <IValidationServerService>();

            validationServer.Setup(_ => _.Validate(It.IsAny <HttpRequest>())).Returns(IValidationServerService.ValidateResult.Error);

            var logger = new Mock.LoggerMock <RegisterApi>();

            var registerApi = new RegisterApi(userRepo.Object, validationServer.Object, logger);
            var context     = new Mock <HttpContext>();

            // action
            var result = await registerApi.RunAsync(context.Object.Request);

            // assert
            Assert.AreEqual(IValidationServerService.ValidateResult.Error.ErrorActionResult, result);
        }