/// <summary> /// Creates or updates a virtual network. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.WindowsAzure.Management.RemoteApp.IVNetOperations. /// </param> /// <param name='vNetName'> /// Required. RemoteApp virtual network name. /// </param> /// <param name='vNetDetails'> /// Required. Details about the virtual network to create or update. /// </param> /// <returns> /// The response containing the operation tracking id. /// </returns> public static OperationResultWithTrackingId CreateOrUpdate(this IVNetOperations operations, string vNetName, VNetParameter vNetDetails) { return Task.Factory.StartNew((object s) => { return ((IVNetOperations)s).CreateOrUpdateAsync(vNetName, vNetDetails); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); }
public override void ExecuteCmdlet() { VNetParameter payload = null; OperationResultWithTrackingId response = null; payload = new VNetParameter() { VnetAddressSpaces = new List<string>(VirtualNetworkAddressSpace), LocalAddressSpaces = new List<string>(LocalNetworkAddressSpace), DnsServers = new List<string>(DnsServerIpAddress), VpnAddress = VpnDeviceIpAddress, }; response = CallClient(() => Client.VNet.CreateOrUpdate(VNetName, payload), Client.VNet); if (response != null) { WriteTrackingId(response); } }
public override void ExecuteCmdlet() { VNetParameter payload = null; OperationResultWithTrackingId response = null; payload = new VNetParameter() { Region = Location, VnetAddressSpaces = new List<string>(VirtualNetworkAddressSpace), LocalAddressSpaces = new List<string>(LocalNetworkAddressSpace), DnsServers = new List<string>(DnsServerIpAddress), VpnAddress = VpnDeviceIpAddress, GatewayType = GatewayType }; RegisterSubscriptionWithRdfeForRemoteApp(); response = CallClient(() => Client.VNet.CreateOrUpdate(VNetName, payload), Client.VNet); if (response != null) { WriteTrackingId(response); } }
public void SetVNetsThatDoExist() { List<TrackingResult> trackingIds = null; VNetParameter vNetDetails = new VNetParameter() { VnetAddressSpaces = new List<string>() { "10.0.0.0/16" }, LocalAddressSpaces = new List<string>() { "11.0.0.0/16" }, DnsServers = new List<string>() { "11.0.0.10" }, VpnAddress = "13.0.0.1" }; int countOfAddedVNets = 0; SetAzureRemoteAppVNet mockCmdlet = SetUpTestCommon<SetAzureRemoteAppVNet>(); // Required parameters for this test mockCmdlet.VNetName = "vNetTest1"; mockCmdlet.VirtualNetworkAddressSpace = vNetDetails.VnetAddressSpaces.ToArray(); mockCmdlet.LocalNetworkAddressSpace = vNetDetails.LocalAddressSpaces.ToArray(); mockCmdlet.DnsServerIpAddress = vNetDetails.DnsServers.ToArray(); mockCmdlet.VpnDeviceIpAddress = vNetDetails.VpnAddress; // Setup the environment for testing this cmdlet countOfAddedVNets = MockObject.SetUpDefaultRemoteAppAddVNet(remoteAppManagementClientMock, vNetDetails); mockCmdlet.ResetPipelines(); Log("Calling Set-AzureRemoteAppVNet which should have {0} VNets", countOfAddedVNets); mockCmdlet.ExecuteCmdlet(); if (mockCmdlet.runTime().ErrorStream.Count != 0) { Assert.True(false, String.Format("Set-AzureRemoteAppVNet returned the following error {0}", mockCmdlet.runTime().ErrorStream[0].Exception.Message ) ); } trackingIds = MockObject.ConvertList<TrackingResult>(mockCmdlet.runTime().OutputPipeline); Assert.NotNull(trackingIds); Assert.True(MockObject.HasExpectedResults<TrackingResult>(trackingIds, MockObject.ContainsExpectedTrackingId), "The actual result does not match the expected." ); Log("The test for Set-AzureRemoteAppVNet completed successfully"); }
public static int SetUpDefaultRemoteAppAddVNet(Mock<IRemoteAppManagementClient> clientMock, VNetParameter vNetDetails) { List<VNet> vnetList = new List<VNet>() { new VNet() { Region = vNetDetails.Region, VnetAddressSpaces = vNetDetails.VnetAddressSpaces, LocalAddressSpaces = vNetDetails.LocalAddressSpaces, DnsServers = vNetDetails.DnsServers, VpnAddress = vNetDetails.VpnAddress, GatewayType = vNetDetails.GatewayType } }; mockVNetList = vnetList; OperationResultWithTrackingId response = new OperationResultWithTrackingId() { StatusCode = System.Net.HttpStatusCode.Accepted, TrackingId = "12345", RequestId = "111-2222-4444" }; mockTrackingId = new List<TrackingResult>() { new TrackingResult(response) }; ISetup<IRemoteAppManagementClient, Task<OperationResultWithTrackingId>> setup = clientMock.Setup(c => c.VNet.CreateOrUpdateAsync(It.IsAny<string>(), It.IsAny<VNetParameter>(), It.IsAny<CancellationToken>())); setup.Returns(Task.Factory.StartNew(() => response)); return mockVNetList.Count; }
public void CanCreateVnet() { using (UndoContext context = UndoContext.Current) { context.Start(); HttpRecorderMode mode = HttpMockServer.GetCurrentMode(); RemoteAppManagementClient remoteAppManagementClient = GetRemoteAppManagementClient(); string vnetName = "hkutvnet1"; VNetParameter payload = new VNetParameter() { Region = "West US", VnetAddressSpaces = new List<string> { "172.16.0.0/16" }, LocalAddressSpaces = new List<string> { "11.0.0.0/16" }, DnsServers = new List<string>() { "10.0.0.1" }, VpnAddress = "13.0.0.1", GatewayType = GatewayType.StaticRouting }; Assert.DoesNotThrow(() => { OperationResultWithTrackingId result = remoteAppManagementClient.VNet.CreateOrUpdate(vnetName, payload); Assert.NotNull(result); Assert.True(result.StatusCode == HttpStatusCode.OK || result.StatusCode == HttpStatusCode.Accepted, "StatusCode = " + result.StatusCode + "is not one of the expected"); if (result.StatusCode == HttpStatusCode.Accepted) { Assert.NotNull(result.TrackingId); } // verify the creation VNetResult vnet = remoteAppManagementClient.VNet.Get(vnetName, false); Assert.NotNull(vnet); Assert.Equal(HttpStatusCode.OK, vnet.StatusCode); Assert.NotNull(vnet.VNet); Assert.Equal(vnetName, vnet.VNet.Name); Assert.Equal(payload.VpnAddress, vnet.VNet.VpnAddress); Assert.Equal(payload.GatewayType, vnet.VNet.GatewayType); Assert.Equal(payload.Region, vnet.VNet.Region); }); } }
/// <summary> /// Creates or updates a virtual network. /// </summary> /// <param name='operations'> /// Reference to the /// Microsoft.WindowsAzure.Management.RemoteApp.IVNetOperations. /// </param> /// <param name='vNetName'> /// Required. RemoteApp virtual network name. /// </param> /// <param name='vNetDetails'> /// Required. Details about the virtual network to create or update. /// </param> /// <returns> /// The response containing the operation tracking id. /// </returns> public static Task<OperationResultWithTrackingId> CreateOrUpdateAsync(this IVNetOperations operations, string vNetName, VNetParameter vNetDetails) { return operations.CreateOrUpdateAsync(vNetName, vNetDetails, CancellationToken.None); }