Skip to content

Commit

Permalink
feat(configuration): update the data type of FileDynamicRoute Metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
vantm authored and raman-m committed Dec 12, 2023
1 parent 27e23c8 commit b2a30d9
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 40 deletions.
2 changes: 1 addition & 1 deletion src/Ocelot/Configuration/File/FileDynamicRoute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ public class FileDynamicRoute
public string ServiceName { get; set; }
public FileRateLimitRule RateLimitRule { get; set; }
public string DownstreamHttpVersion { get; set; }
public Dictionary<string, string> Metadata { get; set; }
public IDictionary<string, string> Metadata { get; set; }
}
}
78 changes: 39 additions & 39 deletions test/Ocelot.UnitTests/Configuration/DynamicsCreatorTests.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Ocelot.Configuration;
using Ocelot.Configuration.Builder;
using Ocelot.Configuration.Creator;
using Ocelot.Configuration.File;
using Ocelot.Configuration;
using Ocelot.Configuration.Builder;
using Ocelot.Configuration.Creator;
using Ocelot.Configuration.File;

namespace Ocelot.UnitTests.Configuration
{
Expand All @@ -10,18 +10,18 @@ public class DynamicsCreatorTests
private readonly DynamicsCreator _creator;
private readonly Mock<IRateLimitOptionsCreator> _rloCreator;
private readonly Mock<IVersionCreator> _versionCreator;
private readonly Mock<IMetadataCreator> _metadataCreator;
private readonly Mock<IMetadataCreator> _metadataCreator;
private List<Route> _result;
private FileConfiguration _fileConfig;
private RateLimitOptions _rlo1;
private RateLimitOptions _rlo2;
private Version _version;
private Dictionary<string, string> _expectedMetadata;
private Dictionary<string, string> _expectedMetadata;

public DynamicsCreatorTests()
{
_versionCreator = new Mock<IVersionCreator>();
_rloCreator = new Mock<IRateLimitOptionsCreator>();
_rloCreator = new Mock<IRateLimitOptionsCreator>();
_metadataCreator = new Mock<IMetadataCreator>();
_creator = new DynamicsCreator(_rloCreator.Object, _versionCreator.Object, _metadataCreator.Object);
}
Expand All @@ -35,7 +35,7 @@ public void should_return_nothing()
.When(_ => WhenICreate())
.Then(_ => ThenNothingIsReturned())
.And(_ => ThenTheRloCreatorIsNotCalled())
.And(_ => ThenTheMetadataCreatorIsNotCalled())
.And(_ => ThenTheMetadataCreatorIsNotCalled())
.BDDfy();
}

Expand All @@ -53,10 +53,10 @@ public void should_return_re_routes()
{
EnableRateLimiting = false,
},
DownstreamHttpVersion = "1.1",
Metadata = new()
{
["foo"] = "bar",
DownstreamHttpVersion = "1.1",
Metadata = new Dictionary<string, string>
{
["foo"] = "bar",
},
},
new()
Expand All @@ -67,23 +67,23 @@ public void should_return_re_routes()
EnableRateLimiting = true,
},
DownstreamHttpVersion = "2.0",
Metadata = new()
{
["foo"] = "baz",
},
Metadata = new Dictionary<string, string>
{
["foo"] = "baz",
},
},
},
};

this.Given(_ => GivenThe(fileConfig))
.And(_ => GivenTheRloCreatorReturns())
.And(_ => GivenTheVersionCreatorReturns())
.And(_ => GivenTheMetadataCreatorReturns())
.And(_ => GivenTheMetadataCreatorReturns())
.When(_ => WhenICreate())
.Then(_ => ThenTheRoutesAreReturned())
.And(_ => ThenTheRloCreatorIsCalledCorrectly())
.And(_ => ThenTheVersionCreatorIsCalledCorrectly())
.And(_ => ThenTheMetadataCreatorIsCalledCorrectly())
.And(_ => ThenTheMetadataCreatorIsCalledCorrectly())
.BDDfy();
}

Expand All @@ -100,12 +100,12 @@ private void ThenTheVersionCreatorIsCalledCorrectly()
{
_versionCreator.Verify(x => x.Create(_fileConfig.DynamicRoutes[0].DownstreamHttpVersion), Times.Once);
_versionCreator.Verify(x => x.Create(_fileConfig.DynamicRoutes[1].DownstreamHttpVersion), Times.Once);
}

private void ThenTheMetadataCreatorIsCalledCorrectly()
{
_metadataCreator.Verify(x => x.Create(_fileConfig.DynamicRoutes[0].Metadata, It.IsAny<FileGlobalConfiguration>()), Times.Once);
_metadataCreator.Verify(x => x.Create(_fileConfig.DynamicRoutes[1].Metadata, It.IsAny<FileGlobalConfiguration>()), Times.Once);
}

private void ThenTheMetadataCreatorIsCalledCorrectly()
{
_metadataCreator.Verify(x => x.Create(_fileConfig.DynamicRoutes[0].Metadata, It.IsAny<FileGlobalConfiguration>()), Times.Once);
_metadataCreator.Verify(x => x.Create(_fileConfig.DynamicRoutes[1].Metadata, It.IsAny<FileGlobalConfiguration>()), Times.Once);
}

private void ThenTheRoutesAreReturned()
Expand All @@ -126,16 +126,16 @@ private void GivenTheVersionCreatorReturns()
{
_version = new Version("1.1");
_versionCreator.Setup(x => x.Create(It.IsAny<string>())).Returns(_version);
}

private void GivenTheMetadataCreatorReturns()
{
_expectedMetadata = new()
{
["foo"] = "bar",
};
_metadataCreator.Setup(x => x.Create(It.IsAny<Dictionary<string, string>>(), It.IsAny<FileGlobalConfiguration>()))
.Returns(_expectedMetadata);
}

private void GivenTheMetadataCreatorReturns()
{
_expectedMetadata = new()
{
["foo"] = "bar",
};
_metadataCreator.Setup(x => x.Create(It.IsAny<Dictionary<string, string>>(), It.IsAny<FileGlobalConfiguration>()))
.Returns(_expectedMetadata);
}

private void GivenTheRloCreatorReturns()
Expand All @@ -153,11 +153,11 @@ private void ThenTheRloCreatorIsNotCalled()
{
_rloCreator.Verify(x => x.Create(It.IsAny<FileRateLimitRule>(), It.IsAny<FileGlobalConfiguration>()), Times.Never);
}

private void ThenTheMetadataCreatorIsNotCalled()
{
_metadataCreator.Verify(x => x.Create(It.IsAny<Dictionary<string, string>>(), It.IsAny<FileGlobalConfiguration>()), Times.Never);
}

private void ThenTheMetadataCreatorIsNotCalled()
{
_metadataCreator.Verify(x => x.Create(It.IsAny<Dictionary<string, string>>(), It.IsAny<FileGlobalConfiguration>()), Times.Never);
}

private void ThenNothingIsReturned()
{
Expand Down

0 comments on commit b2a30d9

Please sign in to comment.