Ocelot/test/Ocelot.AcceptanceTests/ConfigurationReloadTests.cs

63 lines
1.9 KiB
C#

using Ocelot.Configuration.File;
using System;
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();
}
}
}