public async Task RevertsToDefaultValueWhenFeatureFlagIsTurnedOff() { SetCacheTime(ODataCachedEndpoint.GetSpecificPackage, 600); var target = new ODataCacheOutputAttribute(ODataCachedEndpoint.GetSpecificPackage, 100) { ReloadDuration = TimeSpan.Zero, }; target.OnActionExecuting(ActionContext); await target.OnActionExecutedAsync(ActionExecutedContext, CancellationToken.None); FeatureFlagService.Setup(x => x.AreDynamicODataCacheDurationsEnabled()).Returns(false); Cache.ResetCalls(); target.OnActionExecuting(ActionContext); var before = DateTimeOffset.Now; await target.OnActionExecutedAsync(ActionExecutedContext, CancellationToken.None); var after = DateTimeOffset.Now; Cache.Verify( x => x.Add( It.IsAny <string>(), It.IsAny <object>(), It.Is <DateTimeOffset>(e => before.AddSeconds(100) <= e && e <= after.AddSeconds(100)), null), Times.Once); }
public void ReturnsFalseWhenUserIsNotInFlight() { FeatureFlagService .Setup(x => x.IsABTestingEnabled(It.IsAny <User>())) .Returns(false); var result = RunTest(User); Assert.False(result, "The test should not be enabled."); FeatureFlagService.Verify(x => x.IsABTestingEnabled(User), Times.Once); Assert.Empty(ResponseCookies); EnrollmentFactory.Verify(x => x.Initialize(), Times.Never); ABTestEnrollment outEnrollment; EnrollmentFactory.Verify(x => x.TryDeserialize(It.IsAny <string>(), out outEnrollment), Times.Never); }
public async Task CanUseZeroWhenConfigurationIsTurnedOff() { SetCacheTime(ODataCachedEndpoint.GetSpecificPackage, 600); var target = new ODataCacheOutputAttribute(ODataCachedEndpoint.GetSpecificPackage, 0); FeatureFlagService.Setup(x => x.AreDynamicODataCacheDurationsEnabled()).Returns(false); target.OnActionExecuting(ActionContext); await target.OnActionExecutedAsync(ActionExecutedContext, CancellationToken.None); Cache.Verify( x => x.Add( It.IsAny <string>(), It.IsAny <object>(), It.IsAny <DateTimeOffset>(), It.IsAny <string>()), Times.Never); }