public Task ExecuteAsync(CancellationToken cancellationToken) { // Initialize context UnleashContextProvider.Context.RemoteAddress = GetIpAddress() ?? "127.0.0.1"; UnleashContextProvider.Context.UserId = State.Iteration.ToString(); UnleashContextProvider.Context.SessionId = Options.SessionId; if (Options.ExtraParamName != null && Options.ExtraParamValue != null) { UnleashContextProvider.Context.Properties[Options.ExtraParamName] = Options.ExtraParamValue; } // Check flag var isEnabled = Unleash.IsEnabled(Options.FeatureToggleName); // Output results var messageBuilder = new StringBuilder(); messageBuilder.Append($"{Options.FeatureToggleName}={isEnabled} for "); messageBuilder.Append($"(UserId={State.Iteration},SessionId={Options.SessionId}"); if (Options.ExtraParamName != null && Options.ExtraParamValue != null) { messageBuilder.Append($",{Options.ExtraParamName}={Options.ExtraParamValue})"); } else { messageBuilder.Append(")"); } Logger.LogInformation(messageBuilder.ToString()); State.Iteration++; return(Task.CompletedTask); }
public UnleashServiceFixture() { Settings = new UnleashSettings { UnleashApi = new Uri("http://localhost:4242/"), AppName = "IntegrationTest", InstanceTag = "Test" }; UnleashServices = new DefaultUnleashServices(Settings); ContextProvider = new DefaultUnleashContextProvider(); Unleash = new Unleash(Settings, UnleashServices, ContextProvider); UnleashServices?.FeatureToggleLoadComplete(false, CancellationToken.None).Wait(); var httpClient = new HttpClient { BaseAddress = new Uri("http://localhost:4242/admin/") }; httpClient.DefaultRequestHeaders.ConnectionClose = false; httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "application/json"); httpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json"); httpClient.DefaultRequestHeaders.CacheControl = new CacheControlHeaderValue { NoCache = true }; var jsonSerializerSettings = new NewtonsoftJsonSerializerSettings(); JsonSerializer = new NewtonsoftJsonSerializer(jsonSerializerSettings); AdminApiClient = new UnleashAdminApiClient(httpClient, JsonSerializer); }
public override void CheckAbnormality(S_ABNORMALITY_END p) { if (!Game.IsMe(p.TargetId)) { return; } if (!IsViewModelAvailable <BerserkerLayoutVM>(out var vm)) { return; } CheckUnleashAbnormals(p); switch (p.AbnormalityId) { case BloodlustId: vm !.Bloodlust.StopEffect(); break; case FieryRageId: vm !.FieryRage.StopEffect(); break; case UnleashId: vm !.Unleash.StopEffect(); vm !.IsUnleashOn = false; vm !.IsUnleashOff = true; break; } }
public ActionResult FlagTest() { if (!Unleash.IsEnabled("unleash.client.test.integration.flag")) { return(Conflict()); } return(Ok("Ok")); }
private void UpdateLabel() { var enabled = Unleash.IsEnabled(ToggleNameTextBox.Text); var enabledString = enabled ? "enabled" : "disabled"; ResultLabel.Text = $"{ToggleNameTextBox.Text} is {enabledString} for user {UsernameTextBox.Text}"; }
public void GetVariants_WithExpectedData_ReturnsExpectedResults() { var expectedVariants = new List <Variant>() { new Variant( "variant.1", 34, new Payload { Type = "string", Value = "variant 1 payload" }, null), new Variant( "variant.2", 33, new Payload { Type = "string", Value = "variant 2 payload" }, null), new Variant( "variant.3", 33, new Payload { Type = "string", Value = "variant 3 payload" }, null) }; var actualVariants = Unleash.GetVariants("unleash.client.test.integration.flag.enabled.with-three-variants").ToArray(); Assert.Equal(3, actualVariants.Length); AssertionUtils.AssertVariantsEquivalent(expectedVariants, actualVariants); }
protected void Application_End() { Unleash.Dispose(); }
private void timer2_Tick(object sender, EventArgs e) { var enabled = Unleash.IsEnabled(ToggleNameTextBox.Text); }