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); } }
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); } }
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); } }
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); } }
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); } } }
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); } }
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); } }
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); } }
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); } }