public async Task get_feature_from_the_store_dont_use_cache_if_isnot_configured() { var permission = Builders.Permission() .WithManagementPermission() .Build(); await _fixture.Given .AddPermission(permission); var defaultRing = Builders.Deployment() .WithName(EsquioConstants.DEFAULT_DEPLOYMENT_NAME) .WithDefault(true) .Build(); var product = Builders.Product() .WithName("fooproduct") .Build(); product.Deployments .Add(defaultRing); var feature = Builders.Feature() .WithName("barfeature") .Build(); var toggle = Builders.Toggle() .WithType("Esquio.Toggles.EnvironmentToggle,Esquio") .Build(); var parameter = Builders.Parameter() .WithName("Environments") .WithValue("Development") .WithRingName(defaultRing.Name) .Build(); toggle.Parameters .Add(parameter); feature.Toggles .Add(toggle); product.Features .Add(feature); await _fixture.Given .AddProduct(product); var apiKeyValue = "barkey"; var apiKey = Builders.ApiKey() .WithName("fooname") .Withkey(apiKeyValue) .WithValidTo(DateTime.UtcNow.AddDays(1)) .Build(); await _fixture.Given .AddApiKey(apiKey); var cache = CreateDefaultCache(); var store = CreateCachedStore(cache, apiKey: apiKey.Key, useCache: false); var featureModel = await store .FindFeatureAsync(feature.Name, product.Name, EsquioConstants.DEFAULT_DEPLOYMENT_NAME); featureModel.Name .Should() .BeEquivalentTo(feature.Name); var cacheKey = CacheKeyCreator.GetCacheKey(product.Name, feature.Name, defaultRing.Name, "3.0"); var entry = await cache.GetStringAsync(cacheKey); entry.Should() .BeNull(); await cache.SetStringAsync(cacheKey, "{\"featureName\":\"barfeature\",\"enabled\":false}"); featureModel = await store .FindFeatureAsync(feature.Name, product.Name, EsquioConstants.DEFAULT_DEPLOYMENT_NAME); featureModel.IsEnabled .Should().BeFalse(); }
public void CreateTest() { var baseUrl = "baseUrl"; var endPoint = "dummy"; var parameters = new Dictionary <string, string> { { "key", "value" }, { "キー", "バリュー" } }; var request = new ApiGetRequest(endPoint, parameters); Assert.AreEqual("api/baseUrl/dummy?%e3%82%ad%e3%83%bc=%e3%83%90%e3%83%aa%e3%83%a5%e3%83%bc&key=value", CacheKeyCreator.Create(baseUrl, request)); }