public async Task GetSettingSpecialCharacters()
        {
            ConfigurationClient  service     = GetClient();
            ConfigurationSetting testSetting = CreateSettingSpecialCharacters();

            // Prepare environment
            ConfigurationSetting testSettingNoLabel = testSetting.Clone();

            testSettingNoLabel.Label = null;

            try
            {
                await service.SetConfigurationSettingAsync(testSettingNoLabel);

                // Test
                ConfigurationSetting setting = await service.GetConfigurationSettingAsync(testSettingNoLabel.Key);

                Assert.True(ConfigurationSettingEqualityComparer.Instance.Equals(testSettingNoLabel, setting));
            }
            finally
            {
                AssertStatus200(await service.DeleteConfigurationSettingAsync(testSettingNoLabel.Key));
            }
        }
        public async Task DeleteSettingReadOnly()
        {
            ConfigurationClient  service     = GetClient();
            ConfigurationSetting testSetting = CreateSetting();

            try
            {
                var setting = await service.AddConfigurationSettingAsync(testSetting);

                var readOnly = await service.SetReadOnlyAsync(testSetting.Key, testSetting.Label, true);

                // Test
                RequestFailedException exception = Assert.ThrowsAsync <RequestFailedException>(async() =>
                                                                                               await service.DeleteConfigurationSettingAsync(testSetting.Key, testSetting.Label)
                                                                                               );
                Assert.AreEqual(409, exception.Status);
            }
            finally
            {
                await service.SetReadOnlyAsync(testSetting.Key, testSetting.Label, false);

                AssertStatus200(await service.DeleteConfigurationSettingAsync(testSetting.Key, testSetting.Label));
            }
        }
Esempio n. 3
0
        public async Task GetBatchSettingAny()
        {
            ConfigurationClient  service     = GetClient();
            ConfigurationSetting testSetting = CreateSetting();

            try
            {
                await service.SetConfigurationSettingAsync(testSetting);

                var selector = new SettingSelector();

                Assert.AreEqual(null, selector.KeyFilter);
                Assert.AreEqual(null, selector.LabelFilter);

                var resultsReturned = (await service.GetConfigurationSettingsAsync(selector, CancellationToken.None).ToEnumerableAsync()).Count;

                //At least there should be one key available
                Assert.GreaterOrEqual(resultsReturned, 1);
            }
            finally
            {
                AssertStatus200(await service.DeleteConfigurationSettingAsync(testSetting.Key, testSetting.Label));
            }
        }
 public async Task CleanUp()
 {
     var connectionString       = Environment.GetEnvironmentVariable("APPCONFIGURATION_CONNECTION_STRING");
     ConfigurationClient client = new ConfigurationClient(connectionString);
     await client.DeleteConfigurationSettingAsync("some_key");
 }
Esempio n. 5
0
        static async Task Main(string[] args)
        {
            int value;
            var client = new ConfigurationClient("");

            Console.WriteLine("Hello!");
            Console.WriteLine("Enter 1 for app configuration and 2 for feature flags");
            Console.WriteLine("Enter:");
            value = Convert.ToInt32(Console.ReadLine());
            if (value == 1)
            {
                Console.WriteLine("Enter 1 to write the following configuration values to Azure App Configuration");
                Console.WriteLine("{'InspectionBookings':true, 'Inspections':true, 'InspectionPlans':true, 'InspectionTasks':true}");
                Console.WriteLine("Enter:");
                value = Convert.ToInt32(Console.ReadLine());
                if (value == 1)
                {
                    var inspectionBookings = new ConfigurationSetting("InspectionBookings", "true", "SubDemo");
                    var inspections        = new ConfigurationSetting("Inspections", "true", "SubDemo");
                    var inspectionPlans    = new ConfigurationSetting("InspectionPlans", "true", "SubDemo");
                    var inspectionTasks    = new ConfigurationSetting("InspectionTasks", "true", "SubDemo");
                    await client.AddConfigurationSettingAsync(inspectionBookings);

                    await client.AddConfigurationSettingAsync(inspections);

                    await client.AddConfigurationSettingAsync(inspectionPlans);

                    await client.AddConfigurationSettingAsync(inspectionTasks);

                    Console.WriteLine();

                    Console.WriteLine("Enter 2 to update the value of Inspections and InspectionPlans to false");;
                    Console.WriteLine("Enter:");
                    ConfigurationSetting inspectionToUpdate = await client.GetConfigurationSettingAsync(inspections.Key, inspections.Label);

                    ConfigurationSetting inspectionPlansToUpdate = await client.GetConfigurationSettingAsync(inspectionPlans.Key, inspectionPlans.Label);

                    inspectionToUpdate.Value      = "false";
                    inspectionPlansToUpdate.Value = "false";
                    value = Convert.ToInt32(Console.ReadLine());
                    if (value == 2)
                    {
                        await client.SetConfigurationSettingAsync(inspectionToUpdate);

                        await client.SetConfigurationSettingAsync(inspectionPlansToUpdate);

                        Console.WriteLine();

                        Console.WriteLine("Enter 3 to delete added configuration values");
                        Console.WriteLine("Enter:");
                        value = Convert.ToInt32(Console.ReadLine());
                        if (value == 3)
                        {
                            await client.DeleteConfigurationSettingAsync(inspectionBookings.Key, inspectionBookings.Label);

                            await client.DeleteConfigurationSettingAsync(inspections.Key, inspections.Label);

                            await client.DeleteConfigurationSettingAsync(inspectionPlans.Key, inspectionPlans.Label);

                            await client.DeleteConfigurationSettingAsync(inspectionTasks.Key, inspectionTasks.Label);
                        }
                    }
                }
            }
            else if (value == 2)
            {
                Console.WriteLine("Enter 1 to write the following feature flags to Azure App Configuration feature manager");
                Console.WriteLine("{'Subscriptions':true, 'Inspections':true, 'Registry':true, 'Schools':true}");
                Console.WriteLine("Enter:");
                value = Convert.ToInt32(Console.ReadLine());
                if (value == 1)
                {
                    var featurefilters = new List <FeatureFlagFilter>
                    {
                        new FeatureFlagFilter("BrowserFeatureFilter", new Dictionary <string, object> {
                            { "Allowed", new string[] { "Edg" } }
                        }),
                        new FeatureFlagFilter("PercentageFilter", new Dictionary <string, object> {
                            { "Value", 55 }
                        })
                    };
                    var xxx = new {
                        id          = "Subscriptions",
                        description = "",
                        enabled     = true,
                        conditions  = new
                        {
                            client_filters = new [] {
                                new { name = "Microsoft.Percentage", parameters = new { Value = 55 } },
                                new { name = "Browser", parameters = new { Value = 55 } },
                            }
                        }
                    };
                    var stinxxx       = xxx.ToString();
                    var strinxxx      = JsonConvert.SerializeObject(xxx);
                    var subscriptions = new ConfigurationSetting($"{FeatureFlagConfigurationSetting.KeyPrefix}Subscriptions", strinxxx, "SubDemo")
                    {
                        ContentType = "application/vnd.microsoft.appconfig.ff+json;charset=utf-8"
                    };
                    var inspections = new FeatureFlagConfigurationSetting("Inspections", true, "SubDemo");
                    var registry    = new FeatureFlagConfigurationSetting("Registry", true, "SubDemo");
                    var schools     = new FeatureFlagConfigurationSetting("Schools", true, "SubDemo");
                    await client.AddConfigurationSettingAsync(subscriptions);

                    await client.AddConfigurationSettingAsync(inspections);

                    await client.AddConfigurationSettingAsync(registry);

                    await client.AddConfigurationSettingAsync(schools);

                    Console.WriteLine();

                    Console.WriteLine("Enter 2 to update the value of Inspections and Registry to false");;
                    Console.WriteLine("Enter:");
                    inspections.IsEnabled = false;
                    registry.IsEnabled    = false;
                    value = Convert.ToInt32(Console.ReadLine());
                    if (value == 2)
                    {
                        await client.SetConfigurationSettingAsync(inspections);

                        await client.SetConfigurationSettingAsync(registry);

                        Console.WriteLine();

                        Console.WriteLine("Enter 3 to delete added configuration values");
                        Console.WriteLine("Enter:");
                        value = Convert.ToInt32(Console.ReadLine());
                        if (value == 3)
                        {
                            await client.DeleteConfigurationSettingAsync(subscriptions);

                            await client.DeleteConfigurationSettingAsync(inspections);

                            await client.DeleteConfigurationSettingAsync(registry);

                            await client.DeleteConfigurationSettingAsync(schools);
                        }
                    }
                }
            }
        }
Esempio n. 6
0
        public async Task HelloWorldExtended()
        {
            var connectionString = TestEnvironment.ConnectionString;

            #region Snippet:AzConfigSample2_CreateConfigurationClient
            var client = new ConfigurationClient(connectionString);
            #endregion

            #region Snippet:AzConfigSample2_CreateConfigurationSettingAsync
            var betaEndpoint        = new ConfigurationSetting("endpoint", "https://beta.endpoint.com", "beta");
            var betaInstances       = new ConfigurationSetting("instances", "1", "beta");
            var productionEndpoint  = new ConfigurationSetting("endpoint", "https://production.endpoint.com", "production");
            var productionInstances = new ConfigurationSetting("instances", "1", "production");
            #endregion

            #region Snippet:AzConfigSample2_AddConfigurationSettingAsync
            await client.AddConfigurationSettingAsync(betaEndpoint);

            await client.AddConfigurationSettingAsync(betaInstances);

            await client.AddConfigurationSettingAsync(productionEndpoint);

            await client.AddConfigurationSettingAsync(productionInstances);

            #endregion

            #region Snippet:AzConfigSample2_GetConfigurationSettingAsync
            ConfigurationSetting instancesToUpdate = await client.GetConfigurationSettingAsync(productionInstances.Key, productionInstances.Label);

            #endregion

            #region Snippet:AzConfigSample2_SetUpdatedConfigurationSettingAsync
            instancesToUpdate.Value = "5";
            await client.SetConfigurationSettingAsync(instancesToUpdate);

            #endregion


            #region Snippet:AzConfigSample2_GetConfigurationSettingsAsync
            var selector = new SettingSelector {
                LabelFilter = "production"
            };

            Debug.WriteLine("Settings for Production environment:");
            await foreach (ConfigurationSetting setting in client.GetConfigurationSettingsAsync(selector))
            {
                Console.WriteLine(setting);
            }
            #endregion

            // Delete the Configuration Settings from the Configuration Store.
            #region Snippet:AzConfigSample2_DeleteConfigurationSettingAsync
            await client.DeleteConfigurationSettingAsync(betaEndpoint.Key, betaEndpoint.Label);

            await client.DeleteConfigurationSettingAsync(betaInstances.Key, betaInstances.Label);

            await client.DeleteConfigurationSettingAsync(productionEndpoint.Key, productionEndpoint.Label);

            await client.DeleteConfigurationSettingAsync(productionInstances.Key, productionInstances.Label);

            #endregion
        }
Esempio n. 7
0
 public async Task CleanUp()
 {
     var connectionString       = TestEnvironment.ConnectionString;
     ConfigurationClient client = new ConfigurationClient(connectionString);
     await client.DeleteConfigurationSettingAsync("some_key");
 }