Exemple #1
0
        public void ConfigurationScannerTests_ShouldGetExpected()
        {
            var res = ConfigurationsScanner.GetConfigurationFiltered(typeof(AConfigClass));

            Assert.NotNull(res);
            Assert.Equal("lala", res.SectionName);
            Assert.Equal(typeof(AConfigClass), res.ConfigurationType);
        }
        public void Should_not_find_nested_public_configurations_for_internal_class()
        {
            var scanner =
                new ConfigurationsScanner(
                    new[]
            {
                typeof(InternalConfigurationsScannerTestsData.DummyModel5MetadataConfiguration)
            });

            var results = scanner.Select(r => r.MetadataConfigurationType).ToList();

            Assert.DoesNotContain(typeof(DummyModel4InternalMetadataConfiguration), results);
        }
        public void Should_find_configurations_for_types()
        {
            var scanner =
                new ConfigurationsScanner(
                    new[]
            {
                typeof(DummyModel1MetadataConfiguration),
                typeof(DummyModel2MetadataConfiguration)
            });

            var results = scanner.Select(r => r.MetadataConfigurationType).ToList();

            Assert.Contains(typeof(DummyModel1MetadataConfiguration), results);
            Assert.Contains(typeof(DummyModel2MetadataConfiguration), results);
        }
        public void Should_be_able_to_go_over_types_via_foreach()
        {
            var scanner =
                new ConfigurationsScanner(
                    new[]
            {
                typeof(DummyModel1MetadataConfiguration),
                typeof(DummyModel2MetadataConfiguration)
            });
            var results = new List <Type>();

            scanner.ForEach(d => results.Add(d.MetadataConfigurationType));

            Assert.Contains(typeof(DummyModel1MetadataConfiguration), results);
            Assert.Contains(typeof(DummyModel2MetadataConfiguration), results);
        }
        public static IServiceCollection RegisterConfiguration <T>(this IServiceCollection services, IConfiguration config, Action <T> configure = null)
            where T : class, IConfigurationBase, new()
        {
            var res = ConfigurationsScanner.GetConfigurationFiltered(typeof(T));

            if (res == null)
            {
                throw new ArgumentException($"{typeof(T).Name} does not comply with conventions!");
            }
            var optsBuilder = services.AddOptions <T>();

            if (configure != null)
            {
                optsBuilder = optsBuilder.Configure(configure);
            }

            optsBuilder.Bind(config.GetSection(res.SectionName));

            return(services);
        }
Exemple #6
0
        public void ConfigurationScannerTests_ShouldGetNone()
        {
            var res = ConfigurationsScanner.GetConfigurationFiltered(typeof(object));

            Assert.Null(res);
        }