예제 #1
0
        public void DeleteUnauthorizedAccessExceptionTest()
        {
            UserDto testUser      = new TestUserDto().User;
            UserDto testSiteAdmin = new TestUserDto().SiteAdmin;

            Assert.ThrowsAsync <UnauthorizedAccessException>(() => _userLogic.Delete(testUser, testSiteAdmin.Uuid));
        }
예제 #2
0
        public async Task RefreshJwtSecurityTokenExceptionTest()
        {
            var testUser = new TestUserDto().User;
            AuthorizationTokensViewmodel result = await _jwtLogic.CreateJwt(new TestUserDto().User);

            Assert.ThrowsAsync <SecurityTokenException>(async() => await _jwtLogic.RefreshJwt(result.Jwt, Guid.Empty, testUser));
        }
예제 #3
0
        public void UpdateUnauthorizedAccessExceptionTest()
        {
            var testUser    = new TestUser().User;
            var testUserDto = new TestUserDto().User;

            Assert.ThrowsAsync <UnauthorizedAccessException>(() => _userLogic.Update(testUser, testUserDto.Uuid));
        }
예제 #4
0
        public void DeleteAdminTest()
        {
            UserDto testUser      = new TestUserDto().User;
            UserDto testSiteAdmin = new TestUserDto().Admin;

            Assert.DoesNotThrowAsync(() => _userLogic.Delete(testSiteAdmin, testUser.Uuid));
        }
예제 #5
0
        public void DeleteSiteAdminSiteAdminRequiredTest()
        {
            UserDto testUser      = new TestUserDto().User;
            UserDto testSiteAdmin = new TestUserDto().SiteAdmin;

            Assert.ThrowsAsync <SiteAdminRequiredException>(() => _userLogic.Delete(testSiteAdmin, testUser.Uuid));
        }
예제 #6
0
        public async Task ExistsTest()
        {
            var    testUser = new TestUserDto().User;
            string json     = Newtonsoft.Json.JsonConvert.SerializeObject(testUser.Uuid);
            bool   exists   = Newtonsoft.Json.JsonConvert.DeserializeObject <bool>(await _disabledUserLogic.Exists(json));

            Assert.IsTrue(exists);
        }
예제 #7
0
        public MockedDisabledUserDal()
        {
            var testUser = new TestUserDto().User;
            var mock     = new Mock <IDisabledUserDal>();

            mock.Setup(dud => dud.Exists(testUser.Uuid)).ReturnsAsync(true);

            Mock = mock.Object;
        }
예제 #8
0
        public async Task FindTest()
        {
            var testUser = new TestUserDto().User;

            Assert.IsTrue((await _userLogic.Find(testUser.Uuid)).Uuid != Guid.Empty);
            Assert.IsTrue((await _userLogic.Find(new List <Guid> {
                testUser.Uuid
            })).Count >= 1);
        }
예제 #9
0
        public void FindRabbitMqTest()
        {
            var user = new TestUserDto().User;
            var userUuidCollection = new List <Guid> {
                user.Uuid
            };
            var json = Newtonsoft.Json.JsonConvert.SerializeObject(userUuidCollection);

            Assert.DoesNotThrowAsync(() => _userLogic.Find(json));
        }
예제 #10
0
        public MockedUserDal()
        {
            var testUser      = new TestUserDto().User;
            var testSiteAdmin = new TestUserDto().SiteAdmin;

            var mock = new Mock <IUserDal>();

            mock.Setup(m => m.Find(testUser.Username)).ReturnsAsync(testUser);
            mock.Setup(m => m.Find(testUser.Uuid)).ReturnsAsync(testUser);
            mock.Setup(m => m.Find(testSiteAdmin.Username)).ReturnsAsync(testSiteAdmin);

            Mock = mock.Object;
        }
        public void LoginWithSelectedAccountRoleUnauthorizedAccessException()
        {
            var testSiteAdmin = new TestUserDto().SiteAdmin;
            var login         = new Login
            {
                Username            = testSiteAdmin.Username,
                Password            = "******",
                SelectedAccountRole = AccountRole.SiteAdmin,
                LoginCode           = 342534
            };

            Assert.ThrowsAsync <UnauthorizedAccessException>(async() => await _authenticationLogic.Login(login));
        }
        public async Task LoginMultiRole()
        {
            var testSiteAdmin = new TestUserDto().SiteAdmin;
            var login         = new Login
            {
                Username = testSiteAdmin.Username,
                Password = "******"
            };

            var result = await _authenticationLogic.Login(login);

            Assert.IsTrue(result.SelectableAccountRoles.Count == 3);
            Assert.IsTrue(result.UserHasMultipleAccountRoles);
        }
        public MockedAuthenticationLogic()
        {
            var siteAdminUser        = new TestUserDto().SiteAdmin;
            var iUserDalMock         = new MockedUserDal().Mock;
            var iPendingLoginDalMock = new MockedPendingLoginDal().Mock;
            var mockedPublisher      = new Mock <IPublisher>().Object;
            var mockedRpcClient      = new Mock <IRpcClient>();

            mockedRpcClient.Setup(rpc => rpc.Call <List <UserRabbitMqSensitiveInformation> >
                                      (new List <Guid> {
                siteAdminUser.Uuid
            }, RabbitMqQueues.FindUserQueue))
            .Returns(new List <UserRabbitMqSensitiveInformation> {
                new TestRabbitMqUserSensitiveInformation().SiteAdminFromUserService
            });

            AuthenticationLogic = new AuthenticationLogic(iUserDalMock, mockedPublisher, iPendingLoginDalMock,
                                                          new SecurityLogic(), new MockedJwtLogic().JwtLogic, mockedRpcClient.Object);
        }
예제 #14
0
        public MockedUserDal()
        {
            var testUser  = new TestUserDto().User;
            var testAdmin = new TestUserDto().Admin;
            var mock      = new Mock <IUserDal>();

            mock.Setup(m => m.All()).ReturnsAsync(new List <UserDto> {
                testUser
            });
            mock.Setup(m => m.Exists(testUser.Username, testUser.Email)).ReturnsAsync(true);
            mock.Setup(m => m.Exists("test", testUser.Email)).ReturnsAsync(true);
            mock.Setup(m => m.Exists(testAdmin.Username, null)).ReturnsAsync(true);
            mock.Setup(m => m.Exists(null, testAdmin.Email)).ReturnsAsync(true);
            mock.Setup(m => m.Exists(testUser.Username, testUser.Email)).ReturnsAsync(true);
            mock.Setup(m => m.Find(testUser.Uuid)).ReturnsAsync(testUser);
            mock.Setup(m => m.Find(new List <Guid> {
                testUser.Uuid
            })).ReturnsAsync(new List <UserDto> {
                testUser
            });
            mock.Setup(m => m.Find(new TestUserDto().SiteAdmin.Uuid)).ReturnsAsync(new TestUserDto().SiteAdmin);

            Mock = mock.Object;
        }
예제 #15
0
        public void DeleteTest()
        {
            var testUser = new TestUserDto().User;

            Assert.DoesNotThrowAsync(() => _disabledUserLogic.Delete(testUser.Uuid));
        }
예제 #16
0
        public void DeleteUserTest()
        {
            UserDto testUser = new TestUserDto().User;

            Assert.DoesNotThrowAsync(() => _userLogic.Delete(testUser, testUser.Uuid));
        }
예제 #17
0
        public void UpdateKeyNotFoundExceptionTest()
        {
            UserDto testUser = new TestUserDto().User;

            Assert.ThrowsAsync <KeyNotFoundException>(() => _userLogic.Delete(testUser, Guid.Empty));
        }