Exemple #1
0
        public async Task AppConfigurationListKeyValues()
        {
            var           resourceGroupName = Recording.GenerateAssetName(ResourceGroupPrefix);
            ResourceGroup resourceGroup     = await ArmClient.DefaultSubscription.GetResourceGroups().CreateOrUpdate(resourceGroupName, new Resources.ResourceGroupData(AzureLocation)).WaitForCompletionAsync();

            //create configuration
            var configurationStoreName      = Recording.GenerateAssetName("configuration");
            var configurationCreateResponse = await ConfigurationStoresOperations.StartCreateAsync(resourceGroupName, configurationStoreName,
                                                                                                   new ConfigurationStore("westus",
                                                                                                                          new Sku("Standard")
                                                                                                                          ));

            var configCreateResult = (await WaitForCompletionAsync(configurationCreateResponse)).Value;

            Assert.IsNotNull(configCreateResult);
            Assert.AreEqual(configCreateResult.ProvisioningState.ToString(), "Succeeded");
            //list configuration
            var configListResponse = ConfigurationStoresOperations.ListKeysAsync(resourceGroupName, configurationStoreName);
            var conListResult      = await configListResponse.ToEnumerableAsync();

            Assert.True(conListResult.Count >= 1);
            //# ConfigurationStoresListKeys[post]
            var configRegenerateResponse = await ConfigurationStoresOperations.RegenerateKeyAsync(resourceGroupName, configurationStoreName, new RegenerateKeyParameters()
            {
                Id = conListResult.First().Id
            });

            Assert.IsNotNull(configRegenerateResponse.Value);
            //TODO need to use data sdk to create key value
            //create Key-Value
            //var listKeyValueResponse = await ConfigurationStoresOperations.ListKeyValueAsync(resourceGroup, configurationStoreName,new ListKeyValueParameters(Key));
            //Assert.IsNotNull(listKeyValueResponse);
        }
Exemple #2
0
        public async Task AppConfiguration()
        {
            string        ServiceName                   = Recording.GenerateAssetName("myapimrndxyz");
            string        VnetName                      = Recording.GenerateAssetName("vnetname");
            string        SubnetName                    = Recording.GenerateAssetName("subnetname");
            string        EndpointName                  = Recording.GenerateAssetName("endpointxyz");
            string        configurationStoreName        = Recording.GenerateAssetName("configuration");
            string        privateEndpointConnectionName = Recording.GenerateAssetName("privateendpoint");
            var           resourceGroupName             = Recording.GenerateAssetName(ResourceGroupPrefix);
            ResourceGroup resourceGroup                 = await ArmClient.DefaultSubscription.GetResourceGroups().CreateOrUpdate(resourceGroupName, new Resources.ResourceGroupData(AzureLocation)).WaitForCompletionAsync();

            var configurationCreateResponse = await ConfigurationStoresOperations.StartCreateAsync(resourceGroupName, configurationStoreName, new ConfigurationStore("westus", new Sku("Standard")));

            var configurationCreateResult = await WaitForCompletionAsync(configurationCreateResponse);

            Assert.IsNotNull(configurationCreateResult.Value);
            VirtualNetworkData vnet = new VirtualNetworkData()
            {
                Location     = "eastus",
                AddressSpace = new AddressSpace()
                {
                    AddressPrefixes = { "10.0.0.0/16", }
                },
                DhcpOptions = new DhcpOptions()
                {
                    DnsServers = { "10.1.1.1", "10.1.2.4" }
                },
                Subnets = { new SubnetData()
                            {
                                Name = SubnetName, AddressPrefix = "10.0.0.0/24", PrivateEndpointNetworkPolicies = "Disabled"
                            } }
            };
            var putVnetResponseOperation = await WaitForCompletionAsync(await resourceGroup.GetVirtualNetworks().CreateOrUpdateAsync(VnetName, vnet));

            Assert.IsNotNull(putVnetResponseOperation.Value);
            var setPrivateEndpointResponse = await WaitForCompletionAsync(await resourceGroup.GetPrivateEndpoints().CreateOrUpdateAsync(EndpointName,
                                                                                                                                        new PrivateEndpointData()
            {
                Location = "eastus",
                PrivateLinkServiceConnections = { new PrivateLinkServiceConnection()
                                                  {
                                                      Name = "myconnection",
                                                      PrivateLinkServiceId = configurationCreateResult.Value.Id,
                                                      GroupIds             = { "configurationStores" },
                                                      RequestMessage       = "Please approve my connection",
                                                  } },
                Subnet = new SubnetData()
                {
                    Id = "/subscriptions/" + TestEnvironment.SubscriptionId + "/resourceGroups/" + resourceGroupName + "/providers/Microsoft.Network/virtualNetworks/" + VnetName + "/subnets/" + SubnetName
                }
            }));

            //get Configuration
            var configurationGetResult = (await ConfigurationStoresOperations.GetAsync(resourceGroupName, configurationStoreName)).Value;

            Assert.IsNotNull(configurationGetResult);
            privateEndpointConnectionName = configurationGetResult.PrivateEndpointConnections[0].Name;
            var privateConnectionId = configurationGetResult.PrivateEndpointConnections[0].Id;
            //Create PrivateEndpointConnection
            var createPrivateEndPointConnectionResponse = await WaitForCompletionAsync(await PrivateEndpointConnectionsOperations.StartCreateOrUpdateAsync(resourceGroupName, configurationStoreName, privateEndpointConnectionName,
                                                                                                                                                           new Models.PrivateEndpointConnection(
                                                                                                                                                               //privateConnectionId,privateEndpointConnectionName,null,null,
                                                                                                                                                               privateConnectionId, privateEndpointConnectionName, null, null,
                                                                                                                                                               new Models.PrivateEndpoint("/subscriptions/" + TestEnvironment.SubscriptionId + "/resourceGroups/" + resourceGroupName + "/providers/Microsoft.Network/privateEndpoints/" + EndpointName),
                                                                                                                                                               new Models.PrivateLinkServiceConnectionState(Models.ConnectionStatus.Approved, "Auto-Approved", null)
                                                                                                                                                               )));

            Assert.IsNotNull(createPrivateEndPointConnectionResponse);
            var getPrivateEndPointConnectionResponse = await PrivateEndpointConnectionsOperations.GetAsync(resourceGroupName, configurationStoreName, privateEndpointConnectionName);

            Assert.IsNotNull(getPrivateEndPointConnectionResponse);

            var listByConfigurationResult = PrivateLinkResourcesOperations.ListByConfigurationStoreAsync(resourceGroupName, configurationStoreName);
            var listByConfigurationRes    = await listByConfigurationResult.ToEnumerableAsync();

            var privateLinkResourceName = listByConfigurationRes.First().Name;

            var privatelinkresourcegetResult = await PrivateLinkResourcesOperations.GetAsync(resourceGroupName, configurationStoreName, privateLinkResourceName);

            Assert.IsNotNull(privatelinkresourcegetResult.Value);
            var listByConfigurationStoreResult   = PrivateEndpointConnectionsOperations.ListByConfigurationStoreAsync(resourceGroupName, configurationStoreName);
            var listByConfigurationStoreResponse = await listByConfigurationStoreResult.ToEnumerableAsync();

            Assert.IsTrue(listByConfigurationStoreResponse.Count() >= 1);
            // get PrivateEndpointConnectionList
            var ConfigurationStoreListResponse = await PrivateLinkResourcesOperations.ListByConfigurationStoreAsync(resourceGroupName, configurationStoreName).ToEnumerableAsync();

            privateLinkResourceName = ConfigurationStoreListResponse.First().Name;

            //get privatelinkResource
            var GetPrivatelinkResponse = await PrivateLinkResourcesOperations.GetAsync(resourceGroupName, configurationStoreName, privateLinkResourceName);

            Assert.IsNotNull(GetPrivatelinkResponse.Value);

            //get privatelinkResource list
            var GetPrivatelinkListResponse = await PrivateLinkResourcesOperations.ListByConfigurationStoreAsync(resourceGroupName, configurationStoreName).ToEnumerableAsync();

            Assert.IsTrue(GetPrivatelinkListResponse.Count >= 1);

            // operation list test
            var operationListResult = await Operations.ListAsync().ToEnumerableAsync();

            Assert.IsTrue(operationListResult.Count >= 1);
            // ConfigurationStoresOperations list by resourcegroup test

            var configurationStoreListByResourceGroupResult = await ConfigurationStoresOperations.ListByResourceGroupAsync(resourceGroupName).ToEnumerableAsync();

            Assert.IsTrue(configurationStoreListByResourceGroupResult.Count >= 1);

            //ConfigurationStoresOperations list by subscription test
            var configurationStoresListResult = await ConfigurationStoresOperations.ListAsync().ToEnumerableAsync();

            Assert.IsTrue(configurationStoresListResult.Count >= 1);

            //update ConfigurationStores_Update
            var configurationStoresBeginUpdateResult = await WaitForCompletionAsync(await ConfigurationStoresOperations.StartUpdateAsync(resourceGroupName, configurationStoreName, new ConfigurationStoreUpdateParameters()
            {
                Tags = { { "category", "Marketing" } },
                Sku  = new Sku("Standard")
            }));

            Assert.AreEqual(configurationStoresBeginUpdateResult.Value.ProvisioningState.ToString(), "Succeeded");
            // ConfigurationStores CheckNameNotAvailable
            var checkNameAvailabilityResponse = await Operations.CheckNameAvailabilityAsync(new CheckNameAvailabilityParameters("contoso", "Microsoft.AppConfiguration/configurationStores"));

            Assert.IsNotNull(checkNameAvailabilityResponse.Value);
            //PrivateEndpointConnections Delete
            var deletePrivateEndpointConnectionResponse = await WaitForCompletionAsync(await PrivateEndpointConnectionsOperations.StartDeleteAsync(resourceGroupName, configurationStoreName, privateEndpointConnectionName));

            Assert.IsNotNull(deletePrivateEndpointConnectionResponse.Value);
            //ConfigurationStores Delete
            var deleteConfigurationStores = await WaitForCompletionAsync(await ConfigurationStoresOperations.StartDeleteAsync(resourceGroupName, configurationStoreName));

            Assert.IsNotNull(deleteConfigurationStores.Value);
        }