github.com/wallyworld/juju@v0.0.0-20161013125918-6cf1bc9d917a/worker/uniter/resolver/mock_test.go (about)

     1  // Copyright 2015 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package resolver_test
     5  
     6  import (
     7  	"github.com/juju/testing"
     8  	"gopkg.in/juju/charm.v6-unstable"
     9  
    10  	"github.com/juju/juju/worker/fortress"
    11  	"github.com/juju/juju/worker/uniter/hook"
    12  	"github.com/juju/juju/worker/uniter/operation"
    13  	"github.com/juju/juju/worker/uniter/remotestate"
    14  )
    15  
    16  type mockRemoteStateWatcher struct {
    17  	remotestate.RemoteStateWatcher
    18  	changes  chan struct{}
    19  	snapshot remotestate.Snapshot
    20  }
    21  
    22  func (w *mockRemoteStateWatcher) RemoteStateChanged() <-chan struct{} {
    23  	return w.changes
    24  }
    25  
    26  func (w *mockRemoteStateWatcher) Snapshot() remotestate.Snapshot {
    27  	return w.snapshot
    28  }
    29  
    30  type mockOpFactory struct {
    31  	operation.Factory
    32  	testing.Stub
    33  	op mockOp
    34  }
    35  
    36  func (f *mockOpFactory) NewUpgrade(charmURL *charm.URL) (operation.Operation, error) {
    37  	f.MethodCall(f, "NewUpgrade", charmURL)
    38  	return f.op, f.NextErr()
    39  }
    40  
    41  func (f *mockOpFactory) NewRevertUpgrade(charmURL *charm.URL) (operation.Operation, error) {
    42  	f.MethodCall(f, "NewRevertUpgrade", charmURL)
    43  	return f.op, f.NextErr()
    44  }
    45  
    46  func (f *mockOpFactory) NewResolvedUpgrade(charmURL *charm.URL) (operation.Operation, error) {
    47  	f.MethodCall(f, "NewResolvedUpgrade", charmURL)
    48  	return f.op, f.NextErr()
    49  }
    50  
    51  func (f *mockOpFactory) NewRunHook(info hook.Info) (operation.Operation, error) {
    52  	f.MethodCall(f, "NewRunHook", info)
    53  	return f.op, f.NextErr()
    54  }
    55  
    56  func (f *mockOpFactory) NewSkipHook(info hook.Info) (operation.Operation, error) {
    57  	f.MethodCall(f, "NewSkipHook", info)
    58  	return f.op, f.NextErr()
    59  }
    60  
    61  func (f *mockOpFactory) NewAction(id string) (operation.Operation, error) {
    62  	f.MethodCall(f, "NewAction", id)
    63  	return f.op, f.NextErr()
    64  }
    65  
    66  type mockOpExecutor struct {
    67  	operation.Executor
    68  	testing.Stub
    69  	st operation.State
    70  }
    71  
    72  func (e *mockOpExecutor) State() operation.State {
    73  	e.MethodCall(e, "State")
    74  	return e.st
    75  }
    76  
    77  func (e *mockOpExecutor) Run(op operation.Operation) error {
    78  	e.MethodCall(e, "Run", op)
    79  	return e.NextErr()
    80  }
    81  
    82  type mockOp struct {
    83  	operation.Operation
    84  	commit func(operation.State) (*operation.State, error)
    85  }
    86  
    87  func (op mockOp) Commit(st operation.State) (*operation.State, error) {
    88  	if op.commit != nil {
    89  		return op.commit(st)
    90  	}
    91  	return &st, nil
    92  }
    93  
    94  type mockCharmDirGuard struct {
    95  	fortress.Guard
    96  	testing.Stub
    97  	commit func(operation.State) (*operation.State, error)
    98  }
    99  
   100  func (l *mockCharmDirGuard) Unlock() error {
   101  	l.MethodCall(l, "Unlock")
   102  	return l.NextErr()
   103  }
   104  
   105  func (l *mockCharmDirGuard) Lockdown(abort fortress.Abort) error {
   106  	l.MethodCall(l, "Lockdown", abort)
   107  	return l.NextErr()
   108  }