public void RefreshTokenController_MustHave_AuthorizeAttribute() { var controller = new RefreshTokenController(new Mock <IRefreshTokenService>().Object); var hasAuthorizeAttribute = Helper.ControllerHasAttribute <RefreshTokenController, AuthorizeAttribute>(controller); Assert.IsTrue(hasAuthorizeAttribute); }
public void RefreshTokenController_MustHave_AuthorizeAttribute_WithAdminRole() { var controller = new RefreshTokenController(new Mock <IRefreshTokenService>().Object); var authorizeAttribute = Helper.GetAttribute <RefreshTokenController, AuthorizeAttribute>(controller); Assert.IsTrue(authorizeAttribute.Roles.Contains(AppRoles.AdminRole)); }
public async Task GetTokensInfoForAccount_When_Exception_Is_Thrown_Logs_Exception_And_Returns_BadRequest() { // Arrange var loggerMock = new Mock <ILogger>(); RefreshTokenController controller = new RefreshTokenController(loggerMock.Object); // Query mock var queryMock = new Mock <IGetAllTokensForAccountQuery>(); var exception = new Exception(); queryMock.Setup(x => x.Execute(It.IsAny <string>())).ThrowsAsync(exception); // Act var actionResult = await controller.GetTokensInfoForAccount("some id", queryMock.Object); // Assert loggerMock.Verify(x => x.LogAsync(It.Is <Log>(l => l.Type == LogType.Error && l.Context == "RefreshTokenController.GetTokensInfoForAccount"), default), Times.Once); Assert.IsInstanceOf <BadRequestObjectResult>(actionResult); var badRequestResult = (BadRequestObjectResult)actionResult; Assert.AreEqual(400, badRequestResult.StatusCode); Assert.IsInstanceOf <Message>(badRequestResult.Value); var errorMessage = (Message)badRequestResult.Value; Assert.AreEqual("Something went wrong.", errorMessage.Text); }
public async Task GetTokensInfoForAccount_When_Called_Returns_Ok_With_List_Of_All_Tokens_For_Accound() { // Arrange ILogger logger = new Mock <ILogger>().Object; RefreshTokenController controller = new RefreshTokenController(logger); string accountId = "some id"; // Query mock var queryMock = new Mock <IGetAllTokensForAccountQuery>(); var accountTokens = new List <AccountTokenModel>() { new AccountTokenModel() { }, new AccountTokenModel() { } }; queryMock.Setup(x => x.Execute(accountId)).ReturnsAsync(accountTokens); // Act var actionResult = await controller.GetTokensInfoForAccount(accountId, queryMock.Object); // Assert Assert.IsInstanceOf <OkObjectResult>(actionResult); var okResult = (OkObjectResult)actionResult; Assert.IsInstanceOf <Page <AccountTokenModel> >(okResult.Value); var resultPage = (Page <AccountTokenModel>)okResult.Value; Assert.AreEqual(accountTokens, resultPage.List); Assert.AreEqual(resultPage.List.Count(), resultPage.TotalItems); }
public void Ctor_When_Called_Sets_Logger() { // Arrange ILogger logger = new Mock <ILogger>().Object; // Act RefreshTokenController controller = new RefreshTokenController(logger); // Assert Assert.AreEqual(logger, controller.Logger); }
public async Task GetTokensInfoForAccount_When_Called_With_Null_AccountId_Returns_BadRequest() { // Arrange ILogger logger = new Mock <ILogger>().Object; RefreshTokenController controller = new RefreshTokenController(logger); var query = new Mock <IGetAllTokensForAccountQuery>().Object; // Act var actionResult = await controller.GetTokensInfoForAccount(null as string, query); // Assert Assert.IsInstanceOf <BadRequestObjectResult>(actionResult); var badRequestResult = (BadRequestObjectResult)actionResult; Assert.IsInstanceOf <Message>(badRequestResult.Value); var errorMessage = (Message)badRequestResult.Value; Assert.AreEqual("Something went wrong.", errorMessage.Text); }
public void SetUp() { DaysToExpire = 3; AccessToken = "4wjRDjmSi9YfgFYAVM2QWjJxY8w1Ao6U7S6ZWX9VDCQ"; Size = 32; UserId = 91; _userService = new Mock <IUserService>(); _refreshTokenService = new Mock <IRefreshTokenService>(); _tokenService = new Mock <ITokenService>(); _refreshTokenController = new RefreshTokenController(_tokenService.Object, _refreshTokenService.Object, _userService.Object); _applicationUserDTO = new ApplicationUserDTO() { Id = 91, FirstName = "Volodya", LastName = "Khydzik", City = "Lviv", Country = "Lviv", Email = "*****@*****.**", PhoneNumber = "0672530997", DateOfBirth = "20.07.2000" }; _refreshTokenDTO = new RefreshTokenDTO() { Id = 1, IsActive = true, UserId = 91, RefreshToken = "4wjRDjmSi9YfgFYAVM2QWjJxY8w1Ao6U7S6ZWX9VDCQ =", DaysToExpire = DateTime.Now.AddDays(3) }; _refreshTokenModel = new RefreshTokenModel() { RefreshToken = "4wjRDjmSi9YfgFYAVM2QWjJxY8w1Ao6U7S6ZWX9VDCQ=" }; _refreshTokenService.Setup(service => service.UpdateRefreshTokenAsync(_refreshTokenDTO.Id, _refreshTokenDTO.RefreshToken, _refreshTokenDTO.UserId, DaysToExpire, true)).Returns(Task.CompletedTask); _tokenService.Setup(service => service.GenerateAccessToken(_applicationUserDTO, _refreshTokenModel.RefreshToken)).Returns(() => { return(AccessToken); }); _refreshTokenService.Setup(service => service.GenerateRefreshToken(Size)).Returns(() => { return(_refreshTokenModel.RefreshToken); }); }