public void WhenAccountIsFlighted_ReturnsTrue(bool defaultValue) { var latestFlags = FeatureFlagStateBuilder .Create() .WithFlight("Flight", new Flight(all: false, siteAdmins: false, accounts: new List <string> { "Alice", "case_test" }, domains: new List <string>())) .Build(); _cache .Setup(f => f.GetLatestFlagsOrNull()) .Returns(latestFlags); Assert.False(_target.IsEnabled("Flight", _user, defaultValue)); Assert.False(_target.IsEnabled("flight", _user, defaultValue)); Assert.True(_target.IsEnabled("Flight", _admin, defaultValue)); Assert.True(_target.IsEnabled("flight", _admin, defaultValue)); Assert.False(_target.IsEnabled("Flight", _anonymous, defaultValue)); Assert.False(_target.IsEnabled("flight", _anonymous, defaultValue)); // Account names should be case insensitive var user2 = new TestFlightUser { Username = "******", EmailAddress = "*****@*****.**" }; Assert.True(_target.IsEnabled("Flight", user2, defaultValue)); Assert.True(_target.IsEnabled("flight", user2, defaultValue)); }
public FactsBase() { _storage = new Mock <IFeatureFlagStorageService>(); _telemetry = new Mock <IFeatureFlagTelemetryService>(); _options = new FeatureFlagOptions(); _target = new FeatureFlagCacheService( _storage.Object, _options, _telemetry.Object, Mock.Of <ILogger <FeatureFlagCacheService> >()); _latestFlags = FeatureFlagStateBuilder .Create() .WithFeature("Foo", FeatureStatus.Enabled) .Build(); _stalenessMetrics = new List <TimeSpan>(); _telemetry .Setup(t => t.TrackFeatureFlagStaleness(It.IsAny <TimeSpan>())) .Callback((TimeSpan staleness) => { _stalenessMetrics.Add(staleness); }); }
public void WhenFlagUnknown_ReturnsDefault(bool defaultValue) { var latestFlags = FeatureFlagStateBuilder.Create().Build(); _cache .Setup(f => f.GetLatestFlagsOrNull()) .Returns(latestFlags); Assert.Equal(defaultValue, _target.IsEnabled("Feature", defaultValue)); }
public void WhenFlagDisabled_ReturnsFalse(bool defaultValue) { var latestFlags = FeatureFlagStateBuilder .Create() .WithFeature("Feature", FeatureStatus.Disabled) .Build(); _cache .Setup(f => f.GetLatestFlagsOrNull()) .Returns(latestFlags); Assert.False(_target.IsEnabled("Feature", defaultValue)); Assert.False(_target.IsEnabled("feature", defaultValue)); }
public void WhenFlightUnknown_ReturnsDefault(bool defaultValue) { var latestFlags = FeatureFlagStateBuilder .Create() .WithFlight("Flight", new Flight(all: false, siteAdmins: false, accounts: new List <string>(), domains: new List <string>())) .Build(); _cache .Setup(f => f.GetLatestFlagsOrNull()) .Returns(latestFlags); Assert.Equal(defaultValue, _target.IsEnabled("Unknown", _user, defaultValue)); Assert.Equal(defaultValue, _target.IsEnabled("Unknown", _anonymous, defaultValue)); }
public void WhenAdminsFlighted_ReturnsTrue(bool defaultValue) { var latestFlags = FeatureFlagStateBuilder .Create() .WithFlight("Flight", new Flight(all: false, siteAdmins: true, accounts: new List <string>(), domains: new List <string>())) .Build(); _cache .Setup(f => f.GetLatestFlagsOrNull()) .Returns(latestFlags); Assert.False(_target.IsEnabled("Flight", _user, defaultValue)); Assert.False(_target.IsEnabled("flight", _user, defaultValue)); Assert.True(_target.IsEnabled("flight", _admin, defaultValue)); Assert.True(_target.IsEnabled("Flight", _admin, defaultValue)); Assert.False(_target.IsEnabled("Flight", _anonymous, defaultValue)); Assert.False(_target.IsEnabled("flight", _anonymous, defaultValue)); }