public void OfflineCacheTests_Import()
        {
            // Arrange
            var options = new AzureAppConfigurationOptions();

            options.Connect($"Endpoint=https://dotnetprovider-test.azconfig.io;Id=b1d9b31;Secret=c2VjcmV0");
            options.Select("AppName");

            var offlineCache = new OfflineFileCache(new OfflineFileCacheOptions
            {
                Path = Path.Combine(Directory.GetCurrentDirectory(), "cache.json")
            });

            // Act
            var result = offlineCache.Import(options);

            // Assert
            Assert.NotNull(result);

            var settings = JsonSerializer.Deserialize <IDictionary <string, ConfigurationSetting> >(result);

            Assert.Equal(1, settings.Count);

            var setting = settings.Single();

            Assert.Equal("AppName", setting.Key);
            Assert.NotNull(setting.Value);
            Assert.Equal("Azure App Configuration", setting.Value.Value);
        }
Beispiel #2
0
        public static void WithManagedIdentity(AzureAppConfigurationOptions options)
        {
            options.ConnectWithManagedIdentity(AzureAppConfiguration.ManagedIdentityEndpoint);

            if (AzureAppConfiguration.UseLabel)
            {
                options.Use(KeyFilter.Any, AzureAppConfiguration.Label);
            }
        }
Beispiel #3
0
        public static void WithConnectionString(AzureAppConfigurationOptions options)
        {
            options.Connect(AzureAppConfiguration.ConnectionString);

            if (AzureAppConfiguration.UseLabel)
            {
                options.Use(KeyFilter.Any, AzureAppConfiguration.Label);
            }
        }
        private static void ConfigureCacheRefresh(
            AzureAppConfigurationOptions options,
            AppConfigOptions appConfig,
            Action <AzureAppConfigurationRefreshOptions> refreshConfiguration)
        {
            bool sentinelKeySet = !string.IsNullOrWhiteSpace(appConfig.SentinelKey);

            if (sentinelKeySet || refreshConfiguration != null)
            {
                options.ConfigureRefresh(config =>
                {
                    if (sentinelKeySet)
                    {
                        config.Register(appConfig.SentinelKey, true);
                    }
                    if (appConfig.RefreshInterval > TimeSpan.Zero)
                    {
                        config.SetCacheExpiration(appConfig.RefreshInterval);
                    }
                    refreshConfiguration?.Invoke(config);
                });
            }
        }
        public string Import(AzureAppConfigurationOptions options)
        {
            var cacheData = File.ReadAllText(_cacheFilePath);

            return(cacheData);
        }
 public void Export(AzureAppConfigurationOptions options, string data)
 {
     File.WriteAllText(_cacheFilePath, data);
 }
Beispiel #7
0
 static void optionsInitializer(AzureAppConfigurationOptions options)
 {
     options.Connect(TestHelpers.CreateMockEndpointString());
     options.ConfigureClientOptions(clientOptions => clientOptions.Retry.MaxRetries = 0);
 }