internal static WorkspaceList DeserializeWorkspaceList(JsonElement element) { Optional <IReadOnlyList <VirtualWorkspaceData> > value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <VirtualWorkspaceData> array = new List <VirtualWorkspaceData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(VirtualWorkspaceData.DeserializeVirtualWorkspaceData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new WorkspaceList(Optional.ToList(value), nextLink.Value)); }
public async Task WorkspaceCrud() { string workspaceName = "testWorkspaceCrudWS"; string resourceGroupName = Recording.GetVariable("DESKTOPVIRTUALIZATION_RESOURCE_GROUP", DefaultResourceGroupName); ResourceGroupResource rg = (ResourceGroupResource)await ResourceGroups.GetAsync(resourceGroupName); Assert.IsNotNull(rg); VirtualWorkspaceCollection workspaceCollection = rg.GetVirtualWorkspaces(); VirtualWorkspaceData workspaceData = new VirtualWorkspaceData( DefaultLocation); ArmOperation <VirtualWorkspaceResource> opWorkspaceCreate = await workspaceCollection.CreateOrUpdateAsync( WaitUntil.Completed, workspaceName, workspaceData); Assert.IsNotNull(opWorkspaceCreate); Assert.IsTrue(opWorkspaceCreate.HasCompleted); Assert.AreEqual(opWorkspaceCreate.Value.Data.Name, workspaceName); Response <VirtualWorkspaceResource> getOp = await workspaceCollection.GetAsync( workspaceName); Assert.AreEqual(workspaceName, getOp.Value.Data.Name); workspaceData.FriendlyName = "Friendly Name"; opWorkspaceCreate = await workspaceCollection.CreateOrUpdateAsync( WaitUntil.Completed, workspaceName, workspaceData); Assert.IsNotNull(opWorkspaceCreate); Assert.IsTrue(opWorkspaceCreate.HasCompleted); Assert.AreEqual(opWorkspaceCreate.Value.Data.Name, workspaceName); Assert.AreEqual(opWorkspaceCreate.Value.Data.FriendlyName, "Friendly Name"); getOp = await workspaceCollection.GetAsync( workspaceName); VirtualWorkspaceResource workspace = getOp.Value; ArmOperation deleteOp = await workspace.DeleteAsync(WaitUntil.Completed); Assert.IsNotNull(deleteOp); Assert.AreEqual(200, deleteOp.GetRawResponse().Status); deleteOp = await workspace.DeleteAsync(WaitUntil.Completed); Assert.IsNotNull(deleteOp); Assert.AreEqual(204, deleteOp.GetRawResponse().Status); try { getOp = await workspaceCollection.GetAsync( workspaceName); } catch (Azure.RequestFailedException ex) { Assert.AreEqual(404, ex.Status); } }