| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- using System;
- using Abp.AspNetCore;
- using Abp.AspNetCore.TestBase;
- using Abp.Dependency;
- using VberAdmin.Authentication.JwtBearer;
- using VberAdmin.Configuration;
- using VberAdmin.EntityFrameworkCore;
- using VberAdmin.Identity;
- using VberAdmin.Web.Startup;
- using Castle.MicroKernel.Registration;
- using Microsoft.AspNetCore.Builder;
- using Microsoft.AspNetCore.Hosting;
- using Microsoft.EntityFrameworkCore;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Logging;
- using VberAdmin.Resources;
- namespace VberAdmin.Web.Tests;
- public class Startup
- {
- private readonly IConfigurationRoot _appConfiguration;
- public Startup(IWebHostEnvironment env)
- {
- _appConfiguration = env.GetAppConfiguration();
- }
- public IServiceProvider ConfigureServices(IServiceCollection services)
- {
- services.AddEntityFrameworkInMemoryDatabase();
- services.AddMvc();
- IdentityRegistrar.Register(services);
- AuthConfigurer.Configure(services, _appConfiguration);
- services.AddScoped<IWebResourceManager, WebResourceManager>();
- //Configure Abp and Dependency Injection
- return services.AddAbp<VberAdminWebTestModule>(options =>
- {
- options.SetupTest();
- });
- }
- public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
- {
- UseInMemoryDb(app.ApplicationServices);
- app.UseAbp(); //Initializes ABP framework.
- app.UseExceptionHandler("/Error");
- app.UseStaticFiles();
- app.UseRouting();
- app.UseAuthentication();
- app.UseJwtTokenMiddleware();
- app.UseAuthorization();
- app.UseEndpoints(endpoints =>
- {
- endpoints.MapControllerRoute("default", "{controller=Home}/{action=Index}/{id?}");
- });
- }
- private void UseInMemoryDb(IServiceProvider serviceProvider)
- {
- var builder = new DbContextOptionsBuilder<VberAdminDbContext>();
- builder.UseInMemoryDatabase(Guid.NewGuid().ToString()).UseInternalServiceProvider(serviceProvider);
- var options = builder.Options;
- var iocManager = serviceProvider.GetRequiredService<IIocManager>();
- iocManager.IocContainer
- .Register(
- Component.For<DbContextOptions<VberAdminDbContext>>()
- .Instance(options)
- .LifestyleSingleton()
- );
- }
- }
|