Example #1
0
        public TestConfig(int?apiRequestTimeoutMilliseconds = null)
        {
            var config = new Mock <IFeatureToggleConfiguration>();

            config.Setup(x => x.CacheDurationInSeconds).Returns(60);
            config.Setup(x => x.TableName).Returns("TestTable");
            Configuration = config.Object;
        }
Example #2
0
        private IEnumerable <IFeatureToggle> BuildToggles(IFeatureToggleConfiguration configuration)
        {
            Dictionary <string, KeyValuePair <ToggleConfig, IFeatureToggle> > toggles =
                configuration
                .Toggles
                .Cast <ToggleConfig>()
                .ToDictionary(x => x.Name, x => new KeyValuePair <ToggleConfig, IFeatureToggle>(x, ConvertToFeatureToggle(x)));

            return(BuildDependencies(toggles).ToList());
        }
Example #3
0
        public FeatureToggleService(IFeatureToggleConfiguration configuration, ILogger <FeatureToggleService> logger)
        {
            var store = DynamoDBComponents.DynamoDBFeatureStore(configuration.TableName)
                        .WithCaching(FeatureStoreCacheConfig.Enabled.WithTtlSeconds(configuration.CacheDurationInSeconds));

            var ldConfig = new LaunchDarkly.Client.Configuration()
                           .WithFeatureStoreFactory(store).WithOffline(true);

            _ldClient = new LdClient(ldConfig);
            _logger   = logger;
        }
        private IEnumerable<IFeatureToggle> BuildToggles(IFeatureToggleConfiguration configuration)
        {
            Dictionary<string, KeyValuePair<ToggleConfig, IFeatureToggle>> toggles =
                configuration
                    .Toggles
                    .Cast<ToggleConfig>()
                    .ToDictionary(x => x.Name, x => new KeyValuePair<ToggleConfig, IFeatureToggle>(x, ConvertToFeatureToggle(x)));

            return BuildDependencies(toggles).ToList();
        }