Beispiel #1
0
        public async Task Jwt_Contains_CorrectId()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var registerCommand = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            // maak user aan
            string id = await listener.RegistreerGebruiker(registerCommand);

            var loginCommand = new LogGebruikerInCommand() { Credentials = new Credentials() { UserName = "******", Password = "******" } };

            var result = await listener.LogGebruikerIn(loginCommand);

            var jwtHandler = new JwtSecurityTokenHandler();
            bool validToken = jwtHandler.CanReadToken(result.Token);

            Assert.IsTrue(validToken);

            var token = jwtHandler.ReadJwtToken(result.Token);
            var idFromClaim = token.Claims.Where(c => c.Type == "UserId" && c.Value == id).SingleOrDefault();

            Assert.AreEqual(id, idFromClaim.Value);
        }
Beispiel #2
0
        public async Task Jwt_Contains_CorrectRoles()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var registerCommand = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            // maak user aan
            await listener.RegistreerGebruiker(registerCommand);

            var loginCommand = new LogGebruikerInCommand() { Credentials = new Credentials() { UserName = "******", Password = "******" } };

            var result = await listener.LogGebruikerIn(loginCommand);

            var jwtHandler = new JwtSecurityTokenHandler();
            bool validToken = jwtHandler.CanReadToken(result.Token);

            Assert.IsTrue(validToken);

            var token = jwtHandler.ReadJwtToken(result.Token);
            var role = token.Claims.Where(c => c.Type == ClaimTypes.Role && c.Value == "Klant");

            Assert.IsNotNull(role);
        }
Beispiel #3
0
        public async Task ThrowsPasswordException_WhenPassword_IsInvalid()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var command = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            await Assert.ThrowsExceptionAsync<PasswordException>(async () => {
                await listener.RegistreerGebruiker(command);
            });
        }
Beispiel #4
0
        public async Task NewUser_CanBe_Registered()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var command = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            var result = await listener.RegistreerGebruiker(command);

            Assert.IsNotNull(result);            
        }
Beispiel #5
0
        public async Task ThrowsException_When_CantDeleteUser()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var command = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            // maak user aan
            string id = await listener.RegistreerGebruiker(command);

            await Assert.ThrowsExceptionAsync<UserDeletionFailedException>(async () => {
                await listener.VerwijderGebruiker(new VerwijderGebruikerCommand() { Id = "wrongId" });
            });
        }
Beispiel #6
0
        public async Task CanSuccesfully_Delete_AnUser()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var command = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            // maak user aan
            string id = await listener.RegistreerGebruiker(command);

            var result = await listener.VerwijderGebruiker(new VerwijderGebruikerCommand() { Id = id });

            Assert.AreEqual(id, result);
        }
Beispiel #7
0
        public async Task ThrowsUdernameAlreadyExistsException_WhenUsernameAlreadyExists()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var command = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            // eerste users
            await listener.RegistreerGebruiker(command);
   
            // tweede dubbele user
            await Assert.ThrowsExceptionAsync<UsernameAlreadyExistsException>(async () => {
                await listener.RegistreerGebruiker(command);
            });
        }
Beispiel #8
0
        public async Task ThrowException_WhenWrongPassword()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var registerCommand = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            // maak user aan
            await listener.RegistreerGebruiker(registerCommand);

            var loginCommand = new LogGebruikerInCommand() { Credentials = new Credentials() { UserName = "******", Password = "******" } };

            await Assert.ThrowsExceptionAsync<LoginFailedException>(async () => {
                await listener.LogGebruikerIn(loginCommand);
            });
        }
Beispiel #9
0
        public async Task GeneratesJwt_WhenSuccesfullLogin()
        {
            AccountCommandListener listener = new AccountCommandListener(_signInManager, _userManager);

            var registerCommand = new RegistreerGebruikerCommand()
            {
                NewUser = new Account()
                {
                    UserName = "******",
                    Password = "******",
                    Role = "Klant"
                }
            };

            // maak user aan
            await listener.RegistreerGebruiker(registerCommand);

            var loginCommand = new LogGebruikerInCommand() { Credentials = new Credentials() { UserName = "******", Password = "******" } };

            var result = await listener.LogGebruikerIn(loginCommand);

            Assert.IsNotNull(result);
        }