コード例 #1
0
        protected async Task OutputFolderContentsMatchesFolderContentsOf(string name)
        {
            var folder = name.StartsWith("Folder") ? name : MakeFolderName(name);

            Debug.WriteLine(Directory.GetCurrentDirectory());

            var kongReader        = new KongAdminReader(new KongAdminHttpClient(new KongAdminApiConnectionDetails()));
            var kongConfiguration = await kongReader.GetConfiguration();

            var availablePlugins    = kongConfiguration.Plugins.Available.Where(x => x.Value).Select(x => x.Key).ToDictionary(x => x, x => new AsyncLazy <KongPluginSchema>(() => kongReader.GetPluginSchema(x)));
            var configReader        = new ConfigFileReader();
            var folderConfiguration = await configReader.ReadConfiguration(folder, availablePlugins);

            var outputConfiguration = await configReader.ReadConfiguration(OutputFolder, availablePlugins);

            folderConfiguration.GlobalConfig.Plugins.Should().NotBeEmpty();
            folderConfiguration.Services.Count.Should().Be(3);

            outputConfiguration.GlobalConfig.Plugins.Should().BeEquivalentTo(folderConfiguration.GlobalConfig.Plugins);
            outputConfiguration.Services.Should().BeEquivalentTo(folderConfiguration.Services);
            foreach (var outputService in outputConfiguration.Services)
            {
                var folderService = folderConfiguration.Services.Single(x => x.Name == outputService.Name);
                outputService.Plugins.Should().BeEquivalentTo(folderService.Plugins);
                outputService.Routes.Should().BeEquivalentTo(folderService.Routes);
                foreach (var outputServiceRoute in outputService.Routes)
                {
                    var folderServiceRoute = folderService.Routes.Single(x => x.Equals(outputServiceRoute));
                    outputServiceRoute.Plugins.Should().BeEquivalentTo(folderServiceRoute.Plugins);
                }
            }
        }
コード例 #2
0
        protected async Task OutputFolderContentsMatchesFolderContentsOf(string name)
        {
            var folder = name.StartsWith("Folder") ? name : MakeFolderName(name);

            Debug.WriteLine(Directory.GetCurrentDirectory());

            var kongReader        = new KongAdminReader(new KongAdminHttpClient(new KongAdminApiConnectionDetails()));
            var kongConfiguration = await kongReader.GetConfiguration();

            var schemas             = kongConfiguration.GetSchemas(kongReader);
            var configReader        = new ConfigFileReader(new PhysicalFileProvider());
            var folderConfiguration = await configReader.ReadConfiguration(folder, schemas);

            var outputConfiguration = await configReader.ReadConfiguration(OutputFolder, schemas);

            folderConfiguration.GlobalConfig.Plugins.Should().NotBeEmpty();
            folderConfiguration.Services.Count.Should().Be(3);

            outputConfiguration.GlobalConfig.Plugins.Should().BeEquivalentTo(folderConfiguration.GlobalConfig.Plugins);
            outputConfiguration.Services.Should().BeEquivalentTo(folderConfiguration.Services);
            foreach (var outputService in outputConfiguration.Services)
            {
                var folderService = folderConfiguration.Services.Single(x => x.Name == outputService.Name);
                outputService.Plugins.Should().BeEquivalentTo(folderService.Plugins);
                outputService.Routes.Should().BeEquivalentTo(folderService.Routes);
                foreach (var outputServiceRoute in outputService.Routes)
                {
                    var folderServiceRoute = folderService.Routes.Single(x => x.Equals(outputServiceRoute));
                    outputServiceRoute.Plugins.Should().BeEquivalentTo(folderServiceRoute.Plugins);
                }
            }
        }
コード例 #3
0
        protected async Task OutputFolderContentsMatchesFolderContentsOf(string name)
        {
            var folder = name.StartsWith("Folder") ? name : MakeFolderName(name);

            Debug.WriteLine(Directory.GetCurrentDirectory());

            var settings = new Settings
            {
                Admin = new Admin {
                    Host = Host, Port = Port
                }
            };
            var kongReader        = new KongAdminReader(new KongAdminHttpClient(Options.Create(settings)));
            var kongConfiguration = await kongReader.GetConfiguration();

            var availablePlugins    = kongConfiguration.Plugins.Available.Where(x => x.Value).Select(x => x.Key).ToArray();
            var configReader        = new ConfigFileReader();
            var folderConfiguration = await configReader.ReadConfiguration(folder, availablePlugins);

            var outputConfiguration = await configReader.ReadConfiguration(OutputFolder, availablePlugins);

            folderConfiguration.GlobalConfig.Plugins.Should().NotBeEmpty();
            folderConfiguration.Services.Count.Should().Be(3);

            outputConfiguration.GlobalConfig.Plugins.Should().BeEquivalentTo(folderConfiguration.GlobalConfig.Plugins);
            outputConfiguration.Services.Should().BeEquivalentTo(folderConfiguration.Services);
            foreach (var outputService in outputConfiguration.Services)
            {
                var folderService = folderConfiguration.Services.Single(x => x.Name == outputService.Name);
                outputService.Plugins.Should().BeEquivalentTo(folderService.Plugins);
                outputService.Routes.Should().BeEquivalentTo(folderService.Routes);
                foreach (var outputServiceRoute in outputService.Routes)
                {
                    var folderServiceRoute = folderService.Routes.Single(x => x.Equals(outputServiceRoute));
                    outputServiceRoute.Plugins.Should().BeEquivalentTo(folderServiceRoute.Plugins);
                }
            }
        }