github.com/vmware/govmomi@v0.51.0/simulator/entity_test.go (about) 1 // © Broadcom. All Rights Reserved. 2 // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 3 // SPDX-License-Identifier: Apache-2.0 4 5 package simulator 6 7 import ( 8 "testing" 9 10 "github.com/vmware/govmomi/vim25/methods" 11 "github.com/vmware/govmomi/vim25/types" 12 ) 13 14 func TestRename(t *testing.T) { 15 m := VPX() 16 m.Datacenter = 2 17 m.Folder = 2 18 19 defer m.Remove() 20 21 err := m.Create() 22 if err != nil { 23 t.Fatal(err) 24 } 25 26 s := m.Service.NewServer() 27 defer s.Close() 28 29 ctx := m.Service.Context 30 dc := ctx.Map.Any("Datacenter").(*Datacenter) 31 vmFolder := ctx.Map.Get(dc.VmFolder).(*Folder) 32 33 f1 := ctx.Map.Get(vmFolder.ChildEntity[0]).(*Folder) // "F1" 34 35 id := vmFolder.CreateFolder(ctx, &types.CreateFolder{ 36 This: vmFolder.Reference(), 37 Name: "F2", 38 }).(*methods.CreateFolderBody).Res.Returnval 39 40 f2 := ctx.Map.Get(id).(*Folder) // "F2" 41 42 states := []types.TaskInfoState{types.TaskInfoStateError, types.TaskInfoStateSuccess} 43 name := f1.Name 44 45 for _, expect := range states { 46 id = f2.RenameTask(ctx, &types.Rename_Task{ 47 This: f2.Reference(), 48 NewName: name, 49 }).(*methods.Rename_TaskBody).Res.Returnval 50 51 task := ctx.Map.Get(id).(*Task) 52 task.Wait() 53 54 if task.Info.State != expect { 55 t.Errorf("state=%s", task.Info.State) 56 } 57 58 name += "-uniq" 59 } 60 }