public async Task Test_CheckCreateFirewallRule_WithExistingFirewallRule()
        {
            const string startIp = "111.111.111.111";
            const string endIp   = "111.111.111.111";

            using (var client = ManagementClient.CreateSqlClient())
            {
                var ruleName = "fct-" + Guid.NewGuid().ToString().Split('-').Last();

                var chooser = new DefaultAzureSqlServerChooser();

                var server = await chooser.Choose(client, SystemLocation.WestEurope.GetEnumDescription());

                Assert.IsFalse(string.IsNullOrWhiteSpace(server));

                try
                {
                    await client.FirewallRules.CreateAsync(
                        server,
                        new FirewallRuleCreateParameters
                    {
                        Name           = ruleName,
                        StartIPAddress = startIp,
                        EndIPAddress   = endIp
                    });

                    await client.CreateFirewallRuleIfNotExistsAsync(
                        server,
                        new FirewallRuleCreateParameters
                    {
                        Name           = ruleName,
                        StartIPAddress = startIp,
                        EndIPAddress   = endIp
                    });
                }
                finally
                {
                    client.FirewallRules.Delete(server, ruleName);
                }
            }
        }
Пример #2
0
        public async Task Test_CheckCreateNamespace_WithNewNamespace()
        {
            using (var client = ManagementClient.CreateServiceBusClient())
            {
                var region = ServiceBusRegions.NorthEurope.GetEnumDescription();
                var nsName = "fct-" + Guid.NewGuid().ToString().Split('-').Last();

                try
                {
                    await client.CreateNamespaceIfNotExistsAsync(nsName, region);

                    var ns = await client.Namespaces.GetAsync(nsName);

                    Assert.IsNotNull(ns);
                }
                finally
                {
                    DeleteNamespace(client, nsName, 20);
                }
            }
        }
        public async Task Fix_Unused_PaaSDiagnostics_Extensions()
        {
            const string serviceName = "fct-servicebus-oat";

            using (var computeClient = ManagementClient.CreateComputeClient())
            {
                var diagnosticsExtensions = (await computeClient.HostedServices.ListExtensionsAsync(serviceName)).Where(e => e.Type == "PaaSDiagnostics").ToList();

                foreach (var ext in diagnosticsExtensions)
                {
                    try
                    {
                        await computeClient.HostedServices.DeleteExtensionAsync(serviceName, ext.Id);
                    }
                    catch (Exception)
                    {
                        // ignored - soaking used extension exceptions intentionally.
                    }
                }
            }
        }
        public async Task Test_CheckCreateReservedIp_WithNewReservedIp()
        {
            var location = SystemLocation.NorthEurope.GetEnumDescription();

            using (var client = ManagementClient.CreateNetworkClient())
            {
                var ipName = "fct-" + Guid.NewGuid().ToString().Split('-').Last() + "-rip";

                try
                {
                    await client.ReserveIpIfNotReservedAsync(ipName, location);

                    var reservedIp = await client.ReservedIPs.GetAsync(ipName, new CancellationToken());

                    Assert.IsNotNull(reservedIp);
                }
                finally
                {
                    client.ReservedIPs.Delete(ipName);
                }
            }
        }
        public async Task Test_CheckCreateCloudService_WithExistingService()
        {
            using (var client = ManagementClient.CreateComputeClient())
            {
                var parameters =
                    new HostedServiceCreateParameters
                {
                    Label       = "Integration Test",
                    Location    = LocationNames.NorthEurope,
                    ServiceName = "fct-" + Guid.NewGuid().ToString().Split('-').Last()
                };

                try
                {
                    await client.HostedServices.CreateAsync(parameters);

                    await client.CreateServiceIfNotExistsAsync(parameters);
                }
                finally
                {
                    client.HostedServices.Delete(parameters.ServiceName);
                }
            }
        }
        public async Task Test_CheckCreateDatabase_WithExistingDatabase()
        {
            const int    dbSize      = 5;
            const string dbCollation = "SQL_Latin1_General_CP1_CI_AS";
            var          dbEdition   = SqlAzureEdition.Standard.GetEnumDescription();

            using (var client = ManagementClient.CreateSqlClient())
            {
                var dbName = "fct-" + Guid.NewGuid().ToString().Split('-').Last();

                var chooser = new DefaultAzureSqlServerChooser();

                var server = await chooser.Choose(client, SystemLocation.WestEurope.GetEnumDescription());

                Assert.IsFalse(string.IsNullOrWhiteSpace(server));

                try
                {
                    await client.Databases.CreateAsync(
                        server,
                        new DatabaseCreateParameters
                    {
                        Name                    = dbName,
                        Edition                 = dbEdition,
                        CollationName           = dbCollation,
                        MaximumDatabaseSizeInGB = dbSize
                    });

                    await client.CreateDatabaseIfNotExistsAsync(server, dbName, dbEdition, dbCollation, dbSize, true);
                }
                finally
                {
                    client.Databases.Delete(server, dbName);
                }
            }
        }