public async Task Callback_Should_GetCounters()
        {
            var authResponse = new AuthorizationResponse()
            {
                access_token  = TestDoubles.Token,
                refresh_token = TestDoubles.RefreshToken
            };

            cacheServiceMock   = new Mock <ICacheService>();
            secureServiceMock  = new Mock <ISecureService>();
            counterServiceMock = new Mock <ICounterService>();
            cacheServiceMock.Setup(cache => cache.GetValue <AuthorizationResponse>(KEYS.ACCESS_TOKEN))
            .Returns(() => null);
            cacheServiceMock.Setup(cache => cache.SetValue(KEYS.ACCESS_TOKEN, It.IsAny <AuthorizationResponse>()))
            .Verifiable();
            secureServiceMock.Setup(service => service.GetToken(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Task.FromResult(Result.Ok(authResponse)));
            getTokenUseCase = new GetTokenUseCase(secureServiceMock.Object, cacheServiceMock.Object);
            counterServiceMock.Setup(service => service.GetCounters())
            .Returns(Task.FromResult(Result.Ok(new List <Counter>())));
            getCountersUseCase = new GetCountersUseCase(counterServiceMock.Object);
            renewTokenUseCase  = new RenewTokenUseCase(secureServiceMock.Object, cacheServiceMock.Object);
            controller         = new AppController(
                getTokenUseCase, getCountersUseCase,
                renewTokenUseCase, cacheServiceMock.Object
                );

            var result = await controller.Callback(TestDoubles.Code, TestDoubles.State);

            Assert.IsNotNull(result);
        }
        public void Index_Should_ClearCache()
        {
            getTokenUseCase = new GetTokenUseCase(secureServiceMock.Object, cacheServiceMock.Object);
            controller      = new AppController(getTokenUseCase, null, null, null);

            controller.Index();

            cacheServiceMock.Verify(cache => cache.Clear(), Times.Once);
        }
        public void Index_Should_ReturnAuthorizationUrl()
        {
            getTokenUseCase = new GetTokenUseCase(secureServiceMock.Object, cacheServiceMock.Object);
            controller      = new AppController(getTokenUseCase, null, null, null);

            var result = controller.Index();

            Assert.AreEqual(TestDoubles.AuthorizationUrl, result.Model);
        }
 public AppController(
     GetTokenUseCase GetTokenUseCase,
     GetCountersUseCase GetCountersUseCase,
     RenewTokenUseCase RenewTokenUseCase,
     ICacheService CacheService)
 {
     getTokenUseCase    = GetTokenUseCase;
     getCountersUseCase = GetCountersUseCase;
     renewTokenUseCase  = RenewTokenUseCase;
     cacheService       = CacheService;
 }
Example #5
0
        public async Task Execute_Should_GetCachedAuthorizationResponse()
        {
            mockSecureService
            .Setup(service => service.GetToken(It.IsAny <string>(), It.IsAny <string>()))
            .Verifiable();
            mockCacheService
            .Setup(service => service.GetValue <AuthorizationResponse>(KEYS.ACCESS_TOKEN))
            .Returns(TestDoubles.authResult.Value);
            getTokenUseCase = new GetTokenUseCase(mockSecureService.Object, mockCacheService.Object);

            var result = await getTokenUseCase.Execute();

            Assert.IsInstanceOfType(result.Value, typeof(AuthorizationResponse));
            mockSecureService.Verify(service => service.GetToken(It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }