Default implementation of the INancyEnvironmentConfigurator interface.
Inheritance: INancyEnvironmentConfigurator
コード例 #1
0
        public DefaultNancyEnvironmentConfiguratorFixture()
        {
            this.environment = A.Fake<INancyEnvironment>();
            this.factory = A.Fake<INancyEnvironmentFactory>();
            this.defaultConfigurationProviders = A.Fake<IEnumerable<INancyDefaultConfigurationProvider>>();

            A.CallTo(() => this.factory.CreateEnvironment()).Returns(this.environment);

            this.configurator = new DefaultNancyEnvironmentConfigurator(this.factory, this.defaultConfigurationProviders);
        }
コード例 #2
0
        public void Should_retrieve_default_configurations_from_default_configuration_providers(int numberOfDefaultConfigurationProviders)
        {
            // Given
            var providers = Enumerable
                .Range(1, numberOfDefaultConfigurationProviders)
                .Select(x => A.Fake<INancyDefaultConfigurationProvider>())
                .ToArray();

            var config = new DefaultNancyEnvironmentConfigurator(this.factory, providers);

            // When
            config.ConfigureEnvironment(env => { });

            // Then
            foreach (var provider in providers)
            {
                A.CallTo(() => provider.GetDefaultConfiguration()).MustHaveHappened(Repeated.Exactly.Once);
            }
        }
コード例 #3
0
        public void Should_not_throw_exception_when_default_configuration_provider_returns_null()
        {
            // Given
            var provider = A.Fake<INancyDefaultConfigurationProvider>();
            A.CallTo(() => provider.GetDefaultConfiguration()).Returns(null);

            var config = new DefaultNancyEnvironmentConfigurator(this.factory, new[] { provider });

            // When, Then
            Assert.DoesNotThrow(() =>
            {
                config.ConfigureEnvironment(env => { });
            });
        }
コード例 #4
0
        public void Should_only_add_default_configurations_that_have_not_been_defined_by_user_code()
        {
            // Given
            var key = typeof(object).FullName;

            var env = A.Fake<INancyEnvironment>();
            A.CallTo(() => env.ContainsKey(key)).Returns(true);

            var fact = A.Fake<INancyEnvironmentFactory>();
            A.CallTo(() => fact.CreateEnvironment()).Returns(env);

            var provider = A.Fake<INancyDefaultConfigurationProvider>();
            A.CallTo(() => provider.GetDefaultConfiguration()).Returns(new object());

            var config = new DefaultNancyEnvironmentConfigurator(fact, new[] { provider });

            // When
            config.ConfigureEnvironment(x => { });

            // Then
            A.CallTo(() => env.AddValue(A<string>.That.Matches(x => x.Equals(key)), A<object>._)).MustNotHaveHappened();
        }
コード例 #5
0
        public void Should_get_key_from_configuration_provider_for_default_configuration_object(Type type)
        {
            // Given
            var expectedKey = string.Concat("the-expected-key-", type.Name);
            var env = new DefaultNancyEnvironment();

            var fact = A.Fake<INancyEnvironmentFactory>();
            A.CallTo(() => fact.CreateEnvironment()).Returns(env);

            var provider = A.Fake<INancyDefaultConfigurationProvider>();
            A.CallTo(() => provider.GetDefaultConfiguration()).ReturnsLazily(() => Activator.CreateInstance(type));
            A.CallTo(() => provider.Key).Returns(expectedKey);

            var config = new DefaultNancyEnvironmentConfigurator(fact, new[] { provider });

            // When
            config.ConfigureEnvironment(x => { });

            // Then
            env.ContainsKey(expectedKey).ShouldBeTrue();
        }