public void ApplicationGatewayApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/applicationgateways"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); var vnetName = TestUtilities.GenerateName(); var subnetName = TestUtilities.GenerateName(); var virtualNetwork = TestHelper.CreateVirtualNetwork(vnetName, subnetName, resourceGroupName, location, networkResourceProviderClient); var getSubnetResponse = networkResourceProviderClient.Subnets.Get(resourceGroupName, vnetName, subnetName); Console.WriteLine("Virtual Network GatewaySubnet Id: {0}", getSubnetResponse.Subnet.Id); var subnet = getSubnetResponse.Subnet; var appGw = CreateApplicationGateway(location, subnet, resourceGroupName, networkResourceProviderClient.Credentials.SubscriptionId); // Put AppGw var putAppGwResponse = networkResourceProviderClient.ApplicationGateways.CreateOrUpdate(resourceGroupName, appGw.Name, appGw); Assert.Equal(HttpStatusCode.OK, putAppGwResponse.StatusCode); Assert.Equal("Succeeded", putAppGwResponse.Status); // Get AppGw var getResp = networkResourceProviderClient.ApplicationGateways.Get(resourceGroupName, appGw.Name); CompareApplicationGateway(appGw, getResp.ApplicationGateway); //Start AppGw var startResult = networkResourceProviderClient.ApplicationGateways.Start(resourceGroupName, appGw.Name); Assert.Equal(HttpStatusCode.OK, startResult.StatusCode); Assert.Equal("Succeeded", startResult.Status); //Stop AppGw var stopResult = networkResourceProviderClient.ApplicationGateways.Stop(resourceGroupName, appGw.Name); Assert.Equal(HttpStatusCode.OK, stopResult.StatusCode); Assert.Equal("Succeeded", stopResult.Status); // Delete AppGw var deleteResult = networkResourceProviderClient.ApplicationGateways.Delete(resourceGroupName, appGw.Name); Assert.Equal(HttpStatusCode.OK, deleteResult.StatusCode); } }
public void UsageTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/networkSecurityGroups"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); string networkSecurityGroupName = TestUtilities.GenerateName(); var networkSecurityGroup = new NetworkSecurityGroup() { Location = location, }; // Put Nsg var putNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.CreateOrUpdate(resourceGroupName, networkSecurityGroupName, networkSecurityGroup); Assert.Equal(HttpStatusCode.OK, putNsgResponse.StatusCode); Assert.Equal("Succeeded", putNsgResponse.Status); var getNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.Get(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, getNsgResponse.StatusCode); // Query for usages var usagesResponse = networkResourceProviderClient.Usages.List(getNsgResponse.NetworkSecurityGroup.Location.Replace(" ", string.Empty)); Assert.True(usagesResponse.StatusCode == HttpStatusCode.OK); // Verify that the strings are populated Assert.NotNull(usagesResponse.Usages); Assert.True(usagesResponse.Usages.Any()); foreach (var usage in usagesResponse.Usages) { Assert.True(usage.Limit > 0); Assert.NotNull(usage.Name); Assert.True(!string.IsNullOrEmpty(usage.Name.LocalizedValue)); Assert.True(!string.IsNullOrEmpty(usage.Name.Value)); } } }
public void CheckDnsAvailabilityTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = GetNrpServiceEndpoint(NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/virtualNetworks")); string domainNameLabel = TestUtilities.GenerateName("domainnamelabel"); var dnsNameAvailability = networkResourceProviderClient.CheckDnsNameAvailability(location, domainNameLabel); Assert.True(dnsNameAvailability.DnsNameAvailability); } }
public void ExpressRouteServiceProviderTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var listServiceProviders = networkResourceProviderClient.ExpressRouteServiceProviders.List(); // Verify properties Assert.Equal(HttpStatusCode.OK, listServiceProviders.StatusCode); Assert.True(listServiceProviders.ExpressRouteServiceProviders.Any()); Assert.True(listServiceProviders.ExpressRouteServiceProviders[0].PeeringLocations.Any()); Assert.True(listServiceProviders.ExpressRouteServiceProviders[0].BandwidthsOffered.Any()); Assert.NotNull(listServiceProviders.ExpressRouteServiceProviders[0].Name); } }
public void NetworkSecurityGroupApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/networkSecurityGroups"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); string networkSecurityGroupName = TestUtilities.GenerateName(); var networkSecurityGroup = new NetworkSecurityGroup() { Location = location, }; // Put Nsg var putNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.CreateOrUpdate(resourceGroupName, networkSecurityGroupName, networkSecurityGroup); Assert.Equal(HttpStatusCode.OK, putNsgResponse.StatusCode); Assert.Equal("Succeeded", putNsgResponse.Status); // Get NSG var getNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.Get(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, getNsgResponse.StatusCode); Assert.Equal(networkSecurityGroupName, getNsgResponse.NetworkSecurityGroup.Name); Assert.NotNull(getNsgResponse.NetworkSecurityGroup.ResourceGuid); Assert.Equal(6, getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules.Count); Assert.Equal("AllowVnetInBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].Name); Assert.Equal("AllowAzureLoadBalancerInBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[1].Name); Assert.Equal("DenyAllInBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[2].Name); Assert.Equal("AllowVnetOutBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[3].Name); Assert.Equal("AllowInternetOutBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[4].Name); Assert.Equal("DenyAllOutBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[5].Name); // Verify a default security rule Assert.Equal(SecurityRuleAccess.Allow, getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].Access); Assert.Equal("Allow inbound traffic from all VMs in VNET", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].Description); Assert.Equal("VirtualNetwork", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].DestinationAddressPrefix); Assert.Equal("*", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].DestinationPortRange); Assert.Equal(SecurityRuleDirection.Inbound, getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].Direction); Assert.Equal(65000, getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].Priority); Assert.Equal(SecurityRuleProtocol.All, getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].Protocol); Assert.Equal("Succeeded", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].ProvisioningState); Assert.Equal("VirtualNetwork", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].SourceAddressPrefix); Assert.Equal("*", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].SourcePortRange); // List NSG var listNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listNsgResponse.StatusCode); Assert.Equal(1, listNsgResponse.NetworkSecurityGroups.Count); Assert.Equal(networkSecurityGroupName, listNsgResponse.NetworkSecurityGroups[0].Name); Assert.Equal(6, listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules.Count); Assert.Equal("AllowVnetInBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[0].Name); Assert.Equal("AllowAzureLoadBalancerInBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[1].Name); Assert.Equal("DenyAllInBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[2].Name); Assert.Equal("AllowVnetOutBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[3].Name); Assert.Equal("AllowInternetOutBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[4].Name); Assert.Equal("DenyAllOutBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[5].Name); Assert.Equal(getNsgResponse.NetworkSecurityGroup.Etag, listNsgResponse.NetworkSecurityGroups[0].Etag); // List NSG in a subscription var listNsgSubsciptionResponse = networkResourceProviderClient.NetworkSecurityGroups.ListAll(); Assert.Equal(HttpStatusCode.OK, listNsgSubsciptionResponse.StatusCode); Assert.Equal(1, listNsgSubsciptionResponse.NetworkSecurityGroups.Count); Assert.Equal(networkSecurityGroupName, listNsgSubsciptionResponse.NetworkSecurityGroups[0].Name); Assert.Equal(6, listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules.Count); Assert.Equal("AllowVnetInBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[0].Name); Assert.Equal("AllowAzureLoadBalancerInBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[1].Name); Assert.Equal("DenyAllInBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[2].Name); Assert.Equal("AllowVnetOutBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[3].Name); Assert.Equal("AllowInternetOutBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[4].Name); Assert.Equal("DenyAllOutBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[5].Name); Assert.Equal(getNsgResponse.NetworkSecurityGroup.Etag, listNsgSubsciptionResponse.NetworkSecurityGroups[0].Etag); // Delete NSG var deleteResponse = networkResourceProviderClient.NetworkSecurityGroups.Delete(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, deleteResponse.StatusCode); // List NSG listNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listNsgResponse.StatusCode); Assert.Equal(0, listNsgResponse.NetworkSecurityGroups.Count); } }
public void NetworkSecurityGroupWithRulesApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/networkSecurityGroups"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); string networkSecurityGroupName = TestUtilities.GenerateName(); string securityRule1 = TestUtilities.GenerateName(); string securityRule2 = TestUtilities.GenerateName(); string destinationPortRange = "123-3500"; var networkSecurityGroup = new NetworkSecurityGroup() { Location = location, SecurityRules = new List <SecurityRule>() { new SecurityRule() { Name = securityRule1, Access = SecurityRuleAccess.Allow, Description = "Test security rule", DestinationAddressPrefix = "*", DestinationPortRange = destinationPortRange, Direction = SecurityRuleDirection.Inbound, Priority = 500, Protocol = SecurityRuleProtocol.Tcp, SourceAddressPrefix = "*", SourcePortRange = "655" } } }; // Put Nsg var putNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.CreateOrUpdate(resourceGroupName, networkSecurityGroupName, networkSecurityGroup); Assert.Equal(HttpStatusCode.OK, putNsgResponse.StatusCode); Assert.Equal("Succeeded", putNsgResponse.Status); // Get NSG var getNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.Get(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, getNsgResponse.StatusCode); Assert.Equal(networkSecurityGroupName, getNsgResponse.NetworkSecurityGroup.Name); Assert.Equal(6, getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules.Count); Assert.Equal("AllowVnetInBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[0].Name); Assert.Equal("AllowAzureLoadBalancerInBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[1].Name); Assert.Equal("DenyAllInBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[2].Name); Assert.Equal("AllowVnetOutBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[3].Name); Assert.Equal("AllowInternetOutBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[4].Name); Assert.Equal("DenyAllOutBound", getNsgResponse.NetworkSecurityGroup.DefaultSecurityRules[5].Name); // Verify the security rule Assert.Equal(SecurityRuleAccess.Allow, getNsgResponse.NetworkSecurityGroup.SecurityRules[0].Access); Assert.Equal("Test security rule", getNsgResponse.NetworkSecurityGroup.SecurityRules[0].Description); Assert.Equal("*", getNsgResponse.NetworkSecurityGroup.SecurityRules[0].DestinationAddressPrefix); Assert.Equal(destinationPortRange, getNsgResponse.NetworkSecurityGroup.SecurityRules[0].DestinationPortRange); Assert.Equal(SecurityRuleDirection.Inbound, getNsgResponse.NetworkSecurityGroup.SecurityRules[0].Direction); Assert.Equal(500, getNsgResponse.NetworkSecurityGroup.SecurityRules[0].Priority); Assert.Equal(SecurityRuleProtocol.Tcp, getNsgResponse.NetworkSecurityGroup.SecurityRules[0].Protocol); Assert.Equal("Succeeded", getNsgResponse.NetworkSecurityGroup.SecurityRules[0].ProvisioningState); Assert.Equal("*", getNsgResponse.NetworkSecurityGroup.SecurityRules[0].SourceAddressPrefix); Assert.Equal("655", getNsgResponse.NetworkSecurityGroup.SecurityRules[0].SourcePortRange); // List NSG var listNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listNsgResponse.StatusCode); Assert.Equal(1, listNsgResponse.NetworkSecurityGroups.Count); Assert.Equal(networkSecurityGroupName, listNsgResponse.NetworkSecurityGroups[0].Name); Assert.Equal(6, listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules.Count); Assert.Equal("AllowVnetInBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[0].Name); Assert.Equal("AllowAzureLoadBalancerInBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[1].Name); Assert.Equal("DenyAllInBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[2].Name); Assert.Equal("AllowVnetOutBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[3].Name); Assert.Equal("AllowInternetOutBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[4].Name); Assert.Equal("DenyAllOutBound", listNsgResponse.NetworkSecurityGroups[0].DefaultSecurityRules[5].Name); Assert.Equal(getNsgResponse.NetworkSecurityGroup.Etag, listNsgResponse.NetworkSecurityGroups[0].Etag); // List NSG in a subscription var listNsgSubsciptionResponse = networkResourceProviderClient.NetworkSecurityGroups.ListAll(); Assert.Equal(HttpStatusCode.OK, listNsgSubsciptionResponse.StatusCode); Assert.Equal(1, listNsgSubsciptionResponse.NetworkSecurityGroups.Count); Assert.Equal(networkSecurityGroupName, listNsgSubsciptionResponse.NetworkSecurityGroups[0].Name); Assert.Equal(6, listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules.Count); Assert.Equal("AllowVnetInBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[0].Name); Assert.Equal("AllowAzureLoadBalancerInBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[1].Name); Assert.Equal("DenyAllInBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[2].Name); Assert.Equal("AllowVnetOutBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[3].Name); Assert.Equal("AllowInternetOutBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[4].Name); Assert.Equal("DenyAllOutBound", listNsgSubsciptionResponse.NetworkSecurityGroups[0].DefaultSecurityRules[5].Name); Assert.Equal(getNsgResponse.NetworkSecurityGroup.Etag, listNsgSubsciptionResponse.NetworkSecurityGroups[0].Etag); // Add a new security rule var SecurityRule = new SecurityRule() { Name = securityRule2, Access = SecurityRuleAccess.Deny, Description = "Test outbound security rule", DestinationAddressPrefix = "*", DestinationPortRange = destinationPortRange, Direction = SecurityRuleDirection.Outbound, Priority = 501, Protocol = SecurityRuleProtocol.Udp, SourceAddressPrefix = "*", SourcePortRange = "656", }; networkSecurityGroup.SecurityRules.Add(SecurityRule); putNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.CreateOrUpdate(resourceGroupName, networkSecurityGroupName, networkSecurityGroup); Assert.Equal(HttpStatusCode.OK, putNsgResponse.StatusCode); Assert.Equal("Succeeded", putNsgResponse.Status); // Get NSG getNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.Get(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, getNsgResponse.StatusCode); // Verify the security rule Assert.Equal(SecurityRuleAccess.Deny, getNsgResponse.NetworkSecurityGroup.SecurityRules[1].Access); Assert.Equal("Test outbound security rule", getNsgResponse.NetworkSecurityGroup.SecurityRules[1].Description); Assert.Equal("*", getNsgResponse.NetworkSecurityGroup.SecurityRules[1].DestinationAddressPrefix); Assert.Equal(destinationPortRange, getNsgResponse.NetworkSecurityGroup.SecurityRules[1].DestinationPortRange); Assert.Equal(SecurityRuleDirection.Outbound, getNsgResponse.NetworkSecurityGroup.SecurityRules[1].Direction); Assert.Equal(501, getNsgResponse.NetworkSecurityGroup.SecurityRules[1].Priority); Assert.Equal(SecurityRuleProtocol.Udp, getNsgResponse.NetworkSecurityGroup.SecurityRules[1].Protocol); Assert.Equal("Succeeded", getNsgResponse.NetworkSecurityGroup.SecurityRules[1].ProvisioningState); Assert.Equal("*", getNsgResponse.NetworkSecurityGroup.SecurityRules[1].SourceAddressPrefix); Assert.Equal("656", getNsgResponse.NetworkSecurityGroup.SecurityRules[1].SourcePortRange); // Delete NSG var deleteResponse = networkResourceProviderClient.NetworkSecurityGroups.Delete(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, deleteResponse.StatusCode); // List NSG listNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listNsgResponse.StatusCode); Assert.Equal(0, listNsgResponse.NetworkSecurityGroups.Count); } }
public void SecurityRuleWithRulesApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/networkSecurityGroups"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); string networkSecurityGroupName = TestUtilities.GenerateName(); string securityRule1 = TestUtilities.GenerateName(); string securityRule2 = TestUtilities.GenerateName(); string destinationPortRange = "123-3500"; var networkSecurityGroup = new NetworkSecurityGroup() { Location = location, SecurityRules = new List <SecurityRule>() { new SecurityRule() { Name = securityRule1, Access = SecurityRuleAccess.Allow, Description = "Test security rule", DestinationAddressPrefix = "*", DestinationPortRange = destinationPortRange, Direction = SecurityRuleDirection.Inbound, Priority = 500, Protocol = SecurityRuleProtocol.Tcp, SourceAddressPrefix = "*", SourcePortRange = "655" } } }; // Put Nsg var putNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.CreateOrUpdate(resourceGroupName, networkSecurityGroupName, networkSecurityGroup); Assert.Equal(HttpStatusCode.OK, putNsgResponse.StatusCode); Assert.Equal("Succeeded", putNsgResponse.Status); // Get NSG var getNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.Get(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, getNsgResponse.StatusCode); Assert.Equal(networkSecurityGroupName, getNsgResponse.NetworkSecurityGroup.Name); // Get SecurityRule var getSecurityRuleResponse = networkResourceProviderClient.SecurityRules.Get(resourceGroupName, networkSecurityGroupName, securityRule1); Assert.Equal(HttpStatusCode.OK, getSecurityRuleResponse.StatusCode); Assert.Equal(securityRule1, getSecurityRuleResponse.SecurityRule.Name); this.CompareSecurityRule(getNsgResponse.NetworkSecurityGroup.SecurityRules[0], getSecurityRuleResponse.SecurityRule); // Add a new security rule var SecurityRule = new SecurityRule() { Name = securityRule2, Access = SecurityRuleAccess.Deny, Description = "Test outbound security rule", DestinationAddressPrefix = "*", DestinationPortRange = destinationPortRange, Direction = SecurityRuleDirection.Outbound, Priority = 501, Protocol = SecurityRuleProtocol.Udp, SourceAddressPrefix = "*", SourcePortRange = "656", }; var putSecurityRuleResponse = networkResourceProviderClient.SecurityRules.CreateOrUpdate(resourceGroupName, networkSecurityGroupName, securityRule2, SecurityRule); Assert.Equal(HttpStatusCode.OK, putSecurityRuleResponse.StatusCode); Assert.Equal("Succeeded", putSecurityRuleResponse.Status); // Get NSG getNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.Get(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, getNsgResponse.StatusCode); // Get the SecurityRule2 var getSecurityRule2Response = networkResourceProviderClient.SecurityRules.Get(resourceGroupName, networkSecurityGroupName, securityRule2); Assert.Equal(HttpStatusCode.OK, getSecurityRule2Response.StatusCode); Assert.Equal(securityRule2, getSecurityRule2Response.SecurityRule.Name); // Verify the security rule Assert.Equal(SecurityRuleAccess.Deny, getSecurityRule2Response.SecurityRule.Access); Assert.Equal("Test outbound security rule", getSecurityRule2Response.SecurityRule.Description); Assert.Equal("*", getSecurityRule2Response.SecurityRule.DestinationAddressPrefix); Assert.Equal(destinationPortRange, getSecurityRule2Response.SecurityRule.DestinationPortRange); Assert.Equal(SecurityRuleDirection.Outbound, getSecurityRule2Response.SecurityRule.Direction); Assert.Equal(501, getSecurityRule2Response.SecurityRule.Priority); Assert.Equal(SecurityRuleProtocol.Udp, getSecurityRule2Response.SecurityRule.Protocol); Assert.Equal("Succeeded", getSecurityRule2Response.SecurityRule.ProvisioningState); Assert.Equal("*", getSecurityRule2Response.SecurityRule.SourceAddressPrefix); Assert.Equal("656", getSecurityRule2Response.SecurityRule.SourcePortRange); this.CompareSecurityRule(getNsgResponse.NetworkSecurityGroup.SecurityRules[1], getSecurityRule2Response.SecurityRule); // List all SecurityRules var getsecurityRules = networkResourceProviderClient.SecurityRules.List(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, getsecurityRules.StatusCode); Assert.Equal(2, getsecurityRules.SecurityRules.Count); this.CompareSecurityRule(getNsgResponse.NetworkSecurityGroup.SecurityRules[0], getsecurityRules.SecurityRules[0]); this.CompareSecurityRule(getNsgResponse.NetworkSecurityGroup.SecurityRules[1], getsecurityRules.SecurityRules[1]); // Delete a SecurityRule var deleteSecurityRuleResponse = networkResourceProviderClient.SecurityRules.Delete(resourceGroupName, networkSecurityGroupName, securityRule2); Assert.Equal(HttpStatusCode.OK, deleteSecurityRuleResponse.StatusCode); getsecurityRules = networkResourceProviderClient.SecurityRules.List(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, getsecurityRules.StatusCode); Assert.Equal(1, getsecurityRules.SecurityRules.Count); // Delete NSG var deleteResponse = networkResourceProviderClient.NetworkSecurityGroups.Delete(resourceGroupName, networkSecurityGroupName); Assert.Equal(HttpStatusCode.OK, deleteResponse.StatusCode); // List NSG var listNsgResponse = networkResourceProviderClient.NetworkSecurityGroups.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listNsgResponse.StatusCode); Assert.Equal(0, listNsgResponse.NetworkSecurityGroups.Count); } }
public void ApplicationGatewayApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/applicationgateways"); resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); Init(); var appGw = CreateApplicationGatewayWithSsl(); // Put AppGw var putAppGwResponse = networkResourceProviderClient.ApplicationGateways.CreateOrUpdate(resourceGroupName, appGw.Name, appGw); Assert.Equal(HttpStatusCode.OK, putAppGwResponse.StatusCode); Assert.Equal("Succeeded", putAppGwResponse.Status); // Get AppGw var getResp = networkResourceProviderClient.ApplicationGateways.Get(resourceGroupName, appGw.Name); CompareApplicationGateway(appGw, getResp.ApplicationGateway); // List AppGw var listAppGw = networkResourceProviderClient.ApplicationGateways.List(resourceGroupName); Assert.Equal(1, listAppGw.ApplicationGateways.Count); // List all AppGw var listAllAppGw = networkResourceProviderClient.ApplicationGateways.ListAll(); Assert.Equal(1, listAllAppGw.ApplicationGateways.Count); //Add one more gateway // Put AppGw var appGw2 = CreateApplicationGateway(); putAppGwResponse = networkResourceProviderClient.ApplicationGateways.CreateOrUpdate(resourceGroupName, appGw2.Name, appGw2); Assert.Equal(HttpStatusCode.OK, putAppGwResponse.StatusCode); Assert.Equal("Succeeded", putAppGwResponse.Status); // Get AppGw getResp = networkResourceProviderClient.ApplicationGateways.Get(resourceGroupName, appGw2.Name); CompareApplicationGateway(appGw2, getResp.ApplicationGateway); // List AppGw listAppGw = networkResourceProviderClient.ApplicationGateways.List(resourceGroupName); Assert.Equal(2, listAppGw.ApplicationGateways.Count); // List all AppGw listAllAppGw = networkResourceProviderClient.ApplicationGateways.ListAll(); Assert.Equal(2, listAllAppGw.ApplicationGateways.Count); //Start AppGw var startResult = networkResourceProviderClient.ApplicationGateways.Start(resourceGroupName, appGw.Name); Assert.Equal(HttpStatusCode.OK, startResult.StatusCode); Assert.Equal("Succeeded", startResult.Status); startResult = networkResourceProviderClient.ApplicationGateways.Start(resourceGroupName, appGw2.Name); Assert.Equal(HttpStatusCode.OK, startResult.StatusCode); Assert.Equal("Succeeded", startResult.Status); //Stop AppGw var stopResult = networkResourceProviderClient.ApplicationGateways.Stop(resourceGroupName, appGw.Name); Assert.Equal(HttpStatusCode.OK, stopResult.StatusCode); Assert.Equal("Succeeded", stopResult.Status); stopResult = networkResourceProviderClient.ApplicationGateways.Stop(resourceGroupName, appGw2.Name); Assert.Equal(HttpStatusCode.OK, stopResult.StatusCode); Assert.Equal("Succeeded", stopResult.Status); // Delete AppGw var deleteResult = networkResourceProviderClient.ApplicationGateways.Delete(resourceGroupName, appGw.Name); Assert.Equal(HttpStatusCode.OK, deleteResult.StatusCode); deleteResult = networkResourceProviderClient.ApplicationGateways.Delete(resourceGroupName, appGw2.Name); Assert.Equal(HttpStatusCode.OK, deleteResult.StatusCode); // Verify Delete listAppGw = networkResourceProviderClient.ApplicationGateways.List(resourceGroupName); Assert.Equal(0, listAppGw.ApplicationGateways.Count); } }
public void ExpressRouteCircuitApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); // var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/expressRouteCircuits"); var location = "brazilsouth"; string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate( resourceGroupName, new ResourceGroup { Location = location }); string circuitName = TestUtilities.GenerateName(); var circuit = new ExpressRouteCircuit() { Location = location, Sku = new ExpressRouteCircuitSku() { Name = "Standard_MeteredData", Tier = ExpressRouteCircuitSkuTier.Standard, Family = ExpressRouteCircuitSkuFamily.MeteredData }, BillingType = ExpressRouteCircuitBillingType.ServiceProviderType, ServiceProviderProperties = new ExpressRouteCircuitServiceProviderProperties() { ServiceProviderName = "Equinix", PeeringLocation = "Silicon Valley", BandwidthInMbps = 1000 } }; // Create the circuit var putCircuit = networkResourceProviderClient.ExpressRouteCircuits.CreateOrUpdate(resourceGroupName, circuitName, circuit); Assert.Equal(HttpStatusCode.OK, putCircuit.StatusCode); var getCircuit = networkResourceProviderClient.ExpressRouteCircuits.Get(resourceGroupName, circuitName); // Verify properties Assert.Equal(HttpStatusCode.OK, getCircuit.StatusCode); Assert.NotNull(getCircuit.ExpressRouteCircuit); Assert.NotNull(getCircuit.ExpressRouteCircuit.Sku); Assert.NotNull(getCircuit.ExpressRouteCircuit.Etag); Assert.Equal("Standard_MeteredData", getCircuit.ExpressRouteCircuit.Sku.Name); Assert.Equal(ExpressRouteCircuitSkuTier.Standard, getCircuit.ExpressRouteCircuit.Sku.Tier); Assert.Equal(ExpressRouteCircuitSkuFamily.MeteredData, getCircuit.ExpressRouteCircuit.Sku.Family); //Assert.Equal(ExpressRouteCircuitBillingType.ServiceProviderType, getCircuit.ExpressRouteCircuit.BillingType); Assert.NotNull(getCircuit.ExpressRouteCircuit.ServiceProviderProperties); Assert.Equal("Equinix", getCircuit.ExpressRouteCircuit.ServiceProviderProperties.ServiceProviderName); Assert.Equal("Silicon Valley", getCircuit.ExpressRouteCircuit.ServiceProviderProperties.PeeringLocation); Assert.Equal(1000, getCircuit.ExpressRouteCircuit.ServiceProviderProperties.BandwidthInMbps); // Verify List var listCircuit = networkResourceProviderClient.ExpressRouteCircuits.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listCircuit.StatusCode); Assert.NotNull(listCircuit.ExpressRouteCircuits); Assert.Equal(1, listCircuit.ExpressRouteCircuits.Count); Assert.Equal(listCircuit.ExpressRouteCircuits[0].Etag, getCircuit.ExpressRouteCircuit.Etag); Assert.Equal(listCircuit.ExpressRouteCircuits[0].Sku.Name, getCircuit.ExpressRouteCircuit.Sku.Name); Assert.Equal(listCircuit.ExpressRouteCircuits[0].Sku.Tier, getCircuit.ExpressRouteCircuit.Sku.Tier); Assert.Equal(listCircuit.ExpressRouteCircuits[0].Sku.Family, getCircuit.ExpressRouteCircuit.Sku.Family); Assert.NotNull(getCircuit.ExpressRouteCircuit.ServiceProviderProperties); Assert.Equal(listCircuit.ExpressRouteCircuits[0].ServiceProviderProperties.ServiceProviderName, getCircuit.ExpressRouteCircuit.ServiceProviderProperties.ServiceProviderName); Assert.Equal(listCircuit.ExpressRouteCircuits[0].ServiceProviderProperties.PeeringLocation, getCircuit.ExpressRouteCircuit.ServiceProviderProperties.PeeringLocation); Assert.Equal(listCircuit.ExpressRouteCircuits[0].ServiceProviderProperties.BandwidthInMbps, getCircuit.ExpressRouteCircuit.ServiceProviderProperties.BandwidthInMbps); // Verify Delete var deleteCircuit = networkResourceProviderClient.ExpressRouteCircuits.Delete(resourceGroupName, circuitName); Assert.Equal(HttpStatusCode.OK, deleteCircuit.StatusCode); listCircuit = networkResourceProviderClient.ExpressRouteCircuits.List(resourceGroupName); Assert.Equal(0, listCircuit.ExpressRouteCircuits.Count); } }
public void VirtualNetworkApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/virtualNetworks"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); string vnetName = TestUtilities.GenerateName(); string subnet1Name = TestUtilities.GenerateName(); string subnet2Name = TestUtilities.GenerateName(); var vnet = new VirtualNetwork() { Location = location, AddressSpace = new AddressSpace() { AddressPrefixes = new List <string>() { "10.0.0.0/16", } }, DhcpOptions = new DhcpOptions() { DnsServers = new List <string>() { "10.1.1.1", "10.1.2.4" } }, Subnets = new List <Subnet>() { new Subnet() { Name = subnet1Name, AddressPrefix = "10.0.1.0/24", }, new Subnet() { Name = subnet2Name, AddressPrefix = "10.0.2.0/24", } } }; // Put Vnet var putVnetResponse = networkResourceProviderClient.VirtualNetworks.CreateOrUpdate(resourceGroupName, vnetName, vnet); Assert.Equal(HttpStatusCode.OK, putVnetResponse.StatusCode); Assert.Equal("Succeeded", putVnetResponse.Status); // Get Vnet var getVnetResponse = networkResourceProviderClient.VirtualNetworks.Get(resourceGroupName, vnetName); Assert.Equal(HttpStatusCode.OK, getVnetResponse.StatusCode); Assert.Equal(vnetName, getVnetResponse.VirtualNetwork.Name); Assert.NotNull(getVnetResponse.VirtualNetwork.ResourceGuid); Assert.Equal(Microsoft.Azure.Management.Resources.Models.ProvisioningState.Succeeded, getVnetResponse.VirtualNetwork.ProvisioningState); Assert.Equal("10.1.1.1", getVnetResponse.VirtualNetwork.DhcpOptions.DnsServers[0]); Assert.Equal("10.1.2.4", getVnetResponse.VirtualNetwork.DhcpOptions.DnsServers[1]); Assert.Equal("10.0.0.0/16", getVnetResponse.VirtualNetwork.AddressSpace.AddressPrefixes[0]); Assert.Equal(subnet1Name, getVnetResponse.VirtualNetwork.Subnets[0].Name); Assert.Equal(subnet2Name, getVnetResponse.VirtualNetwork.Subnets[1].Name); // Get all Vnets var getAllVnets = networkResourceProviderClient.VirtualNetworks.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, getAllVnets.StatusCode); Assert.Equal(vnetName, getAllVnets.VirtualNetworks[0].Name); Assert.Equal(Microsoft.Azure.Management.Resources.Models.ProvisioningState.Succeeded, getAllVnets.VirtualNetworks[0].ProvisioningState); Assert.Equal("10.0.0.0/16", getAllVnets.VirtualNetworks[0].AddressSpace.AddressPrefixes[0]); Assert.Equal(subnet1Name, getAllVnets.VirtualNetworks[0].Subnets[0].Name); Assert.Equal(subnet2Name, getAllVnets.VirtualNetworks[0].Subnets[1].Name); // Get all Vnets in a subscription var getAllVnetInSubscription = networkResourceProviderClient.VirtualNetworks.ListAll(); Assert.Equal(HttpStatusCode.OK, getAllVnetInSubscription.StatusCode); Assert.Equal(vnetName, getAllVnetInSubscription.VirtualNetworks[0].Name); Assert.Equal(Microsoft.Azure.Management.Resources.Models.ProvisioningState.Succeeded, getAllVnetInSubscription.VirtualNetworks[0].ProvisioningState); Assert.Equal("10.0.0.0/16", getAllVnetInSubscription.VirtualNetworks[0].AddressSpace.AddressPrefixes[0]); Assert.Equal(subnet1Name, getAllVnetInSubscription.VirtualNetworks[0].Subnets[0].Name); Assert.Equal(subnet2Name, getAllVnetInSubscription.VirtualNetworks[0].Subnets[1].Name); // Delete Vnet var deleteVnetResponse = networkResourceProviderClient.VirtualNetworks.Delete(resourceGroupName, vnetName); Assert.Equal(HttpStatusCode.OK, deleteVnetResponse.StatusCode); // Get all Vnets getAllVnets = networkResourceProviderClient.VirtualNetworks.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, getAllVnets.StatusCode); Assert.Equal(0, getAllVnets.VirtualNetworks.Count); } }
public void LocalNettworkGatewayOperationsApisTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/localNetworkGateways"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); // 1. CreateLocalNetworkGateway API string localNetworkGatewayName = TestUtilities.GenerateName(); string gatewayIp = "192.168.3.4"; string addressPrefixes = "192.168.0.0/16"; string newAddressPrefixes = "200.168.0.0/16"; var localNetworkGateway = new LocalNetworkGateway() { Location = location, Name = localNetworkGatewayName, Tags = new Dictionary <string, string>() { { "test", "value" } }, GatewayIpAddress = gatewayIp, LocalNetworkAddressSpace = new AddressSpace() { AddressPrefixes = new List <string>() { addressPrefixes, } } }; var putLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.CreateOrUpdate(resourceGroupName, localNetworkGatewayName, localNetworkGateway); Assert.Equal(HttpStatusCode.OK, putLocalNetworkGatewayResponse.StatusCode); Assert.Equal("Succeeded", putLocalNetworkGatewayResponse.Status); // 2. GetLocalNetworkGateway API var getLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.Get(resourceGroupName, localNetworkGatewayName); Assert.Equal(HttpStatusCode.OK, getLocalNetworkGatewayResponse.StatusCode); getLocalNetworkGatewayResponse.LocalNetworkGateway.Location = location; Console.WriteLine("Local Network Gateway details:- GatewayLocation: {0}, GatewayId:{1}, GatewayName={2} GatewayIpAddress={3} LocalNetworkAddressSpace={4}", getLocalNetworkGatewayResponse.LocalNetworkGateway.Location, getLocalNetworkGatewayResponse.LocalNetworkGateway.Id, getLocalNetworkGatewayResponse.LocalNetworkGateway.Name, getLocalNetworkGatewayResponse.LocalNetworkGateway.GatewayIpAddress, getLocalNetworkGatewayResponse.LocalNetworkGateway.LocalNetworkAddressSpace.AddressPrefixes[0].ToString()); Assert.Equal(gatewayIp, getLocalNetworkGatewayResponse.LocalNetworkGateway.GatewayIpAddress); Assert.Equal(addressPrefixes, getLocalNetworkGatewayResponse.LocalNetworkGateway.LocalNetworkAddressSpace.AddressPrefixes[0].ToString()); // 3A. UpdateLocalNetworkgateway API :- LocalNetworkGateway LocalNetworkAddressSpace from "192.168.0.0/16" => "200.168.0.0/16" getLocalNetworkGatewayResponse.LocalNetworkGateway.LocalNetworkAddressSpace = new AddressSpace() { AddressPrefixes = new List <string>() { newAddressPrefixes, } }; putLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.CreateOrUpdate(resourceGroupName, localNetworkGatewayName, getLocalNetworkGatewayResponse.LocalNetworkGateway); Assert.Equal(HttpStatusCode.OK, putLocalNetworkGatewayResponse.StatusCode); Assert.Equal("Succeeded", putLocalNetworkGatewayResponse.Status); // 3B. GetLocalNetworkGateway API after Updating LocalNetworkGateway LocalNetworkAddressSpace from "192.168.0.0/16" => "200.168.0.0/16" getLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.Get(resourceGroupName, localNetworkGatewayName); Assert.Equal(HttpStatusCode.OK, getLocalNetworkGatewayResponse.StatusCode); getLocalNetworkGatewayResponse.LocalNetworkGateway.Location = location; Console.WriteLine("Local Network Gateway details:- GatewayLocation: {0}, GatewayId:{1}, GatewayName={2} GatewayIpAddress={3} LocalNetworkAddressSpace={4}", getLocalNetworkGatewayResponse.LocalNetworkGateway.Location, getLocalNetworkGatewayResponse.LocalNetworkGateway.Id, getLocalNetworkGatewayResponse.LocalNetworkGateway.Name, getLocalNetworkGatewayResponse.LocalNetworkGateway.GatewayIpAddress, getLocalNetworkGatewayResponse.LocalNetworkGateway.LocalNetworkAddressSpace.AddressPrefixes[0].ToString()); Assert.Equal(newAddressPrefixes, getLocalNetworkGatewayResponse.LocalNetworkGateway.LocalNetworkAddressSpace.AddressPrefixes[0].ToString()); // 4. ListLocalNetworkGateways API var listLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listLocalNetworkGatewayResponse.StatusCode); Console.WriteLine("ListLocalNetworkGateways count ={0} ", listLocalNetworkGatewayResponse.LocalNetworkGateways.Count); Assert.Equal(1, listLocalNetworkGatewayResponse.LocalNetworkGateways.Count); // 5A. DeleteLocalNetworkGateway API var deleteLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.Delete(resourceGroupName, localNetworkGatewayName); Assert.Equal(HttpStatusCode.OK, deleteLocalNetworkGatewayResponse.StatusCode); // 5B. ListLocalNetworkGateways API after DeleteLocalNetworkGateway API was called listLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listLocalNetworkGatewayResponse.StatusCode); Console.WriteLine("ListLocalNetworkGateways count ={0} ", listLocalNetworkGatewayResponse.LocalNetworkGateways.Count); Assert.Equal(0, listLocalNetworkGatewayResponse.LocalNetworkGateways.Count); } }
public void SubnetApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/virtualNetworks"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); string vnetName = TestUtilities.GenerateName(); string subnet1Name = TestUtilities.GenerateName(); string subnet2Name = TestUtilities.GenerateName(); var vnet = new VirtualNetwork() { Location = location, AddressSpace = new AddressSpace() { AddressPrefixes = new List <string>() { "10.0.0.0/16", } }, DhcpOptions = new DhcpOptions() { DnsServers = new List <string>() { "10.1.1.1", "10.1.2.4" } }, Subnets = new List <Subnet>() { new Subnet() { Name = subnet1Name, AddressPrefix = "10.0.0.0/24", } } }; var putVnetResponse = networkResourceProviderClient.VirtualNetworks.CreateOrUpdate(resourceGroupName, vnetName, vnet); Assert.Equal(HttpStatusCode.OK, putVnetResponse.StatusCode); // Create a Subnet // Populate paramters for a Subnet var subnet = new Subnet() { Name = subnet2Name, AddressPrefix = "10.0.1.0/24", }; #region Verification var putSubnetResponse = networkResourceProviderClient.Subnets.CreateOrUpdate(resourceGroupName, vnetName, subnet2Name, subnet); Assert.Equal(HttpStatusCode.OK, putSubnetResponse.StatusCode); var getVnetResponse = networkResourceProviderClient.VirtualNetworks.Get(resourceGroupName, vnetName); Assert.Equal(HttpStatusCode.OK, getVnetResponse.StatusCode); Assert.Equal(2, getVnetResponse.VirtualNetwork.Subnets.Count); var getSubnetResponse = networkResourceProviderClient.Subnets.Get(resourceGroupName, vnetName, subnet2Name); Assert.Equal(HttpStatusCode.OK, getSubnetResponse.StatusCode); // Verify the getSubnetResponse Assert.True(AreSubnetsEqual(getVnetResponse.VirtualNetwork.Subnets[1], getSubnetResponse.Subnet)); var getSubnetListResponse = networkResourceProviderClient.Subnets.List(resourceGroupName, vnetName); Assert.Equal(HttpStatusCode.OK, getSubnetListResponse.StatusCode); // Verify ListSubnets Assert.True(AreSubnetsEqual(getVnetResponse.VirtualNetwork.Subnets, getSubnetListResponse.Subnets)); // Delete the subnet "subnet1" var deleteSubnetResponse = networkResourceProviderClient.Subnets.Delete(resourceGroupName, vnetName, subnet2Name); Assert.Equal(HttpStatusCode.OK, deleteSubnetResponse.StatusCode); // Verify that the deletion was successful getSubnetListResponse = networkResourceProviderClient.Subnets.List(resourceGroupName, vnetName); Assert.Equal(HttpStatusCode.OK, getSubnetListResponse.StatusCode); Assert.Equal(1, getSubnetListResponse.Subnets.Count); Assert.Equal(subnet1Name, getSubnetListResponse.Subnets[0].Name); #endregion } }
public void RouteTableApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/routeTables"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate( resourceGroupName, new ResourceGroup { Location = location }); string routeTableName = TestUtilities.GenerateName(); string route1Name = TestUtilities.GenerateName(); string route2Name = TestUtilities.GenerateName(); var routeTable = new RouteTable() { Location = location, }; // Add a route var route1 = new Route() { AddressPrefix = "192.168.1.0/24", Name = route1Name, NextHopIpAddress = "23.108.1.1", NextHopType = RouteNextHopType.VirtualAppliance }; routeTable.Routes.Add(route1); // Put RouteTable var putRouteTableResponse = networkResourceProviderClient.RouteTables.CreateOrUpdate( resourceGroupName, routeTableName, routeTable); Assert.Equal(HttpStatusCode.OK, putRouteTableResponse.StatusCode); Assert.Equal("Succeeded", putRouteTableResponse.Status); // Get RouteTable var getRouteTableResponse = networkResourceProviderClient.RouteTables.Get( resourceGroupName, routeTableName); Assert.Equal(routeTableName, getRouteTableResponse.RouteTable.Name); Assert.Equal(1, getRouteTableResponse.RouteTable.Routes.Count); Assert.Equal(route1Name, getRouteTableResponse.RouteTable.Routes[0].Name); Assert.Equal("192.168.1.0/24", getRouteTableResponse.RouteTable.Routes[0].AddressPrefix); Assert.Equal("23.108.1.1", getRouteTableResponse.RouteTable.Routes[0].NextHopIpAddress); Assert.Equal(RouteNextHopType.VirtualAppliance, getRouteTableResponse.RouteTable.Routes[0].NextHopType); // Add another route var route2 = new Route() { AddressPrefix = "10.0.1.0/24", Name = route2Name, NextHopType = RouteNextHopType.VnetLocal }; getRouteTableResponse.RouteTable.Routes.Add(route2); networkResourceProviderClient.RouteTables.CreateOrUpdate( resourceGroupName, routeTableName, getRouteTableResponse.RouteTable); getRouteTableResponse = networkResourceProviderClient.RouteTables.Get( resourceGroupName, routeTableName); Assert.Equal(routeTableName, getRouteTableResponse.RouteTable.Name); Assert.Equal(2, getRouteTableResponse.RouteTable.Routes.Count); Assert.Equal(route2Name, getRouteTableResponse.RouteTable.Routes[1].Name); Assert.Equal("10.0.1.0/24", getRouteTableResponse.RouteTable.Routes[1].AddressPrefix); Assert.True(string.IsNullOrEmpty(getRouteTableResponse.RouteTable.Routes[1].NextHopIpAddress)); Assert.Equal(RouteNextHopType.VnetLocal, getRouteTableResponse.RouteTable.Routes[1].NextHopType); // Delete a route getRouteTableResponse.RouteTable.Routes.RemoveAt(0); networkResourceProviderClient.RouteTables.CreateOrUpdate( resourceGroupName, routeTableName, getRouteTableResponse.RouteTable); getRouteTableResponse = networkResourceProviderClient.RouteTables.Get( resourceGroupName, routeTableName); Assert.Equal(routeTableName, getRouteTableResponse.RouteTable.Name); Assert.Equal(1, getRouteTableResponse.RouteTable.Routes.Count); Assert.Equal(route2Name, getRouteTableResponse.RouteTable.Routes[0].Name); Assert.Equal("10.0.1.0/24", getRouteTableResponse.RouteTable.Routes[0].AddressPrefix); Assert.True(string.IsNullOrEmpty(getRouteTableResponse.RouteTable.Routes[0].NextHopIpAddress)); Assert.Equal(RouteNextHopType.VnetLocal, getRouteTableResponse.RouteTable.Routes[0].NextHopType); // Delete RouteTable var deleteRouteTableResponse = networkResourceProviderClient.RouteTables.Delete( resourceGroupName, routeTableName); Assert.Equal(HttpStatusCode.OK, deleteRouteTableResponse.StatusCode); // Verify delete var listRouteTableResponse = networkResourceProviderClient.RouteTables.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listRouteTableResponse.StatusCode); Assert.Equal(0, listRouteTableResponse.RouteTables.Count); } }
public void SubnetRouteTableTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/routeTables"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate( resourceGroupName, new ResourceGroup { Location = location }); string routeTableName = TestUtilities.GenerateName(); string route1Name = TestUtilities.GenerateName(); var routeTable = new RouteTable() { Location = location, }; var route1 = new Route() { AddressPrefix = "192.168.1.0/24", Name = route1Name, NextHopIpAddress = "23.108.1.1", NextHopType = RouteNextHopType.VirtualAppliance }; routeTable.Routes.Add(route1); // Put RouteTable var putRouteTableResponse = networkResourceProviderClient.RouteTables.CreateOrUpdate( resourceGroupName, routeTableName, routeTable); Assert.Equal(HttpStatusCode.OK, putRouteTableResponse.StatusCode); Assert.Equal("Succeeded", putRouteTableResponse.Status); // Get RouteTable var getRouteTableResponse = networkResourceProviderClient.RouteTables.Get( resourceGroupName, routeTableName); // Verify that the subnet reference is null Assert.False(getRouteTableResponse.RouteTable.Subnets.Any()); // Create Vnet with subnet and add a route table string vnetName = TestUtilities.GenerateName(); string subnetName = TestUtilities.GenerateName(); var vnet = new VirtualNetwork() { Location = location, AddressSpace = new AddressSpace() { AddressPrefixes = new List <string>() { "10.0.0.0/16", } }, DhcpOptions = new DhcpOptions() { DnsServers = new List <string>() { "10.1.1.1", "10.1.2.4" } }, Subnets = new List <Subnet>() { new Subnet() { Name = subnetName, AddressPrefix = "10.0.0.0/24", RouteTable = new ResourceId() { Id = getRouteTableResponse.RouteTable.Id, } } } }; var putVnetResponse = networkResourceProviderClient.VirtualNetworks.CreateOrUpdate(resourceGroupName, vnetName, vnet); Assert.Equal(HttpStatusCode.OK, putVnetResponse.StatusCode); var getSubnetResponse = networkResourceProviderClient.Subnets.Get(resourceGroupName, vnetName, subnetName); Assert.Equal(getSubnetResponse.Subnet.RouteTable.Id, getRouteTableResponse.RouteTable.Id); // Get RouteTable getRouteTableResponse = networkResourceProviderClient.RouteTables.Get( resourceGroupName, routeTableName); Assert.Equal(1, getRouteTableResponse.RouteTable.Subnets.Count); Assert.Equal(getSubnetResponse.Subnet.Id, getRouteTableResponse.RouteTable.Subnets[0].Id); } }
public void EmptyRouteTableTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/routeTables"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate( resourceGroupName, new ResourceGroup { Location = location }); string routeTableName = TestUtilities.GenerateName(); var routeTable = new RouteTable() { Location = location, }; // Put RouteTable var putRouteTableResponse = networkResourceProviderClient.RouteTables.CreateOrUpdate( resourceGroupName, routeTableName, routeTable); Assert.Equal(HttpStatusCode.OK, putRouteTableResponse.StatusCode); Assert.Equal("Succeeded", putRouteTableResponse.Status); // Get RouteTable var getRouteTableResponse = networkResourceProviderClient.RouteTables.Get( resourceGroupName, routeTableName); Assert.Equal(routeTableName, getRouteTableResponse.RouteTable.Name); Assert.False(getRouteTableResponse.RouteTable.Routes.Any()); // List RouteTable var listRouteTableResponse = networkResourceProviderClient.RouteTables.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listRouteTableResponse.StatusCode); Assert.Equal(1, listRouteTableResponse.RouteTables.Count); Assert.Equal(getRouteTableResponse.RouteTable.Name, listRouteTableResponse.RouteTables[0].Name); Assert.Equal(getRouteTableResponse.RouteTable.Id, listRouteTableResponse.RouteTables[0].Id); // Delete RouteTable var deleteRouteTableResponse = networkResourceProviderClient.RouteTables.Delete( resourceGroupName, routeTableName); Assert.Equal(HttpStatusCode.OK, deleteRouteTableResponse.StatusCode); // Verify delete listRouteTableResponse = networkResourceProviderClient.RouteTables.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listRouteTableResponse.StatusCode); Assert.Equal(0, listRouteTableResponse.RouteTables.Count); } }
public void PublicIpAddressApiTestWithIdletTimeoutAndReverseFqdn() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = ResourcesManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/publicIPAddresses"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); // Create the parameter for PUT PublicIpAddress string publicIpName = TestUtilities.GenerateName(); string domainNameLabel = TestUtilities.GenerateName(); string reverseFqdn; var publicIp = new PublicIpAddress() { Location = location, Tags = new Dictionary <string, string>() { { "key", "value" } }, PublicIpAllocationMethod = IpAllocationMethod.Dynamic, DnsSettings = new PublicIpAddressDnsSettings() { DomainNameLabel = domainNameLabel, }, IdleTimeoutInMinutes = 16, }; // Put PublicIpAddress var putPublicIpAddressResponse = networkResourceProviderClient.PublicIpAddresses.CreateOrUpdate(resourceGroupName, publicIpName, publicIp); Assert.Equal(HttpStatusCode.OK, putPublicIpAddressResponse.StatusCode); Assert.Equal("Succeeded", putPublicIpAddressResponse.Status); // Get PublicIpAddress var getPublicIpAddressResponse = networkResourceProviderClient.PublicIpAddresses.Get(resourceGroupName, publicIpName); Assert.Equal(HttpStatusCode.OK, getPublicIpAddressResponse.StatusCode); // Add Reverse FQDN reverseFqdn = getPublicIpAddressResponse.PublicIpAddress.DnsSettings.Fqdn; getPublicIpAddressResponse.PublicIpAddress.DnsSettings.ReverseFqdn = reverseFqdn; putPublicIpAddressResponse = networkResourceProviderClient.PublicIpAddresses.CreateOrUpdate(resourceGroupName, publicIpName, getPublicIpAddressResponse.PublicIpAddress); Assert.Equal(HttpStatusCode.OK, putPublicIpAddressResponse.StatusCode); Assert.Equal("Succeeded", putPublicIpAddressResponse.Status); // Get PublicIpAddress getPublicIpAddressResponse = networkResourceProviderClient.PublicIpAddresses.Get(resourceGroupName, publicIpName); Assert.Equal(HttpStatusCode.OK, getPublicIpAddressResponse.StatusCode); Assert.Equal(16, getPublicIpAddressResponse.PublicIpAddress.IdleTimeoutInMinutes); Assert.Equal(reverseFqdn, getPublicIpAddressResponse.PublicIpAddress.DnsSettings.ReverseFqdn); // Get List of PublicIpAddress var getPublicIpAddressListResponse = networkResourceProviderClient.PublicIpAddresses.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, getPublicIpAddressListResponse.StatusCode); Assert.Equal(1, getPublicIpAddressListResponse.PublicIpAddresses.Count); ArePublicIpAddressesEqual(getPublicIpAddressResponse.PublicIpAddress, getPublicIpAddressListResponse.PublicIpAddresses[0]); // Get List of PublicIpAddress in a subscription var getPublicIpAddressListSubscriptionResponse = networkResourceProviderClient.PublicIpAddresses.ListAll(); Assert.Equal(HttpStatusCode.OK, getPublicIpAddressListSubscriptionResponse.StatusCode); Assert.Equal(1, getPublicIpAddressListSubscriptionResponse.PublicIpAddresses.Count); ArePublicIpAddressesEqual(getPublicIpAddressResponse.PublicIpAddress, getPublicIpAddressListSubscriptionResponse.PublicIpAddresses[0]); // Delete PublicIpAddress var deletePublicIpAddressResponse = networkResourceProviderClient.PublicIpAddresses.Delete(resourceGroupName, publicIpName); Assert.Equal(HttpStatusCode.OK, deletePublicIpAddressResponse.StatusCode); // Get PublicIpAddress getPublicIpAddressListResponse = networkResourceProviderClient.PublicIpAddresses.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, getPublicIpAddressListResponse.StatusCode); Assert.Equal(0, getPublicIpAddressListResponse.PublicIpAddresses.Count); } }
public void VirtualNetworkGatewayOperationsApisTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/virtualnetworkgateways"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); // 1. CreateVirtualNetworkGateway API // A. Prerequisite:- Create PublicIPAddress(Gateway Ip) using Put PublicIpAddress API string publicIpName = TestUtilities.GenerateName(); string domainNameLabel = TestUtilities.GenerateName(); var nic1publicIp = TestHelper.CreateDefaultPublicIpAddress(publicIpName, resourceGroupName, domainNameLabel, location, networkResourceProviderClient); Console.WriteLine("PublicIPAddress(Gateway Ip) :{0}", nic1publicIp.Id); // B.Prerequisite:- Create Virtual Network using Put VirtualNetwork API string vnetName = TestUtilities.GenerateName(); string subnetName = "GatewaySubnet"; var virtualNetwork = TestHelper.CreateVirtualNetwork(vnetName, subnetName, resourceGroupName, location, networkResourceProviderClient); var getSubnetResponse = networkResourceProviderClient.Subnets.Get(resourceGroupName, vnetName, subnetName); Console.WriteLine("Virtual Network GatewaySubnet Id: {0}", getSubnetResponse.Subnet.Id); // C. CreateVirtualNetworkGateway API string virtualNetworkGatewayName = TestUtilities.GenerateName(); string ipConfigName = TestUtilities.GenerateName(); var virtualNetworkGateway = new VirtualNetworkGateway() { Location = location, Name = virtualNetworkGatewayName, Tags = new Dictionary <string, string>() { { "key", "value" } }, EnableBgp = false, GatewayType = VirtualNetworkGatewayType.Vpn, VpnType = VpnType.RouteBased, IpConfigurations = new List <VirtualNetworkGatewayIpConfiguration>() { new VirtualNetworkGatewayIpConfiguration() { Name = ipConfigName, PrivateIpAllocationMethod = IpAllocationMethod.Dynamic, PublicIpAddress = new ResourceId() { Id = nic1publicIp.Id }, Subnet = new ResourceId() { Id = getSubnetResponse.Subnet.Id } } } }; var putVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.CreateOrUpdate(resourceGroupName, virtualNetworkGatewayName, virtualNetworkGateway); Assert.Equal(HttpStatusCode.OK, putVirtualNetworkGatewayResponse.StatusCode); Assert.Equal("Succeeded", putVirtualNetworkGatewayResponse.Status); // 2. GetVirtualNetworkGateway API var getVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.Get(resourceGroupName, virtualNetworkGatewayName); Assert.Equal(HttpStatusCode.OK, getVirtualNetworkGatewayResponse.StatusCode); Console.WriteLine("Gateway details:- GatewayLocation: {0}, GatewayId:{1}, GatewayName={2}, GatewayType={3}, VpnType={4}", getVirtualNetworkGatewayResponse.VirtualNetworkGateway.Location, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.Id, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.Name, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.GatewayType, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.VpnType); //Assert.Equal(VirtualNetworkGatewayType.Vpn, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.GatewayType); //Assert.Equal(VpnType.RouteBased, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.VpnType); // 3A. ResetVirtualNetworkGateway API var resetVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.Reset(resourceGroupName, virtualNetworkGatewayName, virtualNetworkGateway); Assert.Equal(HttpStatusCode.OK, resetVirtualNetworkGatewayResponse.StatusCode); Assert.Equal("Succeeded", resetVirtualNetworkGatewayResponse.Status); // 3B. GetVirtualNetworkgateway API after ResetVirtualNetworkGateway API was called getVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.Get(resourceGroupName, virtualNetworkGatewayName); Assert.Equal(HttpStatusCode.OK, getVirtualNetworkGatewayResponse.StatusCode); Console.WriteLine("Gateway details:- GatewayLocation: {0}, GatewayId:{1}, GatewayName={2}, GatewayType={3} ", getVirtualNetworkGatewayResponse.VirtualNetworkGateway.Location, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.Id, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.Name, getVirtualNetworkGatewayResponse.VirtualNetworkGateway.GatewayType); // 4. ListVitualNetworkGateways API var listVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listVirtualNetworkGatewayResponse.StatusCode); Console.WriteLine("ListVirtualNetworkGateways count ={0} ", listVirtualNetworkGatewayResponse.VirtualNetworkGateways.Count); Assert.Equal(1, listVirtualNetworkGatewayResponse.VirtualNetworkGateways.Count); // 5A. DeleteVirtualNetworkGateway API var deleteVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.Delete(resourceGroupName, virtualNetworkGatewayName); Assert.Equal(HttpStatusCode.OK, deleteVirtualNetworkGatewayResponse.StatusCode); // 5B. ListVitualNetworkGateways API after deleting VirtualNetworkGateway listVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listVirtualNetworkGatewayResponse.StatusCode); Console.WriteLine("ListVirtualNetworkGateways count ={0} ", listVirtualNetworkGatewayResponse.VirtualNetworkGateways.Count); Assert.Equal(0, listVirtualNetworkGatewayResponse.VirtualNetworkGateways.Count); } }
public void ExpressRouteCircuitWithPeeringApiTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); // var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/expressRouteCircuits"); var location = "brazilsouth"; string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate( resourceGroupName, new ResourceGroup { Location = location }); string circuitName = TestUtilities.GenerateName(); var circuit = new ExpressRouteCircuit() { Location = location, Sku = new ExpressRouteCircuitSku() { Name = "Standard_MeteredData", Tier = ExpressRouteCircuitSkuTier.Standard, Family = ExpressRouteCircuitSkuFamily.MeteredData }, BillingType = ExpressRouteCircuitBillingType.ServiceProviderType, ServiceProviderProperties = new ExpressRouteCircuitServiceProviderProperties() { ServiceProviderName = "Equinix", PeeringLocation = "Silicon Valley", BandwidthInMbps = 1000 }, Peerings = new List <ExpressRouteCircuitPeering>() { new ExpressRouteCircuitPeering() { Name = "AzurePrivatePeering", PeeringType = ExpressRouteCircuitPeeringType.AzurePrivatePeering, PeerASN = 100, PrimaryPeerAddressPrefix = "192.168.1.0/30", SecondaryPeerAddressPrefix = "192.168.2.0/30", VlanId = 200 } } }; // Create the circuit var putCircuit = networkResourceProviderClient.ExpressRouteCircuits.CreateOrUpdate(resourceGroupName, circuitName, circuit); Assert.Equal(HttpStatusCode.OK, putCircuit.StatusCode); var getCircuit = networkResourceProviderClient.ExpressRouteCircuits.Get(resourceGroupName, circuitName); // Verify properties Assert.Equal(HttpStatusCode.OK, getCircuit.StatusCode); Assert.NotNull(getCircuit.ExpressRouteCircuit); Assert.NotNull(getCircuit.ExpressRouteCircuit.Sku); Assert.Equal("Standard_MeteredData", getCircuit.ExpressRouteCircuit.Sku.Name); Assert.Equal(ExpressRouteCircuitSkuTier.Standard, getCircuit.ExpressRouteCircuit.Sku.Tier); Assert.Equal(ExpressRouteCircuitSkuFamily.MeteredData, getCircuit.ExpressRouteCircuit.Sku.Family); Assert.NotNull(getCircuit.ExpressRouteCircuit.ServiceProviderProperties); Assert.Equal("Equinix", getCircuit.ExpressRouteCircuit.ServiceProviderProperties.ServiceProviderName); Assert.Equal("Silicon Valley", getCircuit.ExpressRouteCircuit.ServiceProviderProperties.PeeringLocation); Assert.Equal(1000, getCircuit.ExpressRouteCircuit.ServiceProviderProperties.BandwidthInMbps); // Verify peering Assert.NotNull(getCircuit.ExpressRouteCircuit.Peerings); Assert.Equal(1, getCircuit.ExpressRouteCircuit.Peerings.Count); Assert.Equal("AzurePrivatePeering", getCircuit.ExpressRouteCircuit.Peerings[0].Name); Assert.Equal(ExpressRouteCircuitPeeringType.AzurePrivatePeering, getCircuit.ExpressRouteCircuit.Peerings[0].PeeringType); Assert.Equal(100, getCircuit.ExpressRouteCircuit.Peerings[0].PeerASN); Assert.Equal("192.168.1.0/30", getCircuit.ExpressRouteCircuit.Peerings[0].PrimaryPeerAddressPrefix); Assert.Equal("192.168.2.0/30", getCircuit.ExpressRouteCircuit.Peerings[0].SecondaryPeerAddressPrefix); Assert.Equal(200, getCircuit.ExpressRouteCircuit.Peerings[0].VlanId); // Get peering alone var getPeering = networkResourceProviderClient.ExpressRouteCircuitPeerings.Get(resourceGroupName, circuitName, "AzurePrivatePeering"); Assert.Equal(HttpStatusCode.OK, getPeering.StatusCode); Assert.Equal("AzurePrivatePeering", getPeering.Peering.Name); Assert.Equal(ExpressRouteCircuitPeeringType.AzurePrivatePeering, getPeering.Peering.PeeringType); Assert.Equal(100, getPeering.Peering.PeerASN); Assert.Equal("192.168.1.0/30", getPeering.Peering.PrimaryPeerAddressPrefix); Assert.Equal("192.168.2.0/30", getPeering.Peering.SecondaryPeerAddressPrefix); Assert.Equal(200, getPeering.Peering.VlanId); Assert.Null(getPeering.Peering.MicrosoftPeeringConfig); // list all peerings var listPeering = networkResourceProviderClient.ExpressRouteCircuitPeerings.List(resourceGroupName, circuitName); Assert.Equal(HttpStatusCode.OK, listPeering.StatusCode); Assert.Equal(1, listPeering.Peerings.Count); Assert.Equal("AzurePrivatePeering", listPeering.Peerings[0].Name); Assert.Equal(ExpressRouteCircuitPeeringType.AzurePrivatePeering, listPeering.Peerings[0].PeeringType); Assert.Equal(100, listPeering.Peerings[0].PeerASN); Assert.Equal("192.168.1.0/30", listPeering.Peerings[0].PrimaryPeerAddressPrefix); Assert.Equal("192.168.2.0/30", listPeering.Peerings[0].SecondaryPeerAddressPrefix); Assert.Equal(200, listPeering.Peerings[0].VlanId); // Add a new peering var peering = new ExpressRouteCircuitPeering() { PeeringType = ExpressRouteCircuitPeeringType.MicrosoftPeering, PeerASN = 100, PrimaryPeerAddressPrefix = "192.168.1.0/30", SecondaryPeerAddressPrefix = "192.168.2.0/30", VlanId = 200, MicrosoftPeeringConfig = new ExpressRouteCircuitPeeringConfig() { AdvertisedPublicPrefixes = new List <string>() { "11.2.3.4/30", "12.2.3.4/30" }, CustomerASN = 1000, RoutingRegistryName = "AFRINIC" } }; var putPeering = networkResourceProviderClient.ExpressRouteCircuitPeerings.CreateOrUpdate(resourceGroupName, circuitName, "MicrosoftPeering", peering); Assert.Equal(HttpStatusCode.OK, putPeering.StatusCode); getPeering = networkResourceProviderClient.ExpressRouteCircuitPeerings.Get(resourceGroupName, circuitName, "MicrosoftPeering"); Assert.Equal(HttpStatusCode.OK, getPeering.StatusCode); Assert.Equal("MicrosoftPeering", getPeering.Peering.Name); Assert.Equal(ExpressRouteCircuitPeeringType.MicrosoftPeering, getPeering.Peering.PeeringType); Assert.Equal(100, getPeering.Peering.PeerASN); Assert.Equal("192.168.1.0/30", getPeering.Peering.PrimaryPeerAddressPrefix); Assert.Equal("192.168.2.0/30", getPeering.Peering.SecondaryPeerAddressPrefix); Assert.Equal(200, getPeering.Peering.VlanId); Assert.NotNull(getPeering.Peering.MicrosoftPeeringConfig); Assert.Equal(2, getPeering.Peering.MicrosoftPeeringConfig.AdvertisedPublicPrefixes.Count); Assert.NotNull(getPeering.Peering.MicrosoftPeeringConfig.AdvertisedPublicPrefixesState); Assert.Equal(1000, getPeering.Peering.MicrosoftPeeringConfig.CustomerASN); Assert.Equal("AFRINIC", getPeering.Peering.MicrosoftPeeringConfig.RoutingRegistryName); listPeering = networkResourceProviderClient.ExpressRouteCircuitPeerings.List(resourceGroupName, circuitName); Assert.Equal(HttpStatusCode.OK, listPeering.StatusCode); Assert.Equal(2, listPeering.Peerings.Count); // Delete Peering var deletePeering = networkResourceProviderClient.ExpressRouteCircuitPeerings.Delete(resourceGroupName, circuitName, "MicrosoftPeering"); Assert.Equal(HttpStatusCode.OK, deletePeering.StatusCode); listPeering = networkResourceProviderClient.ExpressRouteCircuitPeerings.List(resourceGroupName, circuitName); Assert.Equal(HttpStatusCode.OK, listPeering.StatusCode); Assert.Equal(1, listPeering.Peerings.Count); // Verify Delete circuit var deleteCircuit = networkResourceProviderClient.ExpressRouteCircuits.Delete(resourceGroupName, circuitName); Assert.Equal(HttpStatusCode.OK, deleteCircuit.StatusCode); var listCircuit = networkResourceProviderClient.ExpressRouteCircuits.List(resourceGroupName); Assert.Equal(0, listCircuit.ExpressRouteCircuits.Count); } }
public void VirtualNetworkGatewayConnectionOperationsApisTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/connections"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); // 1. CreateVirtualNetworkGatewayConnection API // A. Prerequisite:- Create VirtualNetworkGateway1 // a. Create PublicIPAddress(Gateway Ip) using Put PublicIpAddress API string publicIpName = TestUtilities.GenerateName(); string domainNameLabel = TestUtilities.GenerateName(); var nic1publicIp = TestHelper.CreateDefaultPublicIpAddress(publicIpName, resourceGroupName, domainNameLabel, location, networkResourceProviderClient); Console.WriteLine("PublicIPAddress(Gateway Ip) :{0}", nic1publicIp.Id); // b. Create Virtual Network using Put VirtualNetwork API string vnetName = TestUtilities.GenerateName(); string subnetName = "GatewaySubnet"; var virtualNetwork = TestHelper.CreateVirtualNetwork(vnetName, subnetName, resourceGroupName, location, networkResourceProviderClient); var getSubnetResponse = networkResourceProviderClient.Subnets.Get(resourceGroupName, vnetName, subnetName); Console.WriteLine("Virtual Network GatewaySubnet Id: {0}", getSubnetResponse.Subnet.Id); //c. CreateVirtualNetworkGateway API string virtualNetworkGatewayName = TestUtilities.GenerateName(); string ipConfigName = TestUtilities.GenerateName(); var virtualNetworkGateway = new VirtualNetworkGateway() { Location = location, Name = virtualNetworkGatewayName, Tags = new Dictionary <string, string>() { { "key", "value" } }, EnableBgp = false, GatewayType = VirtualNetworkGatewayType.Vpn, VpnType = VpnType.RouteBased, IpConfigurations = new List <VirtualNetworkGatewayIpConfiguration>() { new VirtualNetworkGatewayIpConfiguration() { Name = ipConfigName, PrivateIpAllocationMethod = IpAllocationMethod.Dynamic, PublicIpAddress = new ResourceId() { Id = nic1publicIp.Id }, Subnet = new ResourceId() { Id = getSubnetResponse.Subnet.Id } } } }; var putVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.CreateOrUpdate(resourceGroupName, virtualNetworkGatewayName, virtualNetworkGateway); Assert.Equal(HttpStatusCode.OK, putVirtualNetworkGatewayResponse.StatusCode); Assert.Equal("Succeeded", putVirtualNetworkGatewayResponse.Status); var getVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.Get(resourceGroupName, virtualNetworkGatewayName); //B. Create LocalNetworkGateway2 string localNetworkGatewayName = TestUtilities.GenerateName(); string gatewayIp = "192.168.3.4"; var localNetworkGateway = new LocalNetworkGateway() { Location = location, Name = localNetworkGatewayName, Tags = new Dictionary <string, string>() { { "test", "value" } }, GatewayIpAddress = gatewayIp, LocalNetworkAddressSpace = new AddressSpace() { AddressPrefixes = new List <string>() { "192.168.0.0/16", } } }; var putLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.CreateOrUpdate(resourceGroupName, localNetworkGatewayName, localNetworkGateway); Assert.Equal(HttpStatusCode.OK, putLocalNetworkGatewayResponse.StatusCode); Assert.Equal("Succeeded", putLocalNetworkGatewayResponse.Status); var getLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.Get(resourceGroupName, localNetworkGatewayName); getLocalNetworkGatewayResponse.LocalNetworkGateway.Location = location; // C. CreaetVirtualNetworkGatewayConnection API string VirtualNetworkGatewayConnectionName = TestUtilities.GenerateName(); var virtualNetworkGatewayConneciton = new VirtualNetworkGatewayConnection() { Location = location, Name = VirtualNetworkGatewayConnectionName, VirtualNetworkGateway1 = getVirtualNetworkGatewayResponse.VirtualNetworkGateway, LocalNetworkGateway2 = getLocalNetworkGatewayResponse.LocalNetworkGateway, ConnectionType = VirtualNetworkGatewayConnectionType.IPsec, RoutingWeight = 3, SharedKey = "abc" }; var putVirtualNetworkGatewayConnectionResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.CreateOrUpdate(resourceGroupName, VirtualNetworkGatewayConnectionName, virtualNetworkGatewayConneciton); Assert.Equal(HttpStatusCode.OK, putVirtualNetworkGatewayConnectionResponse.StatusCode); Assert.Equal("Succeeded", putVirtualNetworkGatewayConnectionResponse.Status); // 2. GetVirtualNetworkGatewayConnection API var getVirtualNetworkGatewayConnectionResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.Get(resourceGroupName, VirtualNetworkGatewayConnectionName); Assert.Equal(HttpStatusCode.OK, getVirtualNetworkGatewayConnectionResponse.StatusCode); Console.WriteLine("GatewayConnection details:- GatewayLocation: {0}, GatewayConnectionId:{1}, VirtualNetworkGateway1 name={2} & Id={3}, LocalNetworkGateway2 name={4} & Id={5}, ConnectionType={6} RoutingWeight={7} SharedKey={8}", getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.Location, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.Id, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.Name, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.VirtualNetworkGateway1.Name, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.VirtualNetworkGateway1.Id, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.LocalNetworkGateway2.Name, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.LocalNetworkGateway2.Id, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.ConnectionType, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.RoutingWeight, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.SharedKey); Assert.Equal(VirtualNetworkGatewayConnectionType.IPsec, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.ConnectionType); Assert.Equal(3, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.RoutingWeight); Assert.Equal("abc", getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.SharedKey); // 3A. UpdateVirtualNetworkGatewayConnection API :- RoutingWeight = 3 => 4, SharedKey = "abc"=> "xyz" virtualNetworkGatewayConneciton.RoutingWeight = 4; virtualNetworkGatewayConneciton.SharedKey = "xyz"; putVirtualNetworkGatewayConnectionResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.CreateOrUpdate(resourceGroupName, VirtualNetworkGatewayConnectionName, virtualNetworkGatewayConneciton); Assert.Equal(HttpStatusCode.OK, putVirtualNetworkGatewayConnectionResponse.StatusCode); Assert.Equal("Succeeded", putVirtualNetworkGatewayConnectionResponse.Status); // 3B. GetVirtualNetworkGatewayConnection API after Updating RoutingWeight = 3 => 4, SharedKey = "abc"=> "xyz" getVirtualNetworkGatewayConnectionResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.Get(resourceGroupName, VirtualNetworkGatewayConnectionName); Assert.Equal(HttpStatusCode.OK, getVirtualNetworkGatewayConnectionResponse.StatusCode); Console.WriteLine("GatewayConnection details:- GatewayLocation: {0}, GatewayConnectionId:{1}, VirtualNetworkGateway1 name={2} & Id={3}, LocalNetworkGateway2 name={4} & Id={5}, ConnectionType={6} RoutingWeight={7} SharedKey={8}", getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.Location, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.Id, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.Name, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.VirtualNetworkGateway1.Name, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.VirtualNetworkGateway1.Id, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.LocalNetworkGateway2.Name, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.LocalNetworkGateway2.Id, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.ConnectionType, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.RoutingWeight, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.SharedKey); Assert.Equal(4, getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.RoutingWeight); Assert.Equal("xyz", getVirtualNetworkGatewayConnectionResponse.VirtualNetworkGatewayConnection.SharedKey); // 4. ListVitualNetworkGatewayConnections API var listVirtualNetworkGatewayConectionResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listVirtualNetworkGatewayConectionResponse.StatusCode); Console.WriteLine("ListVirtualNetworkGatewayConnections count ={0} ", listVirtualNetworkGatewayConectionResponse.VirtualNetworkGatewayConnections.Count); Assert.Equal(1, listVirtualNetworkGatewayConectionResponse.VirtualNetworkGatewayConnections.Count); // 5A. DeleteVirtualNetworkGatewayConnection API var deleteVirtualNetworkGatewayConnectionResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.Delete(resourceGroupName, VirtualNetworkGatewayConnectionName); Assert.Equal(HttpStatusCode.OK, deleteVirtualNetworkGatewayConnectionResponse.StatusCode); // 5B. ListVitualNetworkGatewayConnections API after DeleteVirtualNetworkGatewayConnection API called listVirtualNetworkGatewayConectionResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.List(resourceGroupName); Assert.Equal(HttpStatusCode.OK, listVirtualNetworkGatewayConectionResponse.StatusCode); Console.WriteLine("ListVirtualNetworkGatewayConnections count ={0} ", listVirtualNetworkGatewayConectionResponse.VirtualNetworkGatewayConnections.Count); Assert.Equal(0, listVirtualNetworkGatewayConectionResponse.VirtualNetworkGatewayConnections.Count); } }
public void NetworkInterfaceEnableIPForwardingTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/networkInterfaces"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); // Create Vnet // Populate parameter for Put Vnet string vnetName = TestUtilities.GenerateName(); string subnetName = TestUtilities.GenerateName(); var vnet = new VirtualNetwork() { Location = location, AddressSpace = new AddressSpace() { AddressPrefixes = new List <string>() { "10.0.0.0/16", } }, DhcpOptions = new DhcpOptions() { DnsServers = new List <string>() { "10.1.1.1", "10.1.2.4" } }, Subnets = new List <Subnet>() { new Subnet() { Name = subnetName, AddressPrefix = "10.0.0.0/24", } } }; var putVnetResponse = networkResourceProviderClient.VirtualNetworks.CreateOrUpdate(resourceGroupName, vnetName, vnet); Assert.Equal(HttpStatusCode.OK, putVnetResponse.StatusCode); var getSubnetResponse = networkResourceProviderClient.Subnets.Get(resourceGroupName, vnetName, subnetName); // Create Nic string nicName = TestUtilities.GenerateName(); string ipConfigName = TestUtilities.GenerateName(); var nicParameters = new NetworkInterface() { Location = location, Name = nicName, Tags = new Dictionary <string, string>() { { "key", "value" } }, IpConfigurations = new List <NetworkInterfaceIpConfiguration>() { new NetworkInterfaceIpConfiguration() { Name = ipConfigName, PrivateIpAllocationMethod = IpAllocationMethod.Dynamic, Subnet = new ResourceId() { Id = getSubnetResponse.Subnet.Id } } }, EnableIPForwarding = false, }; // Test NIC apis var putNicResponse = networkResourceProviderClient.NetworkInterfaces.CreateOrUpdate(resourceGroupName, nicName, nicParameters); Assert.Equal(HttpStatusCode.OK, putNicResponse.StatusCode); var getNicResponse = networkResourceProviderClient.NetworkInterfaces.Get(resourceGroupName, nicName); Assert.Equal(getNicResponse.NetworkInterface.Name, nicName); Assert.Equal(getNicResponse.NetworkInterface.ProvisioningState, Microsoft.Azure.Management.Resources.Models.ProvisioningState.Succeeded); Assert.Null(getNicResponse.NetworkInterface.VirtualMachine); Assert.Null(getNicResponse.NetworkInterface.MacAddress); Assert.Equal(1, getNicResponse.NetworkInterface.IpConfigurations.Count); Assert.Equal(ipConfigName, getNicResponse.NetworkInterface.IpConfigurations[0].Name); Assert.False(getNicResponse.NetworkInterface.EnableIPForwarding); getNicResponse.NetworkInterface.EnableIPForwarding = true; networkResourceProviderClient.NetworkInterfaces.CreateOrUpdate(resourceGroupName, nicName, getNicResponse.NetworkInterface); getNicResponse = networkResourceProviderClient.NetworkInterfaces.Get(resourceGroupName, nicName); Assert.Equal(getNicResponse.NetworkInterface.Name, nicName); Assert.True(getNicResponse.NetworkInterface.EnableIPForwarding); // Delete Nic var deleteNicResponse = networkResourceProviderClient.NetworkInterfaces.Delete(resourceGroupName, nicName); Assert.Equal(HttpStatusCode.OK, deleteNicResponse.StatusCode); var getListNicResponse = networkResourceProviderClient.NetworkInterfaces.List(resourceGroupName); Assert.Equal(0, getListNicResponse.NetworkInterfaces.Count); // Delete VirtualNetwork var deleteVnetResponse = networkResourceProviderClient.VirtualNetworks.Delete(resourceGroupName, vnetName); Assert.Equal(HttpStatusCode.OK, deleteVnetResponse.StatusCode); } }
public void VirtualNetworkGatewayConnectionSharedKeyOperationsApisTest() { var handler = new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }; using (var context = UndoContext.Current) { context.Start(); var resourcesClient = ResourcesManagementTestUtilities.GetResourceManagementClientWithHandler(handler); var networkResourceProviderClient = NetworkManagementTestUtilities.GetNetworkResourceProviderClient(handler); var location = NetworkManagementTestUtilities.GetResourceLocation(resourcesClient, "Microsoft.Network/connections"); string resourceGroupName = TestUtilities.GenerateName("csmrg"); resourcesClient.ResourceGroups.CreateOrUpdate(resourceGroupName, new ResourceGroup { Location = location }); // 1. SetVirtualNetworkGatewayConnectionSharedKey API // Pre-requsite:- CreateVirtualNetworkGatewayConnection first // Create VirtualNetworkGateway1 // a. Create PublicIPAddress(Gateway Ip) using Put PublicIpAddress API string publicIpName = TestUtilities.GenerateName(); string domainNameLabel = TestUtilities.GenerateName(); var nic1publicIp = TestHelper.CreateDefaultPublicIpAddress(publicIpName, resourceGroupName, domainNameLabel, location, networkResourceProviderClient); Console.WriteLine("PublicIPAddress(Gateway Ip) :{0}", nic1publicIp.Id); // b. Create Virtual Network using Put VirtualNetwork API string vnetName = TestUtilities.GenerateName(); string subnetName = "GatewaySubnet"; var virtualNetwork = TestHelper.CreateVirtualNetwork(vnetName, subnetName, resourceGroupName, location, networkResourceProviderClient); var getSubnetResponse = networkResourceProviderClient.Subnets.Get(resourceGroupName, vnetName, subnetName); Console.WriteLine("Virtual Network GatewaySubnet Id: {0}", getSubnetResponse.Subnet.Id); // c. CreateVirtualNetworkGateway API string virtualNetworkGatewayName = TestUtilities.GenerateName(); string ipConfigName = TestUtilities.GenerateName(); var virtualNetworkGateway = new VirtualNetworkGateway() { Location = location, Name = virtualNetworkGatewayName, Tags = new Dictionary <string, string>() { { "key", "value" } }, EnableBgp = false, GatewayType = VirtualNetworkGatewayType.Vpn, VpnType = VpnType.RouteBased, IpConfigurations = new List <VirtualNetworkGatewayIpConfiguration>() { new VirtualNetworkGatewayIpConfiguration() { Name = ipConfigName, PrivateIpAllocationMethod = IpAllocationMethod.Dynamic, PublicIpAddress = new ResourceId() { Id = nic1publicIp.Id }, Subnet = new ResourceId() { Id = getSubnetResponse.Subnet.Id } } } }; var putVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.CreateOrUpdate(resourceGroupName, virtualNetworkGatewayName, virtualNetworkGateway); Assert.Equal(HttpStatusCode.OK, putVirtualNetworkGatewayResponse.StatusCode); Assert.Equal("Succeeded", putVirtualNetworkGatewayResponse.Status); var getVirtualNetworkGatewayResponse = networkResourceProviderClient.VirtualNetworkGateways.Get(resourceGroupName, virtualNetworkGatewayName); // Create LocalNetworkGateway2 string localNetworkGatewayName = TestUtilities.GenerateName(); string gatewayIp = "192.168.3.4"; var localNetworkGateway = new LocalNetworkGateway() { Location = location, Name = localNetworkGatewayName, Tags = new Dictionary <string, string>() { { "test", "value" } }, GatewayIpAddress = gatewayIp, LocalNetworkAddressSpace = new AddressSpace() { AddressPrefixes = new List <string>() { "192.168.0.0/16", } } }; var putLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.CreateOrUpdate(resourceGroupName, localNetworkGatewayName, localNetworkGateway); Assert.Equal(HttpStatusCode.OK, putLocalNetworkGatewayResponse.StatusCode); Assert.Equal("Succeeded", putLocalNetworkGatewayResponse.Status); var getLocalNetworkGatewayResponse = networkResourceProviderClient.LocalNetworkGateways.Get(resourceGroupName, localNetworkGatewayName); getLocalNetworkGatewayResponse.LocalNetworkGateway.Location = location; // CreaetVirtualNetworkGatewayConnection API string VirtualNetworkGatewayConnectionName = TestUtilities.GenerateName(); var virtualNetworkGatewayConneciton = new VirtualNetworkGatewayConnection() { Location = location, Name = VirtualNetworkGatewayConnectionName, VirtualNetworkGateway1 = getVirtualNetworkGatewayResponse.VirtualNetworkGateway, LocalNetworkGateway2 = getLocalNetworkGatewayResponse.LocalNetworkGateway, ConnectionType = VirtualNetworkGatewayConnectionType.IPsec, RoutingWeight = 3, SharedKey = "abc" }; var putVirtualNetworkGatewayConnectionResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.CreateOrUpdate(resourceGroupName, VirtualNetworkGatewayConnectionName, virtualNetworkGatewayConneciton); Assert.Equal(HttpStatusCode.OK, putVirtualNetworkGatewayConnectionResponse.StatusCode); Assert.Equal("Succeeded", putVirtualNetworkGatewayConnectionResponse.Status); // SetVirtualNetworkGatewayConnectionSharedKey API on created connection above:- virtualNetworkGatewayConneciton string connectionSharedKeyName = VirtualNetworkGatewayConnectionName; var connectionSharedKey = new ConnectionSharedKey() { Value = "TestSharedKeyValue" }; var putConnectionSharedKeyResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.SetSharedKey(resourceGroupName, connectionSharedKeyName, connectionSharedKey); Assert.Equal(HttpStatusCode.OK, putConnectionSharedKeyResponse.StatusCode); Assert.Equal("Succeeded", putConnectionSharedKeyResponse.Status); // 2. GetVirtualNetworkGatewayConnectionSharedKey API var getconnectionSharedKeyResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.GetSharedKey(resourceGroupName, connectionSharedKeyName); Assert.Equal(HttpStatusCode.OK, getconnectionSharedKeyResponse.StatusCode); Console.WriteLine("ConnectionSharedKey details:- Value: {0}", getconnectionSharedKeyResponse.Value); // 3A. VirtualNetworkGatewayConnectionResetSharedKey API var connectionResetSharedKey = new ConnectionResetSharedKey() { KeyLength = 50 }; var resetConnectionResetSharedKeyResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.ResetSharedKey(resourceGroupName, connectionSharedKeyName, connectionResetSharedKey); Assert.Equal(HttpStatusCode.OK, resetConnectionResetSharedKeyResponse.StatusCode); Assert.Equal("Succeeded", resetConnectionResetSharedKeyResponse.Status); // 3B. GetVirtualNetworkGatewayConnectionSharedKey API after VirtualNetworkGatewayConnectionResetSharedKey API was called getconnectionSharedKeyResponse = networkResourceProviderClient.VirtualNetworkGatewayConnections.GetSharedKey(resourceGroupName, connectionSharedKeyName); Assert.Equal(HttpStatusCode.OK, getconnectionSharedKeyResponse.StatusCode); Console.WriteLine("ConnectionSharedKey details:- Value: {0}", getconnectionSharedKeyResponse.Value); } }