mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 20:10:50 +08:00 
			
		
		
		
	#296 change so tests pass on windows
This commit is contained in:
		@@ -1,10 +1,9 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using Microsoft.Extensions.Configuration;
 | 
			
		||||
using Microsoft.Extensions.Configuration.Memory;
 | 
			
		||||
 | 
			
		||||
namespace Ocelot.DependencyInjection
 | 
			
		||||
{
 | 
			
		||||
    using System;
 | 
			
		||||
    using System.Collections.Generic;
 | 
			
		||||
    using Microsoft.Extensions.Configuration;
 | 
			
		||||
    using Microsoft.Extensions.Configuration.Memory;
 | 
			
		||||
    using System.IO;
 | 
			
		||||
    using System.Linq;
 | 
			
		||||
    using System.Text.RegularExpressions;
 | 
			
		||||
@@ -16,12 +15,16 @@ namespace Ocelot.DependencyInjection
 | 
			
		||||
        [Obsolete("Please set BaseUrl in ocelot.json GlobalConfiguration.BaseUrl")]
 | 
			
		||||
        public static IConfigurationBuilder AddOcelotBaseUrl(this IConfigurationBuilder builder, string baseUrl)
 | 
			
		||||
        {
 | 
			
		||||
            var memorySource = new MemoryConfigurationSource();
 | 
			
		||||
            memorySource.InitialData = new List<KeyValuePair<string, string>>
 | 
			
		||||
            var memorySource = new MemoryConfigurationSource
 | 
			
		||||
            {
 | 
			
		||||
                new KeyValuePair<string, string>("BaseUrl", baseUrl)
 | 
			
		||||
                InitialData = new List<KeyValuePair<string, string>>
 | 
			
		||||
                {
 | 
			
		||||
                    new KeyValuePair<string, string>("BaseUrl", baseUrl)
 | 
			
		||||
                }
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            builder.Add(memorySource);
 | 
			
		||||
 | 
			
		||||
            return builder;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -35,11 +38,12 @@ namespace Ocelot.DependencyInjection
 | 
			
		||||
                .Where(path => reg.IsMatch(path)).Where(x => x.Count(s => s == '.') == 3)
 | 
			
		||||
                .ToList();
 | 
			
		||||
 | 
			
		||||
            FileConfiguration ocelotConfig = new FileConfiguration();
 | 
			
		||||
            var fileConfiguration = new FileConfiguration();
 | 
			
		||||
 | 
			
		||||
            foreach (var file in files)
 | 
			
		||||
            {
 | 
			
		||||
                if(files.Count > 1 && file == "./ocelot.json")
 | 
			
		||||
                // windows and unix sigh...
 | 
			
		||||
                if(files.Count > 1 && (file == "./ocelot.json" || file == ".\\ocelot.json"))
 | 
			
		||||
                {
 | 
			
		||||
                    continue;
 | 
			
		||||
                }
 | 
			
		||||
@@ -48,16 +52,17 @@ namespace Ocelot.DependencyInjection
 | 
			
		||||
                
 | 
			
		||||
                var config = JsonConvert.DeserializeObject<FileConfiguration>(lines);
 | 
			
		||||
 | 
			
		||||
                if(file ==  "./ocelot.global.json")
 | 
			
		||||
                // windows and unix sigh...
 | 
			
		||||
                if (file == "./ocelot.global.json" || file == ".\\ocelot.global.json")
 | 
			
		||||
                {
 | 
			
		||||
                    ocelotConfig.GlobalConfiguration = config.GlobalConfiguration;
 | 
			
		||||
                    fileConfiguration.GlobalConfiguration = config.GlobalConfiguration;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                ocelotConfig.Aggregates.AddRange(config.Aggregates);
 | 
			
		||||
                ocelotConfig.ReRoutes.AddRange(config.ReRoutes);
 | 
			
		||||
                fileConfiguration.Aggregates.AddRange(config.Aggregates);
 | 
			
		||||
                fileConfiguration.ReRoutes.AddRange(config.ReRoutes);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            var json = JsonConvert.SerializeObject(ocelotConfig);
 | 
			
		||||
            var json = JsonConvert.SerializeObject(fileConfiguration);
 | 
			
		||||
 | 
			
		||||
            File.WriteAllText("ocelot.json", json);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,14 +12,14 @@ using Ocelot.Configuration.Repository;
 | 
			
		||||
 | 
			
		||||
namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
{
 | 
			
		||||
    public class FileConfigurationRepositoryTests : IDisposable
 | 
			
		||||
    public class FileConfigurationRepositoryTests
 | 
			
		||||
    {
 | 
			
		||||
        private readonly Mock<IHostingEnvironment> _hostingEnvironment = new Mock<IHostingEnvironment>();
 | 
			
		||||
        private IFileConfigurationRepository _repo;
 | 
			
		||||
        private FileConfiguration _result;
 | 
			
		||||
        private FileConfiguration _fileConfiguration;
 | 
			
		||||
        
 | 
			
		||||
        // This is a bit dirty and it is dev.dev so that the configuration tests
 | 
			
		||||
 | 
			
		||||
        // This is a bit dirty and it is dev.dev so that the ConfigurationBuilderExtensionsTests
 | 
			
		||||
        // cant pick it up if they run in parralel..sigh these are not really unit 
 | 
			
		||||
        // tests but whatever...
 | 
			
		||||
        private string _environmentName = "DEV.DEV";
 | 
			
		||||
@@ -225,10 +225,5 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                ReRoutes = reRoutes
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void Dispose()
 | 
			
		||||
        {
 | 
			
		||||
            File.Delete($"./ocelot.{_environmentName}.json");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -149,6 +149,7 @@ namespace Ocelot.UnitTests.Configuration
 | 
			
		||||
                .Then(x => ThenTheFollowingDownstreamIsReturned(downstream))
 | 
			
		||||
                .BDDfy();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        [Fact]
 | 
			
		||||
        public void should_add_trace_id_header()
 | 
			
		||||
        {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,16 +1,14 @@
 | 
			
		||||
using Microsoft.Extensions.Configuration;
 | 
			
		||||
using Ocelot.DependencyInjection;
 | 
			
		||||
using Shouldly;
 | 
			
		||||
using TestStack.BDDfy;
 | 
			
		||||
using Xunit;
 | 
			
		||||
 | 
			
		||||
namespace Ocelot.UnitTests.DependencyInjection
 | 
			
		||||
namespace Ocelot.UnitTests.DependencyInjection
 | 
			
		||||
{
 | 
			
		||||
    using System;
 | 
			
		||||
    using System.Collections.Generic;
 | 
			
		||||
    using System.IO;
 | 
			
		||||
    using Newtonsoft.Json;
 | 
			
		||||
    using Ocelot.Configuration.File;
 | 
			
		||||
    using Microsoft.Extensions.Configuration;
 | 
			
		||||
    using Ocelot.DependencyInjection;
 | 
			
		||||
    using Shouldly;
 | 
			
		||||
    using TestStack.BDDfy;
 | 
			
		||||
    using Xunit;
 | 
			
		||||
 | 
			
		||||
    public class ConfigurationBuilderExtensionsTests
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user