github.com/vmware/govmomi@v0.51.0/simulator/host_local_account_manager_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 "context" 9 "testing" 10 11 "github.com/vmware/govmomi" 12 "github.com/vmware/govmomi/vim25/methods" 13 "github.com/vmware/govmomi/vim25/types" 14 ) 15 16 func TestHostLocalAccountManager(t *testing.T) { 17 ctx := context.Background() 18 m := ESX() 19 20 defer m.Remove() 21 22 err := m.Create() 23 if err != nil { 24 t.Fatal(err) 25 } 26 27 ts := m.Service.NewServer() 28 defer ts.Close() 29 30 c, err := govmomi.NewClient(ctx, ts.URL, true) 31 if err != nil { 32 t.Fatal(err) 33 } 34 35 ref := types.ManagedObjectReference{Type: "HostLocalAccountManager", Value: "ha-localacctmgr"} 36 37 createUserReq := &types.CreateUser{ 38 This: ref, 39 User: &types.HostAccountSpec{ 40 Id: "userid", 41 }, 42 } 43 44 _, err = methods.CreateUser(ctx, c.Client, createUserReq) 45 if err != nil { 46 t.Fatal(err) 47 } 48 49 _, err = methods.CreateUser(ctx, c.Client, createUserReq) 50 if err == nil { 51 t.Fatal("expect err; got nil") 52 } 53 54 updateUserReq := &types.UpdateUser{ 55 This: ref, 56 User: &types.HostAccountSpec{ 57 Id: "userid", 58 }, 59 } 60 61 _, err = methods.UpdateUser(ctx, c.Client, updateUserReq) 62 if err != nil { 63 t.Fatal(err) 64 } 65 66 removeUserReq := &types.RemoveUser{ 67 This: ref, 68 UserName: "userid", 69 } 70 71 _, err = methods.RemoveUser(ctx, c.Client, removeUserReq) 72 if err != nil { 73 t.Fatal(err) 74 } 75 76 _, err = methods.RemoveUser(ctx, c.Client, removeUserReq) 77 if err == nil { 78 t.Fatal("expect err; got nil") 79 } 80 }