Ejemplo n.º 1
0
        public void Backend_IdentityBackend_CreateNewSupportUser_Result_Failed_Should_Return_Null()
        {
            //arrange
            var testUsername = "******";

            var dummyUser = new ApplicationUser()
            {
                UserName = testUsername, Email = testUsername + "@seattleu.edu", Id = testUsername
            };

            var userStore       = new Mock <IUserStore <ApplicationUser> >();
            var createDummyUser = userStore
                                  .Setup(x => x.CreateAsync(dummyUser))
                                  .Returns(Task.FromResult(IdentityResult.Success));
            var passwordManager = userStore.As <IUserPasswordStore <ApplicationUser> >()
                                  .Setup(x => x.FindByIdAsync(testUsername))
                                  .ReturnsAsync(dummyUser);
            var claimsManager = userStore.As <IUserClaimStore <ApplicationUser> >();

            var userManager = new ApplicationUserManager(userStore.Object);

            var backend = new IdentityDataSourceMock(userManager, null);


            //act
            //pass in a bad password, causes create failure
            var result = backend.CreateNewSupportUser(testUsername, "", testUsername);

            //assert
            Assert.IsNull(result, TestContext.TestName);
        }
Ejemplo n.º 2
0
        public void Backend_IdentityBackend_DeleteUser_Uses_ID_Valid_User_Should_Pass()
        {
            //arrange
            var testUsername = "******";
            var dummyUser    = new ApplicationUser()
            {
                UserName = testUsername, Email = testUsername + "@seattleu.edu", Id = testUsername
            };

            var userStore       = new Mock <IUserStore <ApplicationUser> >();
            var createDummyUser = userStore
                                  .Setup(x => x.DeleteAsync(dummyUser))
                                  .Returns(Task.FromResult(IdentityResult.Success));
            var passwordManager = userStore.As <IUserPasswordStore <ApplicationUser> >()
                                  .Setup(x => x.FindByIdAsync(testUsername))
                                  .ReturnsAsync(dummyUser);
            var claimsManager = userStore.As <IUserClaimStore <ApplicationUser> >();

            var userManager = new ApplicationUserManager(userStore.Object);

            var backend = new IdentityDataSourceMock(userManager, null);

            //act
            var result = backend.DeleteUser(dummyUser.Id);

            //assert
            Assert.IsTrue(result, TestContext.TestName);
        }
Ejemplo n.º 3
0
        public void Backend_IdentityBackend_AddClaimToUser_Failed_To_Find_User_Should_Fail()
        {
            //arrange
            var testUsername        = "******";
            var testUserId          = "AGoodID";
            var testClaimTypeToAdd  = "testClaim";
            var testClaimValueToAdd = "value";

            var dummyUser = new ApplicationUser()
            {
                UserName = testUsername, Email = testUsername + "@seattleu.edu", Id = testUserId
            };

            var userStore       = new Mock <IUserStore <ApplicationUser> >();
            var createDummyUser = userStore
                                  .Setup(x => x.CreateAsync(dummyUser))
                                  .Returns(Task.FromResult(IdentityResult.Success));
            var passwordManager = userStore.As <IUserPasswordStore <ApplicationUser> >();
            //.Setup(x => x.FindByIdAsync(testUserId))
            //.ReturnsAsync(dummyUser);
            var claimsManager = userStore.As <IUserClaimStore <ApplicationUser> >();

            var userManager = new ApplicationUserManager(userStore.Object);

            var backend = new IdentityDataSourceMock(userManager, null);

            //act
            var result = backend.AddClaimToUser(testUserId, testClaimTypeToAdd, testClaimValueToAdd);

            //assert
            Assert.IsNull(result, TestContext.TestName);
        }
Ejemplo n.º 4
0
        public void Backend_IdentityBackend_UpdateStudent_ID_Not_Found_Should_Fail()
        {
            //arrange
            var testUsername = "******";
            var testUserID   = "AGoodID";
            var dummyUser    = new ApplicationUser()
            {
                UserName = testUsername, Email = testUsername + "@seattleu.edu", Id = testUserID
            };

            var userStore       = new Mock <IUserStore <ApplicationUser> >();
            var createDummyUser = userStore
                                  .Setup(x => x.CreateAsync(dummyUser))
                                  .Returns(Task.FromResult(IdentityResult.Success));
            var passwordManager = userStore.As <IUserPasswordStore <ApplicationUser> >()
                                  .Setup(x => x.FindByIdAsync(testUserID))
                                  .ReturnsAsync(dummyUser);

            var userManager = new ApplicationUserManager(userStore.Object);

            var backend = new IdentityDataSourceMock(userManager, null);


            var testStudent = new StudentModel();
            var badID       = "bogus";

            testStudent.Id = badID;

            //act
            var result = backend.UpdateStudent(testStudent);

            //assert
            Assert.IsFalse(result, TestContext.TestName);
        }
Ejemplo n.º 5
0
        public void Backend_IdentityBackend_FindUserByUserName_Should_Pass()
        {
            //arrange
            var testUsername = "******";
            var dummyUser    = new ApplicationUser()
            {
                UserName = testUsername, Email = testUsername + "@seattleu.edu", Id = testUsername
            };

            var userStore       = new Mock <IUserStore <ApplicationUser> >();
            var createDummyUser = userStore
                                  .Setup(x => x.CreateAsync(dummyUser))
                                  .Returns(Task.FromResult(IdentityResult.Success));
            var passwordManager = userStore.As <IUserPasswordStore <ApplicationUser> >()
                                  .Setup(x => x.FindByNameAsync(testUsername))
                                  .ReturnsAsync(dummyUser);

            var userManager = new ApplicationUserManager(userStore.Object);

            var backend = new IdentityDataSourceMock(userManager, null);

            //act
            var result = backend.FindUserByUserName(testUsername);

            //assert
            Assert.AreEqual(dummyUser, result, TestContext.TestName);
        }
Ejemplo n.º 6
0
        public void Backend_IdentityBackend_UpdateStudent_Null_Student_Should_Fail()
        {
            //arrange
            var backend = new IdentityDataSourceMock();

            //act
            var result = backend.UpdateStudent(null);

            //assert
            Assert.IsFalse(result, TestContext.TestName);
        }
Ejemplo n.º 7
0
        public void Backend_IdentityBackend_GetStudentById_Invalid_Student_ID_Should_Fail()
        {
            //arrange
            var backend = new IdentityDataSourceMock();
            var fakeID  = "bogus";

            //act
            var result = backend.GetStudentById(fakeID);

            //assert
            Assert.IsNull(result, TestContext.TestName);
        }
Ejemplo n.º 8
0
        public void Backend_IdentityBackend_RemoveClaimFromUser_Should_Pass()
        {
            //arrange
            var           testUsername  = "******";
            var           claimToRemove = _5051.Models.UserRoleEnum.TeacherUser.ToString();
            IList <Claim> claimsList    = new List <Claim>()
            {
                new Claim(_5051.Models.UserRoleEnum.TeacherUser.ToString(), "True"),
                new Claim(_5051.Models.UserRoleEnum.SupportUser.ToString(), "True"),
            };

            var dummyUser = new ApplicationUser()
            {
                UserName = testUsername, Email = testUsername + "@seattleu.edu", Id = testUsername
            };

            var claimIdentity1 = new IdentityUserClaim()
            {
                ClaimType  = _5051.Models.UserRoleEnum.TeacherUser.ToString(),
                ClaimValue = "True",
            };
            var claimIdentity2 = new IdentityUserClaim()
            {
                ClaimType  = "TeacherID",
                ClaimValue = testUsername,
            };

            dummyUser.Claims.Add(claimIdentity1);
            dummyUser.Claims.Add(claimIdentity2);

            var userStore       = new Mock <IUserStore <ApplicationUser> >();
            var createDummyUser = userStore
                                  .Setup(x => x.CreateAsync(dummyUser))
                                  .Returns(Task.FromResult(IdentityResult.Success));
            var passwordManager = userStore.As <IUserPasswordStore <ApplicationUser> >()
                                  .Setup(x => x.FindByIdAsync(testUsername))
                                  .ReturnsAsync(dummyUser);
            var claimsManager = userStore.As <IUserClaimStore <ApplicationUser> >()
                                .Setup(x => x.GetClaimsAsync(dummyUser))
                                .Returns(Task.FromResult(claimsList));

            var userManager = new ApplicationUserManager(userStore.Object);

            var backend = new IdentityDataSourceMock(userManager, null);

            //act
            var result = backend.RemoveClaimFromUser(testUsername, claimToRemove);

            //assert
            Assert.IsTrue(result, TestContext.TestName);
        }
Ejemplo n.º 9
0
        public void Backend_IdentityBackend_CreateNewStudent_Valid_User_Should_Pass()
        {
            //arrange
            var testUsername       = "******";
            var expectedClaimCount = 2;
            var testStudent        = new StudentModel
            {
                Name = testUsername,
                Id   = testUsername
            };

            var dummyUser = new ApplicationUser()
            {
                UserName = testUsername, Email = testUsername + "@seattleu.edu", Id = testUsername
            };

            var claimIdentity1 = new IdentityUserClaim()
            {
                ClaimType  = _5051.Models.UserRoleEnum.StudentUser.ToString(),
                ClaimValue = "True",
            };
            var claimIdentity2 = new IdentityUserClaim()
            {
                ClaimType  = "StudentID",
                ClaimValue = testStudent.Id,
            };

            dummyUser.Claims.Add(claimIdentity1);
            dummyUser.Claims.Add(claimIdentity2);

            var userStore       = new Mock <IUserStore <ApplicationUser> >();
            var createDummyUser = userStore
                                  .Setup(x => x.CreateAsync(dummyUser))
                                  .Returns(Task.FromResult(IdentityResult.Success));
            var passwordManager = userStore.As <IUserPasswordStore <ApplicationUser> >()
                                  .Setup(x => x.FindByIdAsync(testUsername))
                                  .ReturnsAsync(dummyUser);
            var claimsManager = userStore.As <IUserClaimStore <ApplicationUser> >();

            var userManager = new ApplicationUserManager(userStore.Object);

            var backend = new IdentityDataSourceMock(userManager, null);

            //act
            var result = backend.CreateNewStudent(testStudent);

            //assert
            Assert.AreEqual(testUsername, result.UserName, TestContext.TestName);
            Assert.AreEqual(expectedClaimCount, result.Claims.Count, TestContext.TestName);
        }
Ejemplo n.º 10
0
        public void Backend_IdentityBackend_GetStudentById_Valid_Student_Should_Pass()
        {
            //arrange
            var backend       = new IdentityDataSourceMock();
            var expectStudent = DataSourceBackend.Instance.StudentBackend.GetDefault();

            //var dataSourceBack = DataSourceBackend.Instance;
            //dataSourceBack.SetTestingMode(true);
            //var expectStudent = dataSourceBack.StudentBackend.GetDefault();

            //var expectStudent = DataSourceBackend.Instance.StudentBackend.GetDefault();

            //act
            var result = backend.GetStudentById(expectStudent.Id);

            //assert
            Assert.AreEqual(expectStudent, result, TestContext.TestName);
        }
Ejemplo n.º 11
0
        public void Backend_IdentityBackend_ListAllSupportUsers_Should_Pass()
        {
            //arrange
            var testUsername1      = "testUser1";
            var testUsername2      = "userNumber2";
            var expectSupportUsers = 1;
            var dummyUser1         = new ApplicationUser()
            {
                UserName = testUsername1, Email = testUsername1 + "@seattleu.edu", Id = testUsername1
            };
            var dummyUser2 = new ApplicationUser()
            {
                UserName = testUsername2, Email = testUsername2 + "@seattleu.edu", Id = testUsername2
            };

            var claimIdentity1 = new IdentityUserClaim()
            {
                ClaimType  = _5051.Models.UserRoleEnum.TeacherUser.ToString(),
                ClaimValue = "True",
            };
            var claimIdentity2 = new IdentityUserClaim()
            {
                ClaimType  = _5051.Models.UserRoleEnum.SupportUser.ToString(),
                ClaimValue = "True",
            };
            var claimIdentity3 = new IdentityUserClaim()
            {
                ClaimType  = _5051.Models.UserRoleEnum.SupportUser.ToString(),
                ClaimValue = "False",
            };

            //only 1 user is a support user
            dummyUser1.Claims.Add(claimIdentity1);
            dummyUser1.Claims.Add(claimIdentity2);
            dummyUser2.Claims.Add(claimIdentity3);

            var userList = new List <ApplicationUser>()
            {
                dummyUser1,
                dummyUser2,
            }.AsQueryable();

            var userStore       = new Mock <IUserStore <ApplicationUser> >();
            var createDummyUser = userStore
                                  .Setup(x => x.CreateAsync(dummyUser1))
                                  .Returns(Task.FromResult(IdentityResult.Success));
            var passwordManager1 = userStore.As <IUserPasswordStore <ApplicationUser> >()
                                   .Setup(x => x.FindByIdAsync(testUsername1))
                                   .ReturnsAsync(dummyUser1);
            var passwordManager2 = userStore.As <IUserPasswordStore <ApplicationUser> >()
                                   .Setup(x => x.FindByIdAsync(testUsername2))
                                   .ReturnsAsync(dummyUser2);
            var claimsManager = userStore.As <IUserClaimStore <ApplicationUser> >();
            var iQueryManager = userStore.As <IQueryableUserStore <ApplicationUser> >()
                                .Setup(x => x.Users)
                                .Returns(userList);

            var userManager = new ApplicationUserManager(userStore.Object);

            var backend = new IdentityDataSourceMock(userManager, null);

            //act
            var result = backend.ListAllSupportUsers();

            //assert
            Assert.AreEqual(expectSupportUsers, result.Count, TestContext.TestName);
        }