Exemplo n.º 1
0
        public void Login_succes()
        {
            // Arrange
            var req         = new Mock <HttpRequest>();
            var httpContext = new Mock <HttpContext>();

            httpContext.Setup(x => x.Request).Returns(req.Object);
            var httpContextAccessor = new Mock <IHttpContextAccessor>();

            httpContextAccessor.Setup(x => x.HttpContext).Returns(httpContext.Object);


            Func <IServiceCollection, IServiceProvider> applicationServices = services =>
            {
                services.AddInstance(httpContextAccessor.Object);
                services.AddEntityFramework()
                .AddInMemoryDatabase()
                .AddDbContext <ApplicationDbContext>();

                services.AddMvc();
                services.AddIdentity <ApplicationUser, IdentityRole>(options =>
                {
                    options.Password.RequireDigit            = false;
                    options.Password.RequiredLength          = 4;
                    options.Password.RequireLowercase        = false;
                    options.Password.RequireUppercase        = false;
                    options.Password.RequireNonLetterOrDigit = false;
                    options.SignIn.RequireConfirmedEmail     = true;
                    options.User.RequireUniqueEmail          = true;
                })
                .AddEntityFrameworkStores <ApplicationDbContext>()
                .AddDefaultTokenProviders();
                services.AddSingleton <IEmailSender, MessageServices>();
                services.AddSingleton <ISmsSender, MessageServices>();
                services.AddTransient <IEmailTemplate, EmailTemplate>();
                services.AddTransient <AccountController, AccountController>();
                LocalizationServiceCollectionJsonExtensions.AddLocalization(services);
                return(services.BuildServiceProvider());
            };

            var buildServices   = InitializeServices(typeof(StartupTest).Assembly, applicationServices);
            var serviceProvider = buildServices(new ServiceCollection());
            //BuildSampleData(serviceProvider);
            var accountController = serviceProvider.GetRequiredService <AccountController>();
            var response          = accountController.Login() as ViewResult;
            var actionContext     = GetActionContext();
            //await response.ExecuteResultAsync(b.ActionContext);
        }
Exemplo n.º 2
0
        protected override void AddAdditionalServices(IServiceCollection services)
        {
            services.AddEntityFramework()
            .AddInMemoryDatabase()
            .AddDbContext <ApplicationDbContext>(o => o.UseInMemoryDatabase());

            services.AddIdentity <ApplicationUser, IdentityRole>(options => { options.SignIn.RequireConfirmedEmail = true; })
            .AddEntityFrameworkStores <ApplicationDbContext>()
            .AddDefaultTokenProviders();
            services
            .AddMvc(m => { m.ModelMetadataDetailsProviders.Add(new AdditionalValuesMetadataProvider()); });
            LocalizationServiceCollectionJsonExtensions.AddLocalization(services);

            // Add application services.
            services.AddSingleton <IEmailSender, TestMessageServices>();
            services.AddSingleton <ISmsSender, MessageServices>();
            services.AddTransient <IEmailTemplate, EmailTemplate>();
        }
Exemplo n.º 3
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddEntityFramework()
            .AddSqlServer()
            .AddDbContext <ApplicationDbContext>(options =>
                                                 options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

            services.AddIdentity <ApplicationUser, IdentityRole>(options =>
            {
                options.Tokens.ChangeEmailTokenProvider  = "";
                options.Password.RequireDigit            = false;
                options.Password.RequiredLength          = 4;
                options.Password.RequireLowercase        = false;
                options.Password.RequireUppercase        = false;
                options.Password.RequireNonLetterOrDigit = false;
                options.SignIn.RequireConfirmedEmail     = true;
                options.User.RequireUniqueEmail          = true;
            })
            .AddEntityFrameworkStores <ApplicationDbContext>()
            .AddDefaultTokenProviders();
            LocalizationServiceCollectionJsonExtensions.AddLocalization(services);
            //services.TryAddTransient<IMvcRazorHost, MyMvcRazorHost>();
            services
            .AddMvc(m =>
            {
                m.ModelMetadataDetailsProviders.Add(new AdditionalValuesMetadataProvider());
            })
            .AddViewLocalization(options => options.ResourcesPath = "Resources")
            //.AddDataAnnotationsLocalization()
            ;

            // Add application services.

            services.Configure <MessageServicesOptions>(Configuration.GetSection("mailSettings"));
            services.AddSingleton <IEmailSender, MessageServices>();
            services.AddSingleton <ISmsSender, MessageServices>();
            services.AddTransient <IEmailTemplate, EmailTemplate>();
        }