Skip to content

Commit

Permalink
tests, remove old
Browse files Browse the repository at this point in the history
  • Loading branch information
typotter committed Aug 7, 2024
1 parent 701aedf commit 413bade
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 134 deletions.
6 changes: 5 additions & 1 deletion dot-net-sdk/dto/BanditFlagVariation.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
namespace eppo_sdk.dto;

public record BanditFlagVariation(string Key, string FlagKey,string AllocationKey, string VariationKey, string VariationValue);
public record BanditFlagVariation(string Key,
string FlagKey,
string AllocationKey,
string VariationKey,
string VariationValue);
33 changes: 0 additions & 33 deletions dot-net-sdk/dto/BanditFlags.cs

This file was deleted.

3 changes: 2 additions & 1 deletion dot-net-sdk/dto/BanditReference.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
namespace eppo_sdk.dto;

public record BanditReference(string ModelVersion, BanditFlagVariation[] FlagVariations);
public record BanditReference(string ModelVersion,
BanditFlagVariation[] FlagVariations);
1 change: 0 additions & 1 deletion dot-net-sdk/dto/Response.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ namespace eppo_sdk.dto;
public class FlagConfigurationResponse
{
public required Dictionary<string, Flag> Flags { get; set; }
public BanditFlags? Bandits { get; set; }
public BanditReferences? BanditReferences { init; get; }
}
public class BanditModelResponse
Expand Down
63 changes: 0 additions & 63 deletions eppo-sdk-test/dto/BanditFlagsTest.cs

This file was deleted.

29 changes: 16 additions & 13 deletions eppo-sdk-test/http/ConfigurationRequesterTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,6 @@ private static Bandit BasicBandit(string banditKey, string modelVersion = "v123"
});
}

private static Mock<EppoHttpClient> CreateAPIMock() => new Mock<EppoHttpClient>("apiKey", "sdkName", "sdkVersion", "baseUrl", 3000);

private static Mock<EppoHttpClient> MockAPIWithFlagsAndBandits()
{
var flags = new Dictionary<string, Flag>
Expand Down Expand Up @@ -69,7 +67,7 @@ private static Mock<EppoHttpClient> MockAPIWithFlagsAndBandits()
}
};

var mockAPI = CreateAPIMock();
var mockAPI = GetMockAPI();

mockAPI.Setup(m => m.Get<FlagConfigurationResponse>(Constants.UFC_ENDPOINT, It.IsAny<string>()))
.Returns(new VersionedResourceResponse<FlagConfigurationResponse>(response, "ETAG"));
Expand Down Expand Up @@ -99,7 +97,7 @@ private static Mock<EppoHttpClient> MockAPIWithFlagsOnly(string lastVersion = "l
}
};

var mockAPI = CreateAPIMock();
var mockAPI = GetMockAPI();

mockAPI.Setup(m => m.Get<FlagConfigurationResponse>(Constants.UFC_ENDPOINT, It.IsAny<string>()))
.Returns(new VersionedResourceResponse<FlagConfigurationResponse>(response, lastVersion));
Expand Down Expand Up @@ -162,7 +160,7 @@ public void ShouldNotLoadBanditsIfNotReferenced()
[Test]
public void ShouldSendLastVersionString()
{
var mockAPI = CreateAPIMock();
var mockAPI = GetMockAPI();

var response = new FlagConfigurationResponse()
{
Expand All @@ -188,7 +186,7 @@ public void ShouldSendLastVersionString()
[Test]
public void ShouldNotSetConfigIfNotModified()
{
var mockAPI = CreateAPIMock();
var mockAPI = GetMockAPI();
var flagKeys = new string[] { "flag1", "flag2", "flag3" };

// Response with 3 flags
Expand Down Expand Up @@ -268,28 +266,28 @@ public void ShouldResetFlagsOnLoad()
var banditRefs1 = new BanditReferences()
{
["unchangingBandit"] = new BanditReference(
"v123",
"v123",
new BanditFlagVariation[] { unchangingBanditVariation }),
["departingBandit"] = new BanditReference(
"v321",
"v321",
new BanditFlagVariation[] { departingBanditVariation })
};
var banditRefs2 = new BanditReferences()
{
["unchangingBandit"] = new BanditReference(
"v123",
"v123",
new BanditFlagVariation[] { unchangingBanditVariation }),
["newBandit"] = new BanditReference(
"v456",
"v456",
new BanditFlagVariation[] { newBanditVariation })
};
var banditRefs3 = new BanditReferences()
{
["unchangingBandit"] = new BanditReference(
"v123",
"v123",
new BanditFlagVariation[] { unchangingBanditVariation }),
["newBandit2"] = new BanditReference(
"v789",
"v789",
new BanditFlagVariation[] { newBandit2Variation })
};

Expand Down Expand Up @@ -329,7 +327,7 @@ public void ShouldResetFlagsOnLoad()


// Set up the API to return the 3 responses in order.
var mockAPI = CreateAPIMock();
var mockAPI = GetMockAPI();
mockAPI.SetupSequence(m => m.Get<FlagConfigurationResponse>(Constants.UFC_ENDPOINT, It.IsAny<string>()))
.Returns(new VersionedResourceResponse<FlagConfigurationResponse>(response1, "version1"))
.Returns(new VersionedResourceResponse<FlagConfigurationResponse>(response2, "version2"))
Expand All @@ -354,6 +352,11 @@ public void ShouldResetFlagsOnLoad()
requester.LoadConfiguration();
AssertHasConfig(requester, flags3, banditRefs3, bandits3);
}

private static Mock<EppoHttpClient> GetMockAPI()
{
return new Mock<EppoHttpClient>("apiKey", "sdkName", "sdkVersion", "baseUrl", 3000);
}

private static void AssertHasConfig(ConfigurationRequester requester, string[] flagKeys, BanditReferences banditReferences, string[] banditKeys)
{
Expand Down
44 changes: 22 additions & 22 deletions eppo-sdk-test/store/ConfigurationStoreTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -53,27 +53,27 @@ public void ShouldClearOldValuesOnSet()
var initialBandits = new Bandit[] { bandit1, bandit2 };
var newBandits = new Bandit[] { bandit1, bandit3 };

var initialBanditFlags = new BanditFlags()
var initialDataDictionary = new Dictionary<string, string>
{
["bandit1"] = new BanditVariation[] { new("bandit1", "flag1", "bandit1", "bandit1") },
["bandit2"] = new BanditVariation[] { new("bandit2", "flag2", "bandit2", "bandit2") }
["foo"] = "bar",
["bar"] = "baz"
};
var newBanditFlags = new BanditFlags()
var newDataDictionary = new Dictionary<string, string>
{
["bandit1"] = new BanditVariation[] { new("bandit1", "flag1", "bandit1", "bandit1") },
["bandit3"] = new BanditVariation[] { new("bandit3", "flag3", "bandit3", "bandit3") }
["bandit1"] = "true",
["bandit3"] = "false"
};

var initialMetadata = new Dictionary<string, object>()
{
["UFC_VERSION"] = "UFCVersion1",
["BANDIT_VARIATIONS"] = initialBanditFlags
["DICT_OBJECT"] = initialDataDictionary
};

var newlMetadata = new Dictionary<string, object>()
{
["UFC_VERSION"] = "UFCVersion2",
["BANDIT_VARIATIONS"] = newBanditFlags
["DICT_OBJECT"] = newDataDictionary
};

store.SetConfiguration(initialFlags, initialBandits, initialMetadata);
Expand All @@ -90,12 +90,12 @@ public void ShouldClearOldValuesOnSet()
Assert.That(store.TryGetMetadata("UFC_VERSION", out string? data), Is.True);
Assert.That(data, Is.EqualTo("UFCVersion1"));

Assert.That(store.TryGetMetadata("BANDIT_VARIATIONS", out BanditFlags? banditFlags), Is.True);
Assert.That(banditFlags, Is.Not.Null);
Assert.That(banditFlags?["bandit1"], Is.Not.Null);
Assert.That(banditFlags?["bandit1"], Has.Length.EqualTo(1));
Assert.That(banditFlags?["bandit2"], Is.Not.Null);
Assert.That(banditFlags?["bandit2"], Has.Length.EqualTo(1));
Assert.That(store.TryGetMetadata("DICT_OBJECT", out Dictionary<string, string>? storedDict), Is.True);
Assert.That(storedDict, Is.Not.Null);
Assert.That(storedDict?["foo"], Is.Not.Null);
Assert.That(storedDict?["foo"], Is.EqualTo("bar"));
Assert.That(storedDict?["bar"], Is.Not.Null);
Assert.That(storedDict?["bar"], Is.EqualTo("baz"));
});

store.SetConfiguration(newFlags, newBandits, newlMetadata);
Expand All @@ -112,12 +112,12 @@ public void ShouldClearOldValuesOnSet()
Assert.That(store.TryGetMetadata("UFC_VERSION", out string? data), Is.True);
Assert.That(data, Is.EqualTo("UFCVersion2"));

Assert.That(store.TryGetMetadata("BANDIT_VARIATIONS", out BanditFlags? banditFlags), Is.True);
Assert.That(banditFlags, Is.Not.Null);
Assert.That(banditFlags?["bandit1"], Is.Not.Null);
Assert.That(banditFlags?["bandit1"], Has.Length.EqualTo(1));
Assert.That(banditFlags?["bandit3"], Is.Not.Null);
Assert.That(banditFlags?["bandit3"], Has.Length.EqualTo(1));
Assert.That(store.TryGetMetadata("DICT_OBJECT", out Dictionary<string, string>? storedDict), Is.True);
Assert.That(storedDict, Is.Not.Null);
Assert.That(storedDict?["bandit1"], Is.Not.Null);
Assert.That(storedDict?["bandit1"], Is.EqualTo("true"));
Assert.That(storedDict?["bandit3"], Is.Not.Null);
Assert.That(storedDict?["bandit3"], Is.EqualTo("false"));
});

store.SetConfiguration(Array.Empty<Flag>(), Array.Empty<Bandit>(), new Dictionary<string, object>());
Expand All @@ -132,8 +132,8 @@ public void ShouldClearOldValuesOnSet()
Assert.Multiple(()=> {
Assert.That(store.TryGetMetadata("UFC_VERSION", out string? data), Is.False);
Assert.That(data, Is.Null);
Assert.That(store.TryGetMetadata("BANDIT_VARIATIONS", out string? banditFlags), Is.False);
Assert.That(banditFlags, Is.Null);
Assert.That(store.TryGetMetadata("DICT_OBJECT", out string? storedDict), Is.False);
Assert.That(storedDict, Is.Null);
});

}
Expand Down

0 comments on commit 413bade

Please sign in to comment.