Ocelot/test/Ocelot.AcceptanceTests/ConfigurationReloadTests.cs
Marcelo Castagna ad8025df1b Reload config on change (#527)
* Reload config on change.
Added test case.

* added testing for adding the json with reloadOnChange = false
2018-08-04 08:17:31 +01:00

69 lines
2.0 KiB
C#

using Ocelot.Configuration.File;
using Ocelot.Configuration.Setter;
using Ocelot.Middleware;
using Shouldly;
using System;
using System.Collections.Generic;
using System.Text;
using TestStack.BDDfy;
using Xunit;
namespace Ocelot.AcceptanceTests
{
public class ConfigurationReloadTests : IDisposable
{
private FileConfiguration _initialConfig;
private FileConfiguration _anotherConfig;
private Steps _steps;
public ConfigurationReloadTests()
{
_steps = new Steps();
_initialConfig = new FileConfiguration
{
GlobalConfiguration = new FileGlobalConfiguration
{
RequestIdKey = "initialKey"
}
};
_anotherConfig = new FileConfiguration
{
GlobalConfiguration = new FileGlobalConfiguration
{
RequestIdKey = "someOtherKey"
}
};
}
[Fact]
public void should_reload_config_on_change()
{
this.Given(x => _steps.GivenThereIsAConfiguration(_initialConfig))
.And(x => _steps.GivenOcelotIsRunningReloadingConfig(true))
.And(x => _steps.GivenThereIsAConfiguration(_anotherConfig))
.And(x => _steps.GivenIWait(2500))
.And(x => _steps.ThenConfigShouldBe(_anotherConfig))
.BDDfy();
}
[Fact]
public void should_not_reload_config_on_change()
{
this.Given(x => _steps.GivenThereIsAConfiguration(_initialConfig))
.And(x => _steps.GivenOcelotIsRunningReloadingConfig(false))
.And(x => _steps.GivenThereIsAConfiguration(_anotherConfig))
.And(x => _steps.GivenIWait(2500))
.And(x => _steps.ThenConfigShouldBe(_initialConfig))
.BDDfy();
}
public void Dispose()
{
_steps.Dispose();
}
}
}