public async Task CheckConnectivityVmToInternetTest() { string resourceGroupName = Recording.GenerateAssetName("azsmnet"); string location = "westus2"; await ResourceGroupsOperations.CreateOrUpdateAsync(resourceGroupName, new ResourceGroup(location)); string virtualMachineName = Recording.GenerateAssetName("azsmnet"); string networkInterfaceName = Recording.GenerateAssetName("azsmnet"); string networkSecurityGroupName = virtualMachineName + "-nsg"; //Deploy VM with a template await CreateVm( resourcesClient : ResourceManagementClient, resourceGroupName : resourceGroupName, location : location, virtualMachineName : virtualMachineName, storageAccountName : Recording.GenerateAssetName("azsmnet"), networkInterfaceName : networkInterfaceName, networkSecurityGroupName : networkSecurityGroupName, diagnosticsStorageAccountName : Recording.GenerateAssetName("azsmnet"), deploymentName : Recording.GenerateAssetName("azsmnet"), adminPassword : Recording.GenerateAlphaNumericId("AzureSDKNetworkTest#") ); Response <VirtualMachine> getVm = await ComputeManagementClient.VirtualMachines.GetAsync(resourceGroupName, virtualMachineName); //Deploy networkWatcherAgent on VM VirtualMachineExtension parameters = new VirtualMachineExtension(location) { Publisher = "Microsoft.Azure.NetworkWatcher", TypeHandlerVersion = "1.4", TypePropertiesType = "NetworkWatcherAgentWindows" }; VirtualMachineExtensionsCreateOrUpdateOperation createOrUpdateOperation = await ComputeManagementClient.VirtualMachineExtensions.StartCreateOrUpdateAsync(resourceGroupName, getVm.Value.Name, "NetworkWatcherAgent", parameters); await WaitForCompletionAsync(createOrUpdateOperation); //TODO:There is no need to perform a separate create NetworkWatchers operation //Create network Watcher //string networkWatcherName = Recording.GenerateAssetName("azsmnet"); //NetworkWatcher properties = new NetworkWatcher { Location = location }; //await NetworkManagementClient.NetworkWatchers.CreateOrUpdateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", properties); ConnectivityParameters connectivityParameters = new ConnectivityParameters(new ConnectivitySource(getVm.Value.Id), new ConnectivityDestination { Address = "bing.com", Port = 80 }); Operation <ConnectivityInformation> connectivityCheckOperation = await NetworkManagementClient.NetworkWatchers.StartCheckConnectivityAsync("NetworkWatcherRG", "NetworkWatcher_westus2", connectivityParameters); Response <ConnectivityInformation> connectivityCheck = await WaitForCompletionAsync(connectivityCheckOperation); //Validation Assert.AreEqual("Reachable", connectivityCheck.Value.ConnectionStatus.ToString()); Assert.AreEqual(0, connectivityCheck.Value.ProbesFailed); Assert.AreEqual("Source", connectivityCheck.Value.Hops.FirstOrDefault().Type); Assert.AreEqual("Internet", connectivityCheck.Value.Hops.LastOrDefault().Type); }
public async Task DeleteConnectionMonitorTest() { string resourceGroupName = Recording.GenerateAssetName("azsmnet"); string location = "westus2"; await ResourceGroupsOperations.CreateOrUpdateAsync(resourceGroupName, new ResourceGroup(location)); string virtualMachineName = Recording.GenerateAssetName("azsmnet"); string networkInterfaceName = Recording.GenerateAssetName("azsmnet"); string networkSecurityGroupName = virtualMachineName + "-nsg"; //Deploy VM with a template await CreateVm( resourcesClient : ResourceManagementClient, resourceGroupName : resourceGroupName, location : location, virtualMachineName : virtualMachineName, storageAccountName : Recording.GenerateAssetName("azsmnet"), networkInterfaceName : networkInterfaceName, networkSecurityGroupName : networkSecurityGroupName, diagnosticsStorageAccountName : Recording.GenerateAssetName("azsmnet"), deploymentName : Recording.GenerateAssetName("azsmnet"), adminPassword : Recording.GenerateAlphaNumericId("AzureSDKNetworkTest#") ); Response <VirtualMachine> getVm = await ComputeManagementClient.VirtualMachines.GetAsync(resourceGroupName, virtualMachineName); //Deploy networkWatcherAgent on VM VirtualMachineExtension parameters = new VirtualMachineExtension(location) { Publisher = "Microsoft.Azure.NetworkWatcher", TypeHandlerVersion = "1.4", TypePropertiesType = "NetworkWatcherAgentWindows" }; VirtualMachineExtensionsCreateOrUpdateOperation createOrUpdateOperation = await ComputeManagementClient.VirtualMachineExtensions.StartCreateOrUpdateAsync(resourceGroupName, getVm.Value.Name, "NetworkWatcherAgent", parameters); await WaitForCompletionAsync(createOrUpdateOperation); //TODO:There is no need to perform a separate create NetworkWatchers operation //Create network Watcher //string networkWatcherName = Recording.GenerateAssetName("azsmnet"); //NetworkWatcher properties = new NetworkWatcher { Location = location }; //await NetworkManagementClient.NetworkWatchers.CreateOrUpdateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", properties); string connectionMonitorName1 = Recording.GenerateAssetName("azsmnet"); string connectionMonitorName2 = Recording.GenerateAssetName("azsmnet"); ConnectionMonitor cm = new ConnectionMonitor { Location = location, Source = new ConnectionMonitorSource(getVm.Value.Id), Destination = new ConnectionMonitorDestination { Address = "bing.com", Port = 80 }, MonitoringIntervalInSeconds = 30, AutoStart = false }; Operation <ConnectionMonitorResult> connectionMonitor1Operation = await NetworkManagementClient.ConnectionMonitors.StartCreateOrUpdateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", connectionMonitorName1, cm); await WaitForCompletionAsync(connectionMonitor1Operation); Operation <ConnectionMonitorResult> connectionMonitor2Operation = await NetworkManagementClient.ConnectionMonitors.StartCreateOrUpdateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", connectionMonitorName2, cm); await WaitForCompletionAsync(connectionMonitor2Operation); AsyncPageable <ConnectionMonitorResult> getConnectionMonitors1AP = NetworkManagementClient.ConnectionMonitors.ListAsync("NetworkWatcherRG", "NetworkWatcher_westus2"); Task <List <ConnectionMonitorResult> > getConnectionMonitors1 = getConnectionMonitors1AP.ToEnumerableAsync(); Assert.AreEqual(2, getConnectionMonitors1.Result.Count); ConnectionMonitorsDeleteOperation connectionMonitorsDeleteOperation = await NetworkManagementClient.ConnectionMonitors.StartDeleteAsync("NetworkWatcherRG", "NetworkWatcher_westus2", connectionMonitorName2); await WaitForCompletionAsync(connectionMonitorsDeleteOperation); AsyncPageable <ConnectionMonitorResult> getConnectionMonitors2 = NetworkManagementClient.ConnectionMonitors.ListAsync("NetworkWatcherRG", "NetworkWatcher_westus2"); Has.One.EqualTo(getConnectionMonitors2); }
public async Task PacketCaptureApiTest() { string resourceGroupName = Recording.GenerateAssetName("azsmnet"); string location = "westus2"; await ResourceGroupsOperations.CreateOrUpdateAsync(resourceGroupName, new ResourceGroup(location)); string virtualMachineName = Recording.GenerateAssetName("azsmnet"); string networkInterfaceName = Recording.GenerateAssetName("azsmnet"); string networkSecurityGroupName = virtualMachineName + "-nsg"; //Deploy VM with template await CreateVm( resourcesClient : ResourceManagementClient, resourceGroupName : resourceGroupName, location : location, virtualMachineName : virtualMachineName, storageAccountName : Recording.GenerateAssetName("azsmnet"), networkInterfaceName : networkInterfaceName, networkSecurityGroupName : networkSecurityGroupName, diagnosticsStorageAccountName : Recording.GenerateAssetName("azsmnet"), deploymentName : Recording.GenerateAssetName("azsmnet"), adminPassword : Recording.GenerateAlphaNumericId("AzureSDKNetworkTest#") ); Response <VirtualMachine> getVm = await ComputeManagementClient.VirtualMachines.GetAsync(resourceGroupName, virtualMachineName); //Deploy networkWatcherAgent on VM VirtualMachineExtension parameters = new VirtualMachineExtension(location) { Publisher = "Microsoft.Azure.NetworkWatcher", TypeHandlerVersion = "1.4", TypePropertiesType = "NetworkWatcherAgentWindows" }; VirtualMachineExtensionsCreateOrUpdateOperation createOrUpdateOperation = await ComputeManagementClient.VirtualMachineExtensions.StartCreateOrUpdateAsync(resourceGroupName, getVm.Value.Name, "NetworkWatcherAgent", parameters); await WaitForCompletionAsync(createOrUpdateOperation); //TODO:There is no need to perform a separate create NetworkWatchers operation //Create network Watcher //string networkWatcherName = Recording.GenerateAssetName("azsmnet"); //NetworkWatcher properties = new NetworkWatcher { Location = location }; //await NetworkManagementClient.NetworkWatchers.CreateOrUpdateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", properties); string pcName1 = "pc1"; string pcName2 = "pc2"; PacketCapture pcProperties = new PacketCapture(getVm.Value.Id, new PacketCaptureStorageLocation { FilePath = @"C:\tmp\Capture.cap" }); PacketCapturesCreateOperation createPacketCapture1Operation = await NetworkManagementClient.PacketCaptures.StartCreateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", pcName1, pcProperties); Response <PacketCaptureResult> createPacketCapture1 = await WaitForCompletionAsync(createPacketCapture1Operation); Response <PacketCaptureResult> getPacketCapture = await NetworkManagementClient.PacketCaptures.GetAsync("NetworkWatcherRG", "NetworkWatcher_westus2", pcName1); PacketCapturesGetStatusOperation queryPCOperation = await NetworkManagementClient.PacketCaptures.StartGetStatusAsync("NetworkWatcherRG", "NetworkWatcher_westus2", pcName1); await WaitForCompletionAsync(queryPCOperation); //Validation Assert.AreEqual(pcName1, createPacketCapture1.Value.Name); Assert.AreEqual(1073741824, createPacketCapture1.Value.TotalBytesPerSession); Assert.AreEqual(0, createPacketCapture1.Value.BytesToCapturePerPacket); Assert.AreEqual(18000, createPacketCapture1.Value.TimeLimitInSeconds); Assert.AreEqual(@"C:\tmp\Capture.cap", createPacketCapture1.Value.StorageLocation.FilePath); Assert.AreEqual("Succeeded", getPacketCapture.Value.ProvisioningState.ToString()); PacketCapturesCreateOperation packetCapturesCreateOperation = await NetworkManagementClient.PacketCaptures.StartCreateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", pcName2, pcProperties); await WaitForCompletionAsync(packetCapturesCreateOperation); AsyncPageable <PacketCaptureResult> listPCByRg1AP = NetworkManagementClient.PacketCaptures.ListAsync("NetworkWatcherRG", "NetworkWatcher_westus2"); List <PacketCaptureResult> listPCByRg1 = await listPCByRg1AP.ToEnumerableAsync(); PacketCapturesStopOperation packetCapturesStopOperation = await NetworkManagementClient.PacketCaptures.StartStopAsync("NetworkWatcherRG", "NetworkWatcher_westus2", pcName1); await WaitForCompletionAsync(packetCapturesStopOperation); PacketCapturesGetStatusOperation queryPCAfterStopOperation = await NetworkManagementClient.PacketCaptures.StartGetStatusAsync("NetworkWatcherRG", "NetworkWatcher_westus2", pcName1); Response <PacketCaptureQueryStatusResult> queryPCAfterStop = await WaitForCompletionAsync(queryPCAfterStopOperation); PacketCapturesDeleteOperation packetCapturesDeleteOperation = await NetworkManagementClient.PacketCaptures.StartDeleteAsync("NetworkWatcherRG", "NetworkWatcher_westus2", pcName1); await WaitForCompletionAsync(packetCapturesDeleteOperation); AsyncPageable <PacketCaptureResult> listPCByRg2 = NetworkManagementClient.PacketCaptures.ListAsync("NetworkWatcherRG", "NetworkWatcher_westus2"); //Validation Assert.AreEqual(2, listPCByRg1.Count()); Assert.AreEqual("Stopped", queryPCAfterStop.Value.PacketCaptureStatus.ToString()); Assert.AreEqual("Manual", queryPCAfterStop.Value.StopReason); Has.One.EqualTo(listPCByRg2); }
public async Task PutConnectionMonitorTest() { string resourceGroupName = Recording.GenerateAssetName("azsmnet"); string location = "westus2"; await ResourceGroupsOperations.CreateOrUpdateAsync(resourceGroupName, new ResourceGroup(location)); string virtualMachineName = Recording.GenerateAssetName("azsmnet"); string networkInterfaceName = Recording.GenerateAssetName("azsmnet"); string networkSecurityGroupName = virtualMachineName + "-nsg"; //Deploy VM with a template await CreateVm( resourcesClient : ResourceManagementClient, resourceGroupName : resourceGroupName, location : location, virtualMachineName : virtualMachineName, storageAccountName : Recording.GenerateAssetName("azsmnet"), networkInterfaceName : networkInterfaceName, networkSecurityGroupName : networkSecurityGroupName, diagnosticsStorageAccountName : Recording.GenerateAssetName("azsmnet"), deploymentName : Recording.GenerateAssetName("azsmnet"), adminPassword : Recording.GenerateAlphaNumericId("AzureSDKNetworkTest#") ); Response <VirtualMachine> getVm = await ComputeManagementClient.VirtualMachines.GetAsync(resourceGroupName, virtualMachineName); //Deploy networkWatcherAgent on VM VirtualMachineExtension parameters = new VirtualMachineExtension(location) { Publisher = "Microsoft.Azure.NetworkWatcher", TypeHandlerVersion = "1.4", TypePropertiesType = "NetworkWatcherAgentWindows" }; VirtualMachineExtensionsCreateOrUpdateOperation createOrUpdateOperation = await ComputeManagementClient.VirtualMachineExtensions.StartCreateOrUpdateAsync(resourceGroupName, getVm.Value.Name, "NetworkWatcherAgent", parameters); await WaitForCompletionAsync(createOrUpdateOperation); //TODO:There is no need to perform a separate create NetworkWatchers operation //Create network Watcher //string networkWatcherName = Recording.GenerateAssetName("azsmnet"); //NetworkWatcher properties = new NetworkWatcher { Location = location }; //await NetworkManagementClient.NetworkWatchers.CreateOrUpdateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", properties); string connectionMonitorName = "cm"; ConnectionMonitor cm = new ConnectionMonitor { Location = location, Source = new ConnectionMonitorSource(getVm.Value.Id), Destination = new ConnectionMonitorDestination { Address = "bing.com", Port = 80 }, MonitoringIntervalInSeconds = 30 }; Operation <ConnectionMonitorResult> putConnectionMonitorOperation = await NetworkManagementClient.ConnectionMonitors.StartCreateOrUpdateAsync("NetworkWatcherRG", "NetworkWatcher_westus2", connectionMonitorName, cm); Response <ConnectionMonitorResult> putConnectionMonitor = await WaitForCompletionAsync(putConnectionMonitorOperation); Assert.AreEqual("Running", putConnectionMonitor.Value.MonitoringStatus); Assert.AreEqual("centraluseuap", putConnectionMonitor.Value.Location); Assert.AreEqual(30, putConnectionMonitor.Value.MonitoringIntervalInSeconds); Assert.AreEqual(connectionMonitorName, putConnectionMonitor.Value.Name); Assert.AreEqual(getVm.Value.Id, putConnectionMonitor.Value.Source.ResourceId); Assert.AreEqual("bing.com", putConnectionMonitor.Value.Destination.Address); Assert.AreEqual(80, putConnectionMonitor.Value.Destination.Port); }