github.com/vmware/go-vcloud-director/v2@v2.24.0/govcd/vm_groups_test.go (about) 1 //go:build functional || openapi || ALL 2 3 /* 4 * Copyright 2022 VMware, Inc. All rights reserved. Licensed under the Apache v2 License. 5 */ 6 7 package govcd 8 9 import ( 10 "fmt" 11 "github.com/vmware/go-vcloud-director/v2/types/v56" 12 . "gopkg.in/check.v1" 13 ) 14 15 // This test checks the correct behaviour of the read, create and delete operations for VM Groups and Logical VM Groups. 16 func (vcd *TestVCD) Test_VmGroupsCRUD(check *C) { 17 if vcd.skipAdminTests { 18 check.Skip(fmt.Sprintf(TestRequiresSysAdminPrivileges, check.TestName())) 19 } 20 21 if vcd.config.VCD.NsxtProviderVdc.PlacementPolicyVmGroup == "" { 22 check.Skip(fmt.Sprintf("%s test requires vcd.nsxt_provider_vdc.placementPolicyVmGroup configuration", check.TestName())) 23 } 24 if vcd.config.VCD.NsxtProviderVdc.Name == "" { 25 check.Skip(fmt.Sprintf("%s test requires vcd.nsxt_provider_vdc configuration", check.TestName())) 26 } 27 28 // We need the Provider VDC URN 29 pVdc, err := vcd.client.GetProviderVdcByName(vcd.config.VCD.NsxtProviderVdc.Name) 30 check.Assert(err, IsNil) 31 32 vmGroup, err := vcd.client.GetVmGroupByNameAndProviderVdcUrn(vcd.config.VCD.NsxtProviderVdc.PlacementPolicyVmGroup, pVdc.ProviderVdc.ID) 33 check.Assert(err, IsNil) 34 check.Assert(vmGroup.VmGroup.Name, Equals, vcd.config.VCD.NsxtProviderVdc.PlacementPolicyVmGroup) 35 36 vmGroup2, err := vcd.client.GetVmGroupById(vmGroup.VmGroup.ID) 37 check.Assert(err, IsNil) 38 check.Assert(vmGroup2, DeepEquals, vmGroup) 39 40 vmGroup3, err := vcd.client.GetVmGroupByNamedVmGroupIdAndProviderVdcUrn(vmGroup2.VmGroup.NamedVmGroupId, pVdc.ProviderVdc.ID) 41 check.Assert(err, IsNil) 42 check.Assert(vmGroup3, DeepEquals, vmGroup2) 43 44 logicalVmGroup, err := vcd.client.CreateLogicalVmGroup(types.LogicalVmGroup{ 45 Name: check.TestName(), 46 NamedVmGroupReferences: types.OpenApiReferences{ 47 types.OpenApiReference{ 48 ID: fmt.Sprintf("%s:%s", vmGroupUrnPrefix, vmGroup.VmGroup.NamedVmGroupId), 49 Name: vmGroup.VmGroup.Name}, 50 }, 51 PvdcID: pVdc.ProviderVdc.ID, 52 }) 53 check.Assert(err, IsNil) 54 AddToCleanupList(logicalVmGroup.LogicalVmGroup.ID, "logicalVmGroup", "", check.TestName()) 55 56 retrievedLogicalVmGroup, err := vcd.client.GetLogicalVmGroupById(logicalVmGroup.LogicalVmGroup.ID) 57 check.Assert(err, IsNil) 58 check.Assert(retrievedLogicalVmGroup.LogicalVmGroup, DeepEquals, logicalVmGroup.LogicalVmGroup) 59 60 err = logicalVmGroup.Delete() 61 check.Assert(err, IsNil) 62 }