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  }