Ejemplo n.º 1
0
        public IntegrationTestBase(ITestOutputHelper output)
        {
            Environment.SetEnvironmentVariable("JSII_DEBUG", "true");

            ServiceContainer.ServiceProviderOverride = ServiceContainer.BuildServiceProvider(
                loggerFactoryOverride: new XUnitLoggerFactory(output)
                );
        }
Ejemplo n.º 2
0
 public void SetOverride(ITestOutputHelper outputHelper)
 {
     if (ServiceContainer.ServiceProviderOverride == null)
     {
         ServiceContainer.ServiceProviderOverride = ServiceContainer.BuildServiceProvider(
             new XUnitLoggerFactory(outputHelper)
             );
     }
 }
Ejemplo n.º 3
0
        public ScenarioUIMiddleware(
            RequestDelegate next,
            ScenarioOptions options)
        {
            _next    = next;
            _options = options;
            var serviceProvider = ServiceContainer.BuildServiceProvider();

            _routing = new ScenarioRouting(serviceProvider, _options.Root);
            ReflectedModel.Build(Assembly.GetEntryAssembly());
        }
Ejemplo n.º 4
0
        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>());
        }