public static WebHostBuilder UseProjectOf <TStartup>(this WebHostBuilder builder) { var libraryManager = DnxPlatformServices.Default.LibraryManager; var applicationName = typeof(TStartup).GetTypeInfo().Assembly.GetName().Name; var library = libraryManager.GetLibrary(applicationName); var webRoot = Path.GetDirectoryName(library.Path); var assemblyProvider = new StaticAssemblyProvider(); assemblyProvider.CandidateAssemblies.Add(typeof(TStartup).Assembly); builder.ConfigureServices(services => { var applicationEnvironment = new TestApplicationEnvironment( PlatformServices.Default.Application, applicationName, webRoot); services.AddSingleton <IApplicationEnvironment>(applicationEnvironment); var hostingEnvironment = new HostingEnvironment(); hostingEnvironment.Initialize( webRoot, new WebHostOptions { Environment = "Production", }, configuration: null); services.AddSingleton <IHostingEnvironment>(hostingEnvironment); services.AddSingleton <IAssemblyProvider>(assemblyProvider); }); return(builder); }
public SessionControllerTests() { _server = new TestServer(TestServer.CreateBuilder() .UseEnvironment("Development") // needed for views to be accessed properly .UseServices(services => { var env = new TestApplicationEnvironment(); env.ApplicationBasePath = Path.GetFullPath(Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "..", "..", "src", "TestingControllersSample")); env.ApplicationName = "TestingControllersSample"; services.AddInstance<IApplicationEnvironment>(env); }) .UseStartup<Startup>()); _client = _server.CreateClient(); }
public SessionControllerTests() { _server = new TestServer(TestServer.CreateBuilder() .UseEnvironment("Development") // needed for views to be accessed properly .UseServices(services => { var env = new TestApplicationEnvironment(); env.ApplicationBasePath = Path.GetFullPath(Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "..", "..", "src", "TestingControllersSample")); env.ApplicationName = "TestingControllersSample"; services.AddInstance <IApplicationEnvironment>(env); }) .UseStartup <Startup>()); _client = _server.CreateClient(); }
public static IServiceCollection AddTestApplicationEnvironment <TStartup>(this IServiceCollection self) where TStartup : class { self.AddInstance <ILoggerFactory>(NullLoggerFactory.Instance); var type = typeof(TStartup); var applicationServices = CallContextServiceLocator.Locator.ServiceProvider; var libraryManager = applicationServices.GetRequiredService <ILibraryManager>(); var applicationName = type.Assembly.GetName().Name; var library = libraryManager.GetLibrary(applicationName); var applicationRoot = Path.GetDirectoryName(library.Path); var applicationEnvironment = applicationServices.GetRequiredService <IApplicationEnvironment>(); var env = new TestApplicationEnvironment(applicationEnvironment, applicationName, applicationRoot); self.AddInstance <IApplicationEnvironment>( new TestApplicationEnvironment(applicationEnvironment, applicationName, applicationRoot)); return(self); }