public void EmptyFlagName_NotAllowed() { string testFlag = string.Empty; var testFeatureFlagService = new FeatureFlagService(Enumerable.Empty <IFeatureFlagProvider>(), clock); Assert.Throws <ArgumentException>(() => testFeatureFlagService.IsEnabled(testFlag)); }
public void WithEmptyProviderList_ReturnFalse() { string testFlag = nameof(testFlag); var testFeatureFlagService = new FeatureFlagService(Enumerable.Empty <IFeatureFlagProvider>(), clock); var result = testFeatureFlagService.IsEnabled(testFlag); Assert.False(result); }
public async Task ReturnsNotFoundWhenFeatureFlagIsDisabled() { FeatureFlagService .Setup(x => x.IsSearchSideBySideEnabled(It.IsAny <User>())) .Returns(false); var result = await Target.SearchSideBySide(ViewModel); Assert.IsType <HttpNotFoundResult>(result); }
public void DisabledTestFlag_ReturnFalse() { string testFlag = nameof(testFlag); var testProvider = CreateTestFeatureProvider(new[] { new FeatureFlag(nameof(testFlag), enabled: false) }); var testFeatureFlagService = new FeatureFlagService(new[] { testProvider }, clock); var result = testFeatureFlagService.IsEnabled(testFlag); Assert.False(result); }
public async Task CallsDependencies() { await Target.SearchSideBySide(SearchTerm); FeatureFlagService.Verify( x => x.IsSearchSideBySideEnabled(TestUtility.FakeUser), Times.Once); SearchSideBySideService.Verify( x => x.SearchAsync(SearchTerm, TestUtility.FakeUser), Times.Once); }
public async Task CallsDependencies() { await Target.SearchSideBySide(ViewModel); FeatureFlagService.Verify( x => x.IsSearchSideBySideEnabled(TestUtility.FakeUser), Times.Once); SearchSideBySideService.Verify( x => x.RecordFeedbackAsync(ViewModel, "https://localhost/experiments/search-sxs?q=json"), Times.Once); }
public void OneEnabledOneDisabled_Returns_True() { string testFlag = nameof(testFlag); var testProvider = CreateTestFeatureProvider(new[] { new FeatureFlag(nameof(testFlag), enabled: true) }); var otherProvider = CreateTestFeatureProvider(new[] { new FeatureFlag(nameof(testFlag), enabled: false) }); var testFeatureFlagService = new FeatureFlagService(new[] { testProvider, otherProvider }, clock); var result = testFeatureFlagService.IsEnabled(testFlag); Assert.True(result); }
public void GetFeatureFlag_Should_Return_False_for_EJud_Feature() { _mocker.Mock <IOptions <FeatureFlagConfiguration> >().Setup(opt => opt.Value).Returns(new FeatureFlagConfiguration() { EJudFeature = false }); _service = _mocker.Create <FeatureFlagService>(); var featureFlag = _service.GetFeatureFlag(nameof(FeatureFlags.EJudFeature)); featureFlag.Should().BeFalse(); }
public void GetFeatureFlag_Should_Return_True_for_StaffMember_Feature() { _mocker.Mock <IOptions <FeatureFlagConfiguration> >().Setup(opt => opt.Value).Returns(new FeatureFlagConfiguration() { StaffMemberFeature = true }); _service = _mocker.Create <FeatureFlagService>(); var featureFlag = _service.GetFeatureFlag(nameof(FeatureFlags.StaffMemberFeature)); featureFlag.Should().BeTrue(); }
public void OneProvider_Returns_EnabledForExisting() { string testFlag = nameof(testFlag); var testProvider = CreateTestFeatureProvider(new[] { testFlag }); var testFeatureFlagService = new FeatureFlagService(new[] { testProvider }, clock); var result = testFeatureFlagService.IsEnabled(testFlag); Assert.True(result); }
public async Task ReturnsIsDisabledWhenFeatureFlagIsDisabled() { FeatureFlagService .Setup(x => x.IsSearchSideBySideEnabled(It.IsAny <User>())) .Returns(false); var result = await Target.SearchSideBySide(SearchTerm); var model = ResultAssert.IsView <SearchSideBySideViewModel>(result); Assert.True(model.IsDisabled); }
public void MultipleProvider_Returns_EnabledForExistingFromOther() { string testFlag = nameof(testFlag); string otherFlag = nameof(otherFlag); var testProvider = CreateTestFeatureProvider(new[] { testFlag }); var otherProvider = CreateTestFeatureProvider(new[] { otherFlag }); var testFeatureFlagService = new FeatureFlagService(new[] { testProvider, otherProvider }, clock); var result = testFeatureFlagService.IsEnabled(otherFlag); Assert.True(result); }
public void MulitpleProvider_Returns_NotEnabledForNotExisting() { string testFlag = nameof(testFlag); string otherFlag = nameof(otherFlag); string notExistingFlag = nameof(notExistingFlag); var testProvider = CreateTestFeatureProvider(new[] { testFlag }); var otherProvider = CreateTestFeatureProvider(new[] { otherFlag }); var testFeatureFlagService = new FeatureFlagService(new[] { testProvider, otherProvider }, clock); var result = testFeatureFlagService.IsEnabled(notExistingFlag); Assert.False(result); }
public async Task DoesNotAcquireLeaseWhenFeatureFlagIsDisabled() { FeatureFlagService.Setup(x => x.IsOrchestratorLeaseEnabled()).Returns(false); var success = await Target.HandleAsync(Message); Assert.True(success); VerifyAcquire(Times.Never); ValidationSetProcessor.Verify( x => x.ProcessValidationsAsync(It.IsAny <PackageValidationSet>()), Times.Once); ValidationOutcomeProcessor.Verify( x => x.ProcessValidationOutcomeAsync( It.IsAny <PackageValidationSet>(), It.IsAny <IValidatingEntity <TestEntity> >(), It.IsAny <ValidationSetProcessorResult>(), It.IsAny <bool>()), Times.Once); VerifyRelease(Times.Never); }
public void DisabledAfterBeforeDate_TestFlag_ReturnsFalse() { var testDate = DateTime.UtcNow; var mockClock = new Mock <IClock>(); mockClock.Setup(x => x.UtcNow()).Returns(testDate); string testFlag = nameof(testFlag); var testFeatureFlag = new FeatureFlag(nameof(testFlag), enabled: true) { UntilDate = testDate.AddDays(-1) }; var testProvider = CreateTestFeatureProvider(new[] { testFeatureFlag }); var testFeatureFlagService = new FeatureFlagService(new[] { testProvider }, mockClock.Object); var result = testFeatureFlagService.IsEnabled(testFlag); Assert.False(result); }
public CommandsController(ICommanderRepo repository, IMapper mapper, FeatureFlagService featureFlagService) { _repository = repository; _mapper = mapper; _featureFlagService = featureFlagService; }
public void GetFeatureFlag_Should_Throw_FeatureFlagNotFoundException() { _service = _mocker.Create <FeatureFlagService>(); Assert.Throws <FeatureFlagNotFoundException>(() => _service.GetFeatureFlag("TestFeature")); }