public IntegrationTestBase(ITestOutputHelper output) { Environment.SetEnvironmentVariable("JSII_DEBUG", "true"); ServiceContainer.ServiceProviderOverride = ServiceContainer.BuildServiceProvider( loggerFactoryOverride: new XUnitLoggerFactory(output) ); }
public void SetOverride(ITestOutputHelper outputHelper) { if (ServiceContainer.ServiceProviderOverride == null) { ServiceContainer.ServiceProviderOverride = ServiceContainer.BuildServiceProvider( new XUnitLoggerFactory(outputHelper) ); } }
public ScenarioUIMiddleware( RequestDelegate next, ScenarioOptions options) { _next = next; _options = options; var serviceProvider = ServiceContainer.BuildServiceProvider(); _routing = new ScenarioRouting(serviceProvider, _options.Root); ReflectedModel.Build(Assembly.GetEntryAssembly()); }
public void Snapshot() { var services = new ServiceContainer(); var service1 = new Service1(); var service2 = new Service2(); var service3 = new Service3(); var snapshot = services.BuildServiceProvider(); Assert.Empty(services); services.AddSingleton <IService1>(service1); services.AddSingleton <IService2>(service2); Assert.Equal(2, services.Count); Assert.Same(service1, services.GetService <IService1>()); Assert.Same(service2, services.GetService <IService2>()); Assert.Null(services.GetService <IService3>()); Assert.Throws <InvalidOperationException>(() => services.GetRequiredService <IService3>()); // These should all return NULL because the snapshot was // taken before the services were added. Assert.Null(snapshot.GetService <IService1>()); Assert.Null(snapshot.GetService <IService2>()); Assert.Null(snapshot.GetService <IService3>()); // Get a new snapshot and test again. snapshot = services.BuildServiceProvider(); Assert.Same(service1, services.GetService <IService1>()); Assert.Same(service2, services.GetService <IService2>()); Assert.Null(snapshot.GetService <IService3>()); // Make sure that the [ServicesContainer] is still returning // the correct services. Assert.Same(service1, services.GetService <IService1>()); Assert.Same(service2, services.GetService <IService2>()); Assert.Null(services.GetService <IService3>()); Assert.Throws <InvalidOperationException>(() => services.GetRequiredService <IService3>()); // Add a third service and verify the [ServicesContainer]. services.AddSingleton <IService3>(service3); Assert.Equal(3, services.Count); Assert.Same(service1, services.GetService <IService1>()); Assert.Same(service2, services.GetService <IService2>()); Assert.Same(service3, services.GetService <IService3>()); // The new service shouldn't be in the last snapshot. Assert.Null(snapshot.GetService <IService3>()); // Get a new snapshot and verify all three services. snapshot = services.BuildServiceProvider(); Assert.Same(service1, services.GetService <IService1>()); Assert.Same(service2, services.GetService <IService2>()); Assert.Same(service3, services.GetService <IService3>()); }