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);
        }
Esempio n. 3
0
        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"));
        }
Esempio n. 5
0
        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();
 }
Esempio n. 8
0
 private void timer2_Tick(object sender, EventArgs e)
 {
     var enabled = Unleash.IsEnabled(ToggleNameTextBox.Text);
 }