public void should_be_disabled_when_missing_user_id() { var context = UnleashContext.New().Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); gradualRolloutStrategy.IsEnabled(new Dictionary <string, string>(), context).Should().BeFalse(); }
public void should_not_be_enabled_when_0percent_rollout() { var context = UnleashContext.New().SessionId("1574576830").Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); var parameters = buildParams(0, "innfinn"); var actual = gradualRolloutStrategy.IsEnabled(parameters, context); actual.Should().BeFalse("should not be enabled when 0% rollout"); }
public void should_be_enabled_when_using_100percent_rollout() { var context = UnleashContext.New().SessionId("1574576830").Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); var parameters = buildParams(100, "innfinn"); var result = gradualRolloutStrategy.IsEnabled(parameters, context); result.Should().BeTrue(); }
public void should_not_be_enabled_when_0percent_rollout() { var context = UnleashContext.CreateBuilder().SessionId("1574576830").Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); var parms = BuildParams(0, "innfinn"); var actual = gradualRolloutStrategy.IsEnabled(parms, context); Assert.False(actual); //"should not be enabled when 0% rollout", }
public void should_be_enabled_when_using_100percent_rollout() { var context = UnleashContext.CreateBuilder().SessionId("1574576830").Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); var parms = BuildParams(100, "innfinn"); var result = gradualRolloutStrategy.IsEnabled(parms, context); Assert.True(result); }
public void should_have_same_result_for_multiple_executions() { var context = UnleashContext.New().SessionId("1574576830").Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); var parameters = buildParams(1, "innfinn"); bool firstRunResult = gradualRolloutStrategy.IsEnabled(parameters, context); for (int i = 0; i < 10; i++) { var subsequentRunResult = gradualRolloutStrategy.IsEnabled(parameters, context); firstRunResult.Should().Be(subsequentRunResult, "loginId will return same result when unchanged parameters"); } }
public void should_have_same_result_for_multiple_executions() { var context = UnleashContext.CreateBuilder().SessionId("1574576830").Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); var parms = BuildParams(1, "innfinn"); bool firstRunResult = gradualRolloutStrategy.IsEnabled(parms, context); for (int i = 0; i < 10; i++) { bool subsequentRunResult = gradualRolloutStrategy.IsEnabled(parms, context); Assert.Equal( subsequentRunResult, firstRunResult); } }
public void should_be_enabled_above_minimum_percentage() { string sessionId = "1574576830"; string groupId = ""; int minimumPercentage = StrategyUtils.GetNormalizedNumber(sessionId, groupId); var context = UnleashContext.New().SessionId(sessionId).Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); for (int p = minimumPercentage; p <= 100; p++) { var parameters = buildParams(p, groupId); var actual = gradualRolloutStrategy.IsEnabled(parameters, context); actual.Should().BeTrue("should be enabled when " + p + "% rollout"); } }
public void should_be_enabled_above_minimum_percentage() { const string sessionId = "1574576830"; const string groupId = ""; var minimumPercentage = StrategyUtils.GetNormalizedNumber(sessionId, groupId); var context = UnleashContext.CreateBuilder().SessionId(sessionId).Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); for (int p = minimumPercentage; p <= 100; p++) { var parms = BuildParams(p, groupId); var actual = gradualRolloutStrategy.IsEnabled(parms, context); Assert.True(actual); //"should be enabled when " + p + "% rollout" } }
protected int checkRandomLoginIDs(int numberOfIDs, int percentage) { int numberOfEnabledUsers = 0; for (int i = 0; i < numberOfIDs; i++) { var sessionId = getRandomLoginId(); var context = UnleashContext.New().SessionId(sessionId.ToString()).Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); var parameters = buildParams(percentage, ""); bool enabled = gradualRolloutStrategy.IsEnabled(parameters, context); if (enabled) { numberOfEnabledUsers++; } } return(numberOfEnabledUsers); }
private int CheckRandomLoginIDs(int numberOfIDs, int percentage) { int numberOfEnabledUsers = 0; for (int i = 0; i < numberOfIDs; i++) { var sessionId = GetRandomLoginId(); var context = UnleashContext.CreateBuilder().SessionId(sessionId.ToString()).Build(); var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); var parms = BuildParams(percentage, ""); var enabled = gradualRolloutStrategy.IsEnabled(parms, context); if (enabled) { numberOfEnabledUsers++; } } return(numberOfEnabledUsers); }
public void should_require_context() { var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); gradualRolloutStrategy.IsEnabled(new Dictionary <string, string>()).Should().BeFalse(); }
public void should_have_a_name() { var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); gradualRolloutStrategy.Name.Should().Be("gradualRolloutSessionId"); }
public void should_have_a_name() { var gradualRolloutStrategy = new GradualRolloutSessionIdStrategy(); Assert.Equal("gradualRolloutSessionId", gradualRolloutStrategy.Name); }