コード例 #1
0
        public async Task AddUserAsyncTest()
        {
            // Act
            var result = await _userRepository.AddAsync(_userBuilder.CreateUser());

            // Assert
            result.Id.Should().BePositive();
        }
コード例 #2
0
        public async Task User_Update_Without_Authentication_Return_Unauthorized()
        {
            // Arrange
            StringContent contentString = JsonSerialize.GenerateStringContent(_userBuilder.CreateUser());
            // Act
            var response = await _client.PutAsync("api/user/1/", contentString);

            // Assert
            response.StatusCode.Should().Be(HttpStatusCode.Unauthorized);
        }
コード例 #3
0
        public async Task GetAllIncludingUserAsync()
        {
            var user = await userDapper.AddAsync(userBuilder.CreateUser());

            var task = await taskToDoDapper.AddRangeAsync(taskToDoBuilder.CreateTaskToDoListWithUser(2, user.Id));

            var result = await taskToDoDapper.GetAllIncludingUserAsync();

            Assert.AreEqual(result.FirstOrDefault().UserId, user.Id);
            Assert.AreEqual(result.LastOrDefault().UserId, user.Id);
        }
コード例 #4
0
    public void Validate_Login_Session()
    {
        // Arrange
        ICoreScopeProvider provider = ScopeProvider;
        var user = UserBuilder.CreateUser();

        using (var scope = provider.CreateCoreScope(autoComplete: true))
        {
            var repository = CreateRepository(provider);
            repository.Save(user);
        }

        using (var scope = provider.CreateCoreScope(autoComplete: true))
        {
            var repository = CreateRepository(provider);
            var sessionId  = repository.CreateLoginSession(user.Id, "1.2.3.4");

            // manually update this record to be in the past
            ScopeAccessor.AmbientScope.Database.Execute(ScopeAccessor.AmbientScope.SqlContext.Sql()
                                                        .Update <UserLoginDto>(u => u.Set(x => x.LoggedOutUtc, DateTime.UtcNow.AddDays(-100)))
                                                        .Where <UserLoginDto>(x => x.SessionId == sessionId));

            var isValid = repository.ValidateLoginSession(user.Id, sessionId);
            Assert.IsFalse(isValid);

            // create a new one
            sessionId = repository.CreateLoginSession(user.Id, "1.2.3.4");
            isValid   = repository.ValidateLoginSession(user.Id, sessionId);
            Assert.IsTrue(isValid);
        }
    }
コード例 #5
0
        public async Task GetAllIncludingUserAsync()
        {
            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var conn = databaseOptions.GetDbConnection;
                userDapper     = new UserRepository(conn);
                taskToDoDapper = new TasksToDoRepository(conn);

                var user = await userDapper.AddAsync(userBuilder.CreateUser());

                var task = await taskToDoDapper.AddRangeAsync(taskToDoBuilder.CreateTasksToDoListWithUser(2, user.Id));

                var result = await taskToDoDapper.GetAllIncludingUserAsync();

                Assert.AreEqual(result.FirstOrDefault().UserId, user.Id);
                Assert.AreEqual(result.LastOrDefault().UserId, user.Id);
            }
        }
コード例 #6
0
        public void Count_All_Online_Users()
        {
            IEnumerable <IUser> users = UserBuilder.CreateMulipleUsers(10, (i, member) => member.LastLoginDate = DateTime.Now.AddMinutes(i * -2));

            UserService.Save(users);

            User customUser = UserBuilder.CreateUser();

            throw new NotImplementedException();
        }
コード例 #7
0
            public void Build()
            {
                var result = UserBuilder.CreateUser("Bob2").AddLogin(new Login("321")).AddRole(new Role("SampleRole", null)).Build();

                Assert.IsNotNull(result);
                Assert.IsInstanceOfType(result, typeof(User));
                Assert.AreEqual("Bob2", result.Name);
                Assert.AreEqual(1, result.Logins.Count());
                Assert.AreEqual(1, result.Roles.Count());
            }
コード例 #8
0
            public void Build()
            {
                var sourceUser = UserBuilder.CreateUser("Bob3").Build();
                var targetUser = UserBuilder.CreateUser("Bob4").Build();

                var result = SubstitutionBuilder.CreateSubstitution().SetSource(sourceUser).SetTarget(targetUser).SetValidity(new Validity(new DateTimeOffset(1999, 12, 31, 0, 0, 0, TimeSpan.FromHours(2)), new DateTimeOffset(DateTime.Now + TimeSpan.FromHours(1), TimeSpan.FromHours(2)))).Build();

                Assert.IsNotNull(result);
                Assert.IsInstanceOfType(result, typeof(Substitution));
                Assert.AreEqual(true, result.IsInPlace());
            }
コード例 #9
0
            public void AddValue()
            {
                var result = UserBuilder.CreateUser("Bob2").AddLogin(new Login("321")).AddRole(new Role("SampleRole", null)).AddValue(new UserValue("Value1", 123)).AddValues(new List <UserValue>()
                {
                    new UserValue("Value2", "Bob2 is cool"), new UserValue("Value3", 99f), new UserValue("Value4", true)
                }).Build();

                Assert.IsNotNull(result);
                Assert.IsInstanceOfType(result, typeof(User));
                Assert.AreEqual("Bob2", result.Name);
                Assert.AreEqual(4, result.Values.Count());
                Assert.AreEqual(123, result.GetValue("Value1").Data);
            }
コード例 #10
0
        public void Count_All_Users()
        {
            IEnumerable <IUser> users = UserBuilder.CreateMulipleUsers(10);

            UserService.Save(users);
            User customUser = UserBuilder.CreateUser();

            UserService.Save(customUser);

            int found = UserService.GetCount(MemberCountType.All);

            // + 1 because of the built in admin user
            Assert.AreEqual(12, found);
        }
コード例 #11
0
        public void Count_All_Locked_Users()
        {
            IEnumerable <IUser> users = UserBuilder.CreateMulipleUsers(10, (i, member) => member.IsLockedOut = i % 2 == 0);

            UserService.Save(users);

            User customUser = UserBuilder.CreateUser();

            customUser.IsLockedOut = true;
            UserService.Save(customUser);

            int found = UserService.GetCount(MemberCountType.LockedOut);

            Assert.AreEqual(6, found);
        }
コード例 #12
0
        public void Find_By_Email_Starts_With()
        {
            IEnumerable <IUser> users = UserBuilder.CreateMulipleUsers(10);

            UserService.Save(users);

            // don't find this
            User customUser = UserBuilder.CreateUser();

            customUser.Email = "*****@*****.**";
            UserService.Save(customUser);

            IEnumerable <IUser> found = UserService.FindByEmail("tes", 0, 100, out _, StringPropertyMatchType.StartsWith);

            Assert.AreEqual(10, found.Count());
        }
コード例 #13
0
        public void Find_By_Email_Exact()
        {
            IEnumerable <IUser> users = UserBuilder.CreateMulipleUsers(10);

            UserService.Save(users);

            // include this
            User customUser = UserBuilder.CreateUser();

            customUser.Email = "*****@*****.**";
            UserService.Save(customUser);

            IEnumerable <IUser> found = UserService.FindByEmail("*****@*****.**", 0, 100, out _, StringPropertyMatchType.Exact);

            Assert.AreEqual(1, found.Count());
        }
コード例 #14
0
        public void Count_All_Approved_Users()
        {
            IEnumerable <IUser> users = UserBuilder.CreateMulipleUsers(10, (i, member) => member.IsApproved = i % 2 == 0);

            UserService.Save(users);

            User customUser = UserBuilder.CreateUser();

            customUser.IsApproved = false;
            UserService.Save(customUser);

            int found = UserService.GetCount(MemberCountType.Approved);

            // + 1 because of the built in admin user
            Assert.AreEqual(6, found);
        }
コード例 #15
0
        public async Task User_GetAllAsync_Return_OK()
        {
            // Arrange
            Authenticate();
            StringContent contentString = JsonSerialize.GenerateStringContent(_userBuilder.CreateUser());
            await _client.PostAsync("api/user/", contentString);

            // Act
            var response = await _client.GetAsync("api/user");

            // Assert
            response.EnsureSuccessStatusCode();
            response.StatusCode.Should().Be(HttpStatusCode.OK);
            var returnedUsers = response.Content.ReadAsAsync <List <UserDTO> >();

            returnedUsers.Result.Count.Should().BePositive();
        }
コード例 #16
0
            public void CreateUser(string Name, bool ExpectedToBeSuccessful)
            {
                DiSetup.Tests();
                IUserService userService = DiHelper.GetService <IUserService>();

                userService.CreateTestData();

                var  user          = UserBuilder.CreateUser(Name).AddLogin(new Login("123")).Build();
                bool wasSuccessful = userService.AddUser(user);

                if (ExpectedToBeSuccessful)
                {
                    Assert.AreEqual(true, wasSuccessful);
                    Assert.IsNotNull(user);
                    Assert.IsInstanceOfType(user, typeof(User));
                    Assert.AreEqual(Name, user.Name);
                }
                else
                {
                    Assert.IsNull(user);
                }
            }
コード例 #17
0
        public void Should_not_have_error_when_username_is_specified()
        {
            var user = _userBuilder.CreateUser();

            _userValidator.ShouldNotHaveValidationErrorFor(x => x.Username, user);
        }
コード例 #18
0
        public async Task AddAsync()
        {
            User result;

            result = await userDapper.AddAsync(userBuilder.CreateUser());

            Assert.Greater(result.Id, 0);
        }
        public async Task AddAsync()
        {
            using (var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                userDapper = new UserRepository(databaseOptions);
                var result = await userDapper.AddAsync(userBuilder.CreateUser());

                Assert.Greater(result.Id, 0);
            }
        }
コード例 #20
0
        public async Task AddAsync()
        {
            var result = await userEntityFramework.AddAsync(builder.CreateUser());

            Assert.Greater(result.Id, 0);
        }