public void Setup() { // Builds webhost and gets service providers from web host var webHost = WebHost.CreateDefaultBuilder() .UseStartup <Startup>() .Build(); _serviceProvider = new ServiceDependencyResolver(webHost); // Resets database to inital state so all tests are isolated and repeatable _context = new FlatManagementContext(); _context.Database.EnsureDeleted(); _context.Database.EnsureCreated(); var testDataGenerator = new DevelopmentDatabaseSetup(_context); testDataGenerator.SetupDevelopmentDataSet(); _flatController = new FlatController(_context); //Creates a new httpContext and adds a user identity to it, imitating being already logged in. DefaultHttpContext httpContext = new DefaultHttpContext(); GenericIdentity MyIdentity = new GenericIdentity("YinWang"); ClaimsIdentity objClaim = new ClaimsIdentity(new List <Claim> { new Claim(ClaimTypes.NameIdentifier, "1") }); _flatController.ControllerContext = new ControllerContext(); _flatController.ControllerContext.HttpContext = httpContext; httpContext.User = new ClaimsPrincipal(objClaim); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); using var serviceScope = app.ApplicationServices.CreateScope(); // Delete and recreate database var db = serviceScope.ServiceProvider.GetService <FlatManagementContext>(); db.Database.EnsureDeleted(); db.Database.EnsureCreated(); // Add a test dataset for development var testDataGenerator = new DevelopmentDatabaseSetup(db); testDataGenerator.SetupDevelopmentDataSet(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); if (env.IsDevelopment()) { app.UseCors(DevCorsPolicy); } app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); using var serviceScope = app.ApplicationServices.CreateScope(); // Delete and recreate database var db = serviceScope.ServiceProvider.GetService <FlatManagementContext>(); db.Database.EnsureDeleted(); db.Database.EnsureCreated(); // Add a test dataset for development var testDataGenerator = new DevelopmentDatabaseSetup(db); testDataGenerator.SetupDevelopmentDataSet(); } app.UseHttpsRedirection(); // Enable middleware to serve generated Swagger as a JSON endpoint. app.UseSwagger(); // Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), // specifying the Swagger JSON endpoint. app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "Flatmate Management API"); c.RoutePrefix = string.Empty; // launch swagger from root }); app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); if (env.IsDevelopment()) { app.UseCors(DevCorsPolicy); } app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
public void Setup() { // Builds webhost and gets service providers from web host var webHost = WebHost.CreateDefaultBuilder() .UseStartup <Startup>() .Build(); _serviceProvider = new ServiceDependencyResolver(webHost); // Resets database to inital state so all tests are isolated and repeatable _context = new FlatManagementContext(); _context.Database.EnsureDeleted(); _context.Database.EnsureCreated(); var testDataGenerator = new DevelopmentDatabaseSetup(_context); testDataGenerator.SetupDevelopmentDataSet(); }