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  }