Exemple #1
0
        public AccessTokensControllerTests()
        {
            var userData = new List <User>
            {
                new User {
                    email = "*****@*****.**", name = "John Doe", password = "******", refresh_token = "test_refresh_token"
                },
            }.AsQueryable();

            var userMockSet = new Mock <DbSet <User> >();

            userMockSet.As <IAsyncEnumerable <User> >().Setup(m => m.GetEnumerator()).Returns(new TestAsyncEnumerator <User>(userData.GetEnumerator()));
            userMockSet.As <IQueryable <User> >().Setup(m => m.Provider).Returns(new TestAsyncQueryProvider <User>(userData.Provider));
            userMockSet.As <IQueryable <User> >().Setup(m => m.Expression).Returns(userData.Expression);
            userMockSet.As <IQueryable <User> >().Setup(m => m.ElementType).Returns(userData.ElementType);
            userMockSet.As <IQueryable <User> >().Setup(m => m.GetEnumerator()).Returns(userData.GetEnumerator());
            _userRepositoryMock.Setup(m => m.Query()).Returns(userMockSet.Object.AsQueryable());
            var mockCtx = new Mock <IdeasDbContext>();

            mockCtx.SetupGet(c => c.Users).Returns(userMockSet.Object);

            _configurationMock.Setup(c => c["Jwt:Key"]).Returns("veryVerySecretTestKey");
            _configurationMock.Setup(c => c["Jwt:Issuer"]).Returns("http://52.202.84.134:5000/");
            _accessTokensController = new AccessTokensController(_configurationMock.Object, _userRepositoryMock.Object);
        }
Exemple #2
0
        public async Task TestThatRefreshTokenCallsUserManagerToGetUser()
        {
            //arrange
            var sut = new AccessTokensController(userManager, tokenManager);
            //act
            await sut.Refresh(model);

            //assert
            A.CallTo(() => userManager.FindByRefreshToken(model.refresh_token)).MustHaveHappenedOnceExactly();
        }
 public AccessControllerSignoutTests()
 {
     userManager  = A.Fake <IUserManager>();
     tokenManager = A.Fake <ITokenManager>();
     model        = new SignoutViewModel()
     {
         refresh_token = "abc123"
     };
     sut = new AccessTokensController(userManager, tokenManager);
 }
Exemple #4
0
 public AccessControllerSigninTests()
 {
     userManager  = A.Fake <IUserManager>();
     tokenManager = A.Fake <ITokenManager>();
     model        = new SigninViewModel()
     {
         email = "test", password = "******"
     };
     sut = new AccessTokensController(userManager, tokenManager);
 }
Exemple #5
0
        public async Task TestThatIfUserNotFoundA400ErrorIsReturned()
        {
            //arrange
            A.CallTo(() => userManager.FindByRefreshToken(A <string> .Ignored)).Returns(null);
            var sut = new AccessTokensController(userManager, tokenManager);
            //act
            var result = await sut.Refresh(model);

            //assert
            Assert.IsType <BadRequestResult>(result);
        }
Exemple #6
0
        public async Task TestThatIfUserIsFoundTokenIsGenerated()
        {
            //arrange
            var user = new User()
            {
                UserName = "******"
            };

            A.CallTo(() => userManager.FindByRefreshToken(A <string> .Ignored)).Returns(user);
            var sut = new AccessTokensController(userManager, tokenManager);
            //act
            await sut.Refresh(model);

            //assert
            A.CallTo(() => tokenManager.GenerateTokenResponse(user.UserName, false)).MustHaveHappenedOnceExactly();
        }
Exemple #7
0
        public async Task TestThatGeneratedTokenIsReturnedIn200Response()
        {
            //arrange
            var user = new User()
            {
                UserName = "******"
            };

            A.CallTo(() => userManager.FindByRefreshToken(A <string> .Ignored)).Returns(user);
            A.CallTo(() => tokenManager.GenerateTokenResponse(user.UserName, false)).Returns(
                new TokenResponse()
            {
                jwt = "abc"
            });
            var sut = new AccessTokensController(userManager, tokenManager);
            //act
            var result = await sut.Refresh(model);

            //assert

            Assert.IsType <OkObjectResult>(result);
        }