github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/worker/machiner/mock_test.go (about) 1 // Copyright 2015 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package machiner_test 5 6 import ( 7 "github.com/juju/names/v5" 8 gitjujutesting "github.com/juju/testing" 9 10 "github.com/juju/juju/core/life" 11 "github.com/juju/juju/core/network" 12 "github.com/juju/juju/core/status" 13 "github.com/juju/juju/core/watcher" 14 "github.com/juju/juju/rpc/params" 15 "github.com/juju/juju/worker/machiner" 16 ) 17 18 type mockWatcher struct { 19 changes chan struct{} 20 } 21 22 func (w *mockWatcher) Changes() watcher.NotifyChannel { 23 return w.changes 24 } 25 26 func (w *mockWatcher) Kill() {} 27 28 func (w *mockWatcher) Wait() error { 29 return nil 30 } 31 32 type mockMachine struct { 33 machiner.Machine 34 gitjujutesting.Stub 35 watcher mockWatcher 36 life life.Value 37 } 38 39 func (m *mockMachine) Refresh() error { 40 m.MethodCall(m, "Refresh") 41 return m.NextErr() 42 } 43 44 func (m *mockMachine) Life() life.Value { 45 m.MethodCall(m, "Life") 46 return m.life 47 } 48 49 func (m *mockMachine) EnsureDead() error { 50 m.MethodCall(m, "EnsureDead") 51 return m.NextErr() 52 } 53 54 func (m *mockMachine) SetMachineAddresses(addresses []network.MachineAddress) error { 55 m.MethodCall(m, "SetMachineAddresses", addresses) 56 return m.NextErr() 57 } 58 59 func (m *mockMachine) SetObservedNetworkConfig(netConfig []params.NetworkConfig) error { 60 m.MethodCall(m, "SetObservedNetworkConfig", netConfig) 61 return m.NextErr() 62 } 63 64 func (m *mockMachine) SetStatus(status status.Status, info string, data map[string]interface{}) error { 65 m.MethodCall(m, "SetStatus", status, info, data) 66 return m.NextErr() 67 } 68 69 func (m *mockMachine) Watch() (watcher.NotifyWatcher, error) { 70 m.MethodCall(m, "Watch") 71 if err := m.NextErr(); err != nil { 72 return nil, err 73 } 74 return &m.watcher, nil 75 } 76 77 type mockMachineAccessor struct { 78 gitjujutesting.Stub 79 machine mockMachine 80 } 81 82 func (a *mockMachineAccessor) Machine(tag names.MachineTag) (machiner.Machine, error) { 83 a.MethodCall(a, "Machine", tag) 84 if err := a.NextErr(); err != nil { 85 return nil, err 86 } 87 return &a.machine, nil 88 }