github.com/vmware/govmomi@v0.51.0/toolbox/power_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 toolbox 6 7 import ( 8 "errors" 9 "testing" 10 ) 11 12 func TestPowerCommandHandler(t *testing.T) { 13 shutdown = "/bin/echo" 14 15 in := new(mockChannelIn) 16 out := new(mockChannelOut) 17 18 service := NewService(in, out) 19 power := service.Power 20 21 // cover nil Handler and out.Receive paths 22 _, _ = power.Halt.Dispatch(nil) 23 24 out.reply = append(out.reply, rpciOK, rpciOK) 25 26 power.Halt.Handler = Halt 27 power.Reboot.Handler = Reboot 28 power.Suspend.Handler = func() error { 29 return errors.New("an error") 30 } 31 32 commands := []PowerCommand{ 33 power.Halt, 34 power.Reboot, 35 power.Suspend, 36 } 37 38 for _, cmd := range commands { 39 _, _ = cmd.Dispatch(nil) 40 } 41 }