Пример #1
0
        public async Task <IActionResult> Create([FromBody] HeaderRequest request)
        {
            UsernameEntity user = new UsernameEntity()
            {
                Username = request.Username,
                Email    = request.Email
            };
            bool check = await _user.CheckUser(user);

            if (check)
            {
                string id = await _user.addUser(user);

                if (!string.IsNullOrEmpty(id))
                {
                    PasswordEntity pass = new PasswordEntity()
                    {
                        UserId   = id,
                        Password = BCrypt.Net.BCrypt.HashPassword(request.Password, 11)
                    };

                    int wait = await _pass.CreatePassword(pass);

                    return(Ok());
                }
            }

            return(BadRequest("User"));
        }
Пример #2
0
        public async Task <IActionResult> Update([FromBody] HeaderRequest request)
        {
            int            wait = 0;
            UsernameEntity user = new UsernameEntity();

            user.UserId = User.Identity.Name;
            if (request.Username != null)
            {
                user.Username = request.Username;
                wait          = await _user.updateUsername(user);
            }

            if (request.Email != null)
            {
                user.Email = request.Email;
                wait       = await _user.updateEmail(user);
            }

            if (request.Password != null)
            {
                PasswordEntity pass = new PasswordEntity();
                pass.UserId   = User.Identity.Name;
                pass.Password = request.Password;
                wait          = await _pass.updatePassword(pass);
            }

            if (wait > 0)
            {
                return(Ok());
            }

            return(BadRequest());
        }
Пример #3
0
        public async void unit_test_PostPassword_Success_Content(string username, string pass)
        {
            //Arrange
            UsernameEntity user = new UsernameEntity()
            {
                Username = username
            };
            //Act
            var PostUser = await _uut.PostUsername(user);

            var            OkUser = PostUser as OkObjectResult;
            var            userId = OkUser.Value as string;
            PasswordEntity test   = new PasswordEntity()
            {
                Password = pass, UserId = userId
            };

            var result = await _uut.PostPassword(test);

            var okResult = result as OkObjectResult;
            var JWT      = okResult.Value as string;

            //Assert
            Xunit.Assert.Equal(316, JWT.Length);
        }
Пример #4
0
        public async void unit_test_PostUsername_Username_Fail()
        {
            UsernameEntity test = new UsernameEntity()
            {
                Username = "******",
                Email    = null
            };
            //Act
            var result = await _uut.PostUsername(test);

            //Assert
            Xunit.Assert.IsType <BadRequestResult>(result);
        }
Пример #5
0
        public async void unit_test_PostUsername_Username_Succes(string name)
        {
            //Arrange
            UsernameEntity test = new UsernameEntity()
            {
                Username = name,
                Email    = null
            };
            //Act
            var result = await _uut.PostUsername(test);

            //Assert
            Xunit.Assert.IsType <OkObjectResult>(result);
        }
Пример #6
0
        public async void unit_test_checkUser_email(string condition, bool exp)
        {
            //Arrange
            UsernameEntity test = new UsernameEntity()
            {
                Username = null,
                Email    = condition
            };
            //Act
            var result = await _uut.CheckUser(test);

            //Assert
            Xunit.Assert.Equal(exp, result);
        }
Пример #7
0
        public async void unit_test_PostUsername_Email_Fail()
        {
            //Arrange
            UsernameEntity test = new UsernameEntity()
            {
                Username = null,
                Email    = "*****@*****.**"
            };
            //Act
            var result = await _uut.PostUsername(test);

            //Assert
            Xunit.Assert.IsType <BadRequestResult>(result);
        }
Пример #8
0
        public async void unit_test_PostUsername_Username_ReturnContent(string name)
        {
            UsernameEntity test = new UsernameEntity()
            {
                Username = name,
                Email    = null
            };
            //Act
            var result = await _uut.PostUsername(test);

            var okResult = result as OkObjectResult;
            var content  = okResult.Value as string;

            //Assert
            Xunit.Assert.Equal(36, content.Length);
        }
Пример #9
0
        public async void unit_test_updateUsername(string id, string username)
        {
            //Arrange
            UsernameEntity test = new UsernameEntity()
            {
                UserId   = id,
                Username = username
            };
            //Act
            var update = await _uut.updateUsername(test);

            var result = await _uut.validateUsername(test.Username);

            //Assert
            Xunit.Assert.Equal(id, result);
        }
Пример #10
0
        public async void unit_test_updateEmail(string id, string email)
        {
            //Arrange
            UsernameEntity test = new UsernameEntity()
            {
                UserId = id,
                Email  = email
            };
            //Act
            var update = await _uut.updateEmail(test);

            var result = await _uut.validateEmail(test.Email);

            //Assert
            Xunit.Assert.Equal(id, result);
        }
Пример #11
0
        public async void unit_test_addUser()
        {
            //Arrange
            UsernameEntity test = new UsernameEntity()
            {
                Username = "******",
                Email    = "*****@*****.**",
                UserId   = "myid"
            };
            //Act
            var wait = await _uut.addUser(test);

            var result = await _uut.validateUsername(test.Username);

            //Assert
            Xunit.Assert.NotEmpty(result);
        }
Пример #12
0
        public async void unit_test_PostUsername_Username_string_content()
        {
            //Arrange
            var            control = "f8ac5f4b-d637-4bc4-acd2-cd940663f3ef";
            UsernameEntity test    = new UsernameEntity()
            {
                Username = "******",
                Email    = null
            };
            //Act
            var result = await _uut.PostUsername(test);

            var okResult = result as OkObjectResult;
            var content  = okResult.Value as string;

            //Assert
            Xunit.Assert.Equal(control, content);
        }
Пример #13
0
        public async Task <IActionResult> PostUsername([FromBody] UsernameEntity request)
        {
            string id;

            if (request.Username != null)
            {
                id = await _user.validateUsername(request.Username);
            }
            else
            {
                id = await _user.validateEmail(request.Email);
            }
            if (!string.IsNullOrEmpty(id))
            {
                return(Ok(id));
            }

            return(BadRequest());
        }
Пример #14
0
        public async void unit_test_PostPassword_Success(string username, string pass)
        {
            //Arrange
            UsernameEntity user = new UsernameEntity()
            {
                Username = username
            };
            //Act
            var PostUser = await _uut.PostUsername(user);

            var            OkUser = PostUser as OkObjectResult;
            var            userId = OkUser.Value as string;
            PasswordEntity test   = new PasswordEntity()
            {
                Password = pass, UserId = userId
            };

            var result = await _uut.PostPassword(test);

            //Assert
            Xunit.Assert.IsType <OkObjectResult>(result);
        }
Пример #15
0
        public async void unit_test_PostPassword_fail()
        {
            //Arrange
            UsernameEntity user = new UsernameEntity()
            {
                Username = "******"
            };
            //Act
            var PostUser = await _uut.PostUsername(user);

            var            OkUser = PostUser as OkObjectResult;
            var            userId = OkUser.Value as string;
            PasswordEntity test   = new PasswordEntity()
            {
                Password = "******", UserId = userId
            };

            var result = await _uut.PostPassword(test);

            //Assert
            Xunit.Assert.IsType <BadRequestResult>(result);
        }
Пример #16
0
        public async void unit_test_update_Username()
        {
            //Arrange
            var context  = new Mock <HttpContext>();
            var identity = new GenericIdentity("test");

            identity.AddClaim(new Claim(ClaimTypes.Name, "f8ac5f4b-d637-4bc4-acd2-cd940663f3ef"));
            var principal = new GenericPrincipal(identity, new[] { "User" });

            context.Setup(s => s.User).Returns(principal);
            _uut.ControllerContext.HttpContext = context.Object;
            HeaderRequest setup = new HeaderRequest()
            {
                Username = "******",
                Email    = "*****@*****.**",
                Password = "******"
            };
            HeaderRequest test = new HeaderRequest()
            {
                Username = "******",
                Email    = null,
                Password = null
            };
            UsernameEntity objtoassert = new UsernameEntity()
            {
                Email    = null,
                UserId   = null,
                Username = test.Username
            };
            //Act
            var add = await _uut.Create(setup);

            var update = await _uut.Update(test);

            var result = await supportLogin.PostUsername(objtoassert);

            //Assert
            Xunit.Assert.IsType <OkObjectResult>(result);
        }
Пример #17
0
        public static void seedUsers(UserModelContext user, PassModelContext pass, WalletContext wallet)
        {
            string id1 = "f8ac5f4b-d637-4bc4-acd2-cd940663f3ef";
            string id2 = "f2aac55f-1cba-404e-8a2b-b3e65c438190";
            var    m   = user.Users.FirstOrDefault();

            if (m == null)
            {
                Console.WriteLine("seeding users");

                var users = new List <UsernameEntity>();
                var h     = new UsernameEntity()
                {
                    UserId   = id1,
                    Username = "******",
                    Email    = "*****@*****.**"
                };
                users.Add(h);
                h = new UsernameEntity()
                {
                    UserId   = id2,
                    Username = "******",
                    Email    = "*****@*****.**"
                };
                users.Add(h);

                user.Users.AddRange(users);
                user.SaveChangesAsync();
                Console.WriteLine("Done seeding users.");
            }

            var p = pass.Passwords.FirstOrDefault();

            if (p == null)
            {
                var myPasswords = new List <PasswordEntity>();
                var my          = new PasswordEntity()
                {
                    UserId   = id1,
                    Password = BCrypt.Net.BCrypt.HashPassword("Password1", 11)
                };
                myPasswords.Add(my);
                my = new PasswordEntity()
                {
                    UserId   = id2,
                    Password = BCrypt.Net.BCrypt.HashPassword("TestKode1", 11)
                };
                myPasswords.Add(my);

                pass.Passwords.AddRange(myPasswords);
                pass.SaveChangesAsync();
                Console.WriteLine("done seeding");
            }

            var w = wallet.Users.FirstOrDefault();

            if (w == null)
            {
                var u  = new List <UserEntity>();
                var _u = new UserEntity()
                {
                    Address = new AddressEntity()
                    {
                        Address = "Randomstreet 200",
                        City    = "Hell",
                        Contry  = "Yep",
                        Zipcode = 5000
                    },
                    FirstName = "Svend",
                    LastName  = "Hansen",
                    userID    = id1,
                    wallet    = new WalletEntity()
                    {
                        userID = id1,
                        Amount = 5000,
                        card   = new CardEntity()
                        {
                            CardId      = 1,
                            CardNumber  = 4230420401,
                            CVVnumber   = 511,
                            ExpireYear  = 32,
                            ExpireMonth = 06
                        }
                    }
                };
                u.Add(_u);
                _u = new UserEntity()
                {
                    Address = new AddressEntity()
                    {
                        Address = "CoolStreet",
                        City    = "This town",
                        Contry  = "dk",
                        Zipcode = 8220
                    },
                    FirstName = "Hans",
                    LastName  = "Petersen",
                    userID    = id2,
                    wallet    = new WalletEntity()
                    {
                        userID = id2,
                        Amount = 10000,
                        card   = new CardEntity()
                        {
                            CardId      = 2,
                            CardNumber  = 42324242,
                            CVVnumber   = 342,
                            ExpireYear  = 22,
                            ExpireMonth = 04
                        }
                    }
                };
                u.Add(_u);
                wallet.Users.AddRange(u);
                var wait = wallet.SaveChangesAsync();
            }
        }