Exemplo n.º 1
0
        public void CrudProfileWithMultiValue()
        {
            using (MockContext context = MockContext.Start(this.GetType().FullName))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                string        profileName       = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);

                // Create the profile
                var expectedProfile = TrafficManagerHelper.CreateOrUpdateProfileWithMultiValue(
                    trafficManagerClient,
                    resourceGroupName,
                    profileName,
                    3);

                // Get the profile
                var actualProfile = trafficManagerClient.Profiles.Get(
                    resourceGroup.Name,
                    profileName);

                Assert.Equal(3, expectedProfile.MaxReturn);

                // Delete the profile
                trafficManagerClient.Profiles.Delete(resourceGroup.Name, profileName);

                this.DeleteResourceGroup(context, resourceGroupName);
            }
        }
Exemplo n.º 2
0
        public void ListAllProfiles()
        {
            using (MockContext context = MockContext.Start(this.GetType().FullName))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);
                List <string> profileNames      = new List <string>();

                for (int i = 0; i < 5; ++i)
                {
                    string profileName = TrafficManagerHelper.GenerateName();
                    profileNames.Add(profileName);

                    TrafficManagerHelper.CreateOrUpdateDefaultProfileWithExternalEndpoint(
                        trafficManagerClient,
                        resourceGroupName,
                        profileName);
                }

                IEnumerable <Profile> listResponse = trafficManagerClient.Profiles.ListBySubscriptionWithHttpMessagesAsync().Result.Body;

                // Just in case the subscription had some other profiles
                Assert.True(5 <= listResponse.Count());

                // Delete the profiles
                foreach (var profileName in profileNames)
                {
                    trafficManagerClient.Profiles.DeleteWithHttpMessagesAsync(resourceGroup.Name, profileName);
                }

                this.DeleteResourceGroup(context, resourceGroupName);
            }
        }
Exemplo n.º 3
0
        public void CrudProfileFullCycle()
        {
            using (MockContext context = MockContext.Start(this.GetType().FullName))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                string        profileName       = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);

                TrafficManagerHelper.CreateOrUpdateDefaultProfileWithExternalEndpoint(
                    trafficManagerClient,
                    resourceGroup.Name,
                    profileName);

                // Get the profile
                trafficManagerClient.Profiles.Get(
                    resourceGroup.Name,
                    profileName);

                // Delete the profile
                trafficManagerClient.Profiles.Delete(resourceGroup.Name, profileName);
                this.DeleteResourceGroup(context, resourceGroupName);
            }
        }
Exemplo n.º 4
0
        public void CrudProfileWithoutEndpoints_ThenUpdate()
        {
            using (MockContext context = MockContext.Start(this.GetType().FullName))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                string        profileName       = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);

                // Create the profile
                Profile profile = TrafficManagerHelper.CreateOrUpdateDefaultEmptyProfile(
                    trafficManagerClient,
                    resourceGroupName,
                    profileName);

                Assert.Equal(0, profile.Endpoints.Count);

                // Create the endpoint and associate it with the resource group and profile.
                TrafficManagerHelper.CreateOrUpdateDefaultEndpoint(trafficManagerClient, resourceGroupName, profileName);

                // Confirm the endpoint is associated with the profile.
                Profile updatedProfile = trafficManagerClient.Profiles.Get(
                    resourceGroup.Name,
                    profileName);

                Assert.Equal(1, updatedProfile.Endpoints.Count);

                // Delete the profile. The associated endpoint will also be deleted.
                trafficManagerClient.Profiles.DeleteWithHttpMessagesAsync(resourceGroup.Name, profileName);
                this.DeleteResourceGroup(context, resourceGroupName);
            }
        }
Exemplo n.º 5
0
        public void EmptyHeatMapData()
        {
            using (MockContext context = MockContext.Start(this.GetType().FullName))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                string        profileName       = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);

                TrafficManagerHelper.CreateOrUpdateDefaultProfileWithExternalEndpoint(
                    trafficManagerClient,
                    resourceGroup.Name,
                    profileName,
                    "Performance",
                    "Enabled");

                try
                {
                    trafficManagerClient.HeatMap.Get(resourceGroupName, profileName);
                }
                catch (Microsoft.Rest.Azure.CloudException e)
                {
                    Assert.Contains("NotFound", e.Body.Code);
                }
            }
        }
Exemplo n.º 6
0
        public void CrudEndpointGeographicProfile()
        {
            using (MockContext context = MockContext.Start(this.GetType().FullName))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                string        profileName       = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);

                // Create the profile
                Profile profile = trafficManagerClient.Profiles.CreateOrUpdate(
                    resourceGroup.Name,
                    profileName,
                    TrafficManagerHelper.GenerateDefaultEmptyProfile(profileName, "Geographic"));

                Assert.Equal("Geographic", profile.TrafficRoutingMethod);

                Endpoint endpoint = new Endpoint(
                    null,
                    "My external endpoint",
                    "Microsoft.Network/trafficManagerProfiles/ExternalEndpoints");
                endpoint.TargetResourceId = null;
                endpoint.Target           = "foobar.contoso.com";
                endpoint.EndpointStatus   = "Enabled";
                endpoint.GeoMapping       = new[] { "GEO-AS", "GEO-AF" };

                // Create the endpoint
                Endpoint createEndpointResponse = trafficManagerClient.Endpoints.CreateOrUpdate(
                    resourceGroup.Name,
                    profileName,
                    "ExternalEndpoints",
                    endpoint.Name,
                    endpoint);

                Assert.Equal("GEO-AS", createEndpointResponse.GeoMapping[0]);
                Assert.Equal("GEO-AF", createEndpointResponse.GeoMapping[1]);

                // Get the endpoint
                Endpoint endpointGetResponse = trafficManagerClient.Endpoints.Get(
                    resourceGroup.Name,
                    profileName,
                    "ExternalEndpoints",
                    endpoint.Name);

                Assert.Equal("GEO-AS", endpointGetResponse.GeoMapping[0]);
                Assert.Equal("GEO-AF", endpointGetResponse.GeoMapping[1]);

                // Delete the profile
                trafficManagerClient.Profiles.Delete(resourceGroup.Name, profileName);
                this.DeleteResourceGroup(context, resourceGroupName);
            }
        }
Exemplo n.º 7
0
        public void CrudProfileWithMinChildEndpointsIp()
        {
            using (MockContext context = MockContext.Start(this.GetType()))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                string        profileName       = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);

                // Create the profile. This is multi-value and will have non-default min child endpoints.
                var expectedProfile = TrafficManagerHelper.CreateOrUpdateProfileWithMultiValue(
                    trafficManagerClient,
                    resourceGroupName,
                    profileName,
                    3,
                    77,
                    66,
                    55);

                // Get the profile
                var actualProfile = trafficManagerClient.Profiles.Get(
                    resourceGroup.Name,
                    profileName);

                Assert.Equal(5, expectedProfile.Endpoints.Count);

                Assert.Equal(77, expectedProfile.Endpoints[0].MinChildEndpoints);
                Assert.Equal(66, expectedProfile.Endpoints[0].MinChildEndpointsIPv4);
                Assert.Equal(55, expectedProfile.Endpoints[0].MinChildEndpointsIPv6);

                Assert.Equal(78, expectedProfile.Endpoints[1].MinChildEndpoints);
                Assert.Equal(67, expectedProfile.Endpoints[1].MinChildEndpointsIPv4);
                Assert.Equal(56, expectedProfile.Endpoints[1].MinChildEndpointsIPv6);

                Assert.Equal(79, expectedProfile.Endpoints[2].MinChildEndpoints);
                Assert.Equal(68, expectedProfile.Endpoints[2].MinChildEndpointsIPv4);
                Assert.Equal(57, expectedProfile.Endpoints[2].MinChildEndpointsIPv6);

                Assert.Equal(80, expectedProfile.Endpoints[3].MinChildEndpoints);
                Assert.Equal(69, expectedProfile.Endpoints[3].MinChildEndpointsIPv4);
                Assert.Equal(58, expectedProfile.Endpoints[3].MinChildEndpointsIPv6);

                Assert.Equal(81, expectedProfile.Endpoints[4].MinChildEndpoints);
                Assert.Equal(70, expectedProfile.Endpoints[4].MinChildEndpointsIPv4);
                Assert.Equal(59, expectedProfile.Endpoints[4].MinChildEndpointsIPv6);

                // Delete the profile
                trafficManagerClient.Profiles.Delete(resourceGroup.Name, profileName);

                this.DeleteResourceGroup(context, resourceGroupName);
            }
        }
Exemplo n.º 8
0
        public void CrudProfileWithCustomHeaders()
        {
            using (MockContext context = MockContext.Start(this.GetType().FullName))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                string        profileName       = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);

                // Create the profile
                var expectedProfile = TrafficManagerHelper.CreateOrUpdateProfileWithCustomHeadersAndStatusCodeRanges(
                    trafficManagerClient,
                    resourceGroupName,
                    profileName);

                // Get the profile
                var actualProfile = trafficManagerClient.Profiles.Get(
                    resourceGroup.Name,
                    profileName);

                Assert.Equal(expectedProfile.MonitorConfig.CustomHeaders.Count, actualProfile.MonitorConfig.CustomHeaders.Count);
                for (var i = 0; i < expectedProfile.MonitorConfig.CustomHeaders.Count; ++i)
                {
                    Assert.Equal(expectedProfile.MonitorConfig.CustomHeaders[i].Name, actualProfile.MonitorConfig.CustomHeaders[i].Name);
                    Assert.Equal(expectedProfile.MonitorConfig.CustomHeaders[i].Value, actualProfile.MonitorConfig.CustomHeaders[i].Value);
                }

                for (var i = 0; i < expectedProfile.MonitorConfig.ExpectedStatusCodeRanges.Count; ++i)
                {
                    Assert.Equal(expectedProfile.MonitorConfig.ExpectedStatusCodeRanges[i].Min, actualProfile.MonitorConfig.ExpectedStatusCodeRanges[i].Min);
                    Assert.Equal(expectedProfile.MonitorConfig.ExpectedStatusCodeRanges[i].Max, actualProfile.MonitorConfig.ExpectedStatusCodeRanges[i].Max);
                }

                for (var i = 0; i < expectedProfile.Endpoints.Count; ++i)
                {
                    for (var j = 0; j < expectedProfile.Endpoints[i].CustomHeaders.Count; ++j)
                    {
                        Assert.Equal(expectedProfile.Endpoints[i].CustomHeaders[j].Name, actualProfile.Endpoints[i].CustomHeaders[j].Name);
                        Assert.Equal(expectedProfile.Endpoints[i].CustomHeaders[j].Value, actualProfile.Endpoints[i].CustomHeaders[j].Value);
                    }
                }

                // Delete the profile
                trafficManagerClient.Profiles.Delete(resourceGroup.Name, profileName);

                this.DeleteResourceGroup(context, resourceGroupName);
            }
        }
Exemplo n.º 9
0
        public void CrudProfileWithCustomSubnets()
        {
            using (MockContext context = MockContext.Start(this.GetType().FullName))
            {
                TrafficManagerManagementClient trafficManagerClient = this.GetTrafficManagerManagementClient(context);

                string        resourceGroupName = TrafficManagerHelper.GenerateName();
                string        profileName       = TrafficManagerHelper.GenerateName();
                ResourceGroup resourceGroup     = this.CreateResourceGroup(context, resourceGroupName);

                // Create the profile
                var expectedProfile = TrafficManagerHelper.CreateOrUpdateProfileWithSubnets(
                    trafficManagerClient,
                    resourceGroupName,
                    profileName);

                // Get the profile
                var actualProfile = trafficManagerClient.Profiles.Get(
                    resourceGroup.Name,
                    profileName);

                for (var i = 0; i < expectedProfile.Endpoints.Count; ++i)
                {
                    Assert.Equal(2, expectedProfile.Endpoints[i].Subnets.Count);
                    Assert.Equal($"1.2.{i}.0", expectedProfile.Endpoints[i].Subnets[0].First);
                    Assert.Equal($"1.2.{i}.250", expectedProfile.Endpoints[i].Subnets[0].Last);
                    Assert.Equal($"3.4.{i}.0", expectedProfile.Endpoints[i].Subnets[1].First);
                    Assert.Equal(24, expectedProfile.Endpoints[i].Subnets[1].Scope);
                }

                // Delete the profile
                trafficManagerClient.Profiles.Delete(resourceGroup.Name, profileName);

                this.DeleteResourceGroup(context, resourceGroupName);
            }
        }