Skip to content

Commit

Permalink
#296 change so tests pass on windows
Browse files Browse the repository at this point in the history
  • Loading branch information
TomPallister committed Apr 17, 2018
1 parent b7ff737 commit e94df47
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 31 deletions.
35 changes: 20 additions & 15 deletions src/Ocelot/DependencyInjection/ConfigurationBuilderExtensions.cs
Original file line number Diff line number Diff line change
@@ -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;
Expand All @@ -16,12 +15,16 @@ public static class ConfigurationBuilderExtensions
[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;
}

Expand All @@ -35,11 +38,12 @@ public static IConfigurationBuilder AddOcelot(this IConfigurationBuilder builder
.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;
}
Expand All @@ -48,16 +52,17 @@ public static IConfigurationBuilder AddOcelot(this IConfigurationBuilder builder

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);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@

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";
Expand Down Expand Up @@ -225,10 +225,5 @@ private FileConfiguration FakeFileConfigurationForGet()
ReRoutes = reRoutes
};
}

public void Dispose()
{
File.Delete($"./ocelot.{_environmentName}.json");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ public void should_use_base_url_partial_placeholder()
.Then(x => ThenTheFollowingDownstreamIsReturned(downstream))
.BDDfy();
}

[Fact]
public void should_add_trace_id_header()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -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
{
Expand Down

0 comments on commit e94df47

Please sign in to comment.