Пример #1
0
        public async Task Test3_Login_Admin()
        {
            //Arrange
            var fakeAdminUser = UserFakes.GetFakeAdminUser();
            var tokenHandler  = new JwtSecurityTokenHandler();

            //Act
            var tokenResult = await _adminUserController.Login(new LoginData { UserName = fakeAdminUser.LoginData.UserName, Password = fakeAdminUser.LoginData.Password });

            //Assert
            tokenResult.Should().NotBeNull();
            ((tokenResult.Result as OkObjectResult).Value as string).Should().NotBeNullOrEmpty();
            tokenHandler.ReadToken((tokenResult.Result as OkObjectResult).Value as string).Should().NotBeNull();
        }
Пример #2
0
        public async Task Test1_Register_Admin()
        {
            //Arrange
            var fakeAdminUser = UserFakes.GetFakeAdminUser();

            //Act
            await _adminUserController.Register(fakeAdminUser, default);

            var user = await _adminUserController.Get(fakeAdminUser.LoginData.UserName);

            //Assert
            user.Should().NotBeNull();
            (user as OkObjectResult).Value.Should().NotBeNull();
            ((user as OkObjectResult).Value as User).Should().NotBeNull();
            ((user as OkObjectResult).Value as User).Id.Should().Be(1);
        }
Пример #3
0
        public void Setup()
        {
            var fakeAdminUser = UserFakes.GetFakeAdminUser();
            var adminClaims   = new List <Claim>();

            adminClaims.Add(new Claim(ClaimTypes.NameIdentifier, fakeAdminUser.Id.ToString()));
            adminClaims.Add(new Claim(ClaimTypes.Role, fakeAdminUser.Role.ToString()));
            var adminHttpContext             = GetHttpContext(adminClaims);
            var adminHttpContextAccessorMock = new Mock <IHttpContextAccessor>();

            adminHttpContextAccessorMock.Setup(x => x.HttpContext).Returns(adminHttpContext);

            var fakeCustomerUser = UserFakes.GetFakeCustomerUser();
            var customerClaims   = new List <Claim>();

            customerClaims.Add(new Claim(ClaimTypes.NameIdentifier, fakeCustomerUser.Id.ToString()));
            customerClaims.Add(new Claim(ClaimTypes.Role, fakeCustomerUser.Role.ToString()));
            var customerHttpContext             = GetHttpContext(customerClaims);
            var customerHttpContextAccessorMock = new Mock <IHttpContextAccessor>();

            customerHttpContextAccessorMock.Setup(x => x.HttpContext).Returns(customerHttpContext);

            var nullLoggerFactory = new NullLoggerFactory();
            var nullLogger        = nullLoggerFactory.CreateLogger("NullLogger");

            var builder = new DbContextOptionsBuilder <UserContext>();

            builder.UseInMemoryDatabase("CustomerLoans");
            var options                            = builder.Options;
            var userContext                        = new UserContext(options);
            var inMemoryEFUserQueryable            = new EntityFrameworkCodeFirstQueryable <User>(userContext);
            var inMemoryUserQueryableRepository    = new QueryableRepository <User>(inMemoryEFUserQueryable);
            var inMemoryUserQueryableDomainService = new QueryableDomainService <User, int>(inMemoryUserQueryableRepository);
            var inMemoryEFUserCommand              = new EntityFrameworkCodeFirstCommand <User, int>(userContext);
            var inMemoryUserCommandRepository      = new CommandRepository <User>(inMemoryEFUserCommand);
            var inMemoryUserCommandServiceAsync    = new CommandDomainServiceAsync <User>(inMemoryUserCommandRepository, nullLogger);

            var retryPolicy      = new RetryNTimesPolicy(nullLogger, 3);
            var exceptionHandler = new BasicPollyExceptionHandler(new IPolicy[] { retryPolicy }, nullLogger, true);

            var myConfiguration = new Dictionary <string, string>
            {
                { "Audience:Secret", "Y2F0Y2hlciUyMHdvbmclMjBsb3ZlJTIwLm5ldA==" },
                { "Audience:Iss", "Sandip Ray" },
                { "Audience:Aud", "All" },
            };
            var configuration = new ConfigurationBuilder()
                                .AddInMemoryCollection(myConfiguration)
                                .Build();

            var configOptions    = new OptionsWrapper <MemoryDistributedCacheOptions>(new MemoryDistributedCacheOptions());
            var distributedCache = new MemoryDistributedCache(configOptions);
            var tokenManagerMock = new Mock <TokenManager>(distributedCache);

            _adminUserController = new UserController(adminHttpContextAccessorMock.Object,
                                                      inMemoryUserQueryableDomainService, inMemoryUserCommandServiceAsync,
                                                      exceptionHandler, configuration,
                                                      tokenManagerMock.Object);
            _customerUserController = new UserController(customerHttpContextAccessorMock.Object,
                                                         inMemoryUserQueryableDomainService, inMemoryUserCommandServiceAsync,
                                                         exceptionHandler, configuration,
                                                         tokenManagerMock.Object);
        }