public void TestAfterDisposeGetOptimizelyConfigIsNoLongerValid() { var httpManager = new HttpProjectConfigManager.Builder() .WithSdkKey("QBw9gFM8oTn7ogY9ANCC1z") .WithDatafile(TestData.Datafile) .WithPollingInterval(TimeSpan.FromMilliseconds(50000)) .WithBlockingTimeoutPeriod(TimeSpan.FromMilliseconds(500)) .Build(true); var optimizely = new Optimizely(httpManager); httpManager.Start(); var optimizelyConfig = optimizely.GetOptimizelyConfig(); Assert.NotNull(optimizelyConfig); Assert.NotNull(optimizelyConfig.ExperimentsMap); Assert.NotNull(optimizelyConfig.FeaturesMap); Assert.NotNull(optimizelyConfig.Revision); optimizely.Dispose(); var optimizelyConfigAfterDispose = optimizely.GetOptimizelyConfig(); Assert.Null(optimizelyConfigAfterDispose); }
public void TestHttpConfigManagerSendConfigUpdateNotificationWhenProjectConfigGetsUpdated() { var t = MockSendAsync(TestData.Datafile); var httpManager = new HttpProjectConfigManager.Builder() .WithSdkKey("QBw9gFM8oTn7ogY9ANCC1z") .WithLogger(LoggerMock.Object) .WithPollingInterval(TimeSpan.FromMilliseconds(1000)) .WithBlockingTimeoutPeriod(TimeSpan.FromMilliseconds(1000)) .WithStartByDefault(false) .Build(true); httpManager.NotifyOnProjectConfigUpdate += NotificationCallbackMock.Object.TestConfigUpdateCallback; httpManager.Start(); Assert.NotNull(httpManager.GetConfig()); Task.Delay(200).Wait(); NotificationCallbackMock.Verify(nc => nc.TestConfigUpdateCallback(), Times.AtLeastOnce); httpManager.Dispose(); }