Exemplo n.º 1
0
        public void Authenticate_UserDoesNotExistInCacheNorInDb_Test()
        {
            // Arrange
            string testUsername = "******";
            string testPassword = "******";
            User   user         = null;

            List <User> cachedUserList = null;

            _dataFixture.GetMocks <User>(out var mockRepository, out var mockCacheManager, out var mockOptions);

            mockRepository
            .Setup(repo => repo.GetAsync <User>(user => user.Username == testUsername && user.Password == testPassword, CancellationToken.None))
            .ReturnsAsync(user);

            mockCacheManager
            .Setup(cache => cache.GetFromCacheAsync <List <User> >(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(cachedUserList);

            var authFacade = new AuthenticationFacade(mockRepository.Object, mockCacheManager.Object, mockOptions.Object);

            // Act
            var result = authFacade.Authenticate(testUsername, testPassword, CancellationToken.None).Result;

            // Assert
            Assert.False(result);
        }
Exemplo n.º 2
0
        public void Authenticate_GetFromCache_Test()
        {
            // Arrange
            string testUsername = "******";
            string testPassword = "******";
            var    user         = _dataFixture.GetUser();

            List <User> cachedUserList = new List <User> {
                user
            };

            _dataFixture.GetMocks <User>(out var mockRepository, out var mockCacheManager, out var mockOptions);

            mockCacheManager
            .Setup(cache => cache.GetFromCacheAsync <List <User> >(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(cachedUserList);

            var authFacade = new AuthenticationFacade(mockRepository.Object, mockCacheManager.Object, mockOptions.Object);

            // Act
            var result = authFacade.Authenticate(testUsername, testPassword, CancellationToken.None).Result;

            // Assert
            Assert.True(result);
        }