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);
        }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
        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();
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
            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);
            }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
        }
Ejemplo n.º 14
0
            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);
            }
Ejemplo n.º 15
0
        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);
        }
Ejemplo n.º 16
0
 public CommandsController(ICommanderRepo repository, IMapper mapper, FeatureFlagService featureFlagService)
 {
     _repository         = repository;
     _mapper             = mapper;
     _featureFlagService = featureFlagService;
 }
Ejemplo n.º 17
0
        public void GetFeatureFlag_Should_Throw_FeatureFlagNotFoundException()
        {
            _service = _mocker.Create <FeatureFlagService>();

            Assert.Throws <FeatureFlagNotFoundException>(() => _service.GetFeatureFlag("TestFeature"));
        }