github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/worker/caasapplicationprovisioner/mock_test.go (about)

     1  // Copyright 2020 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package caasapplicationprovisioner_test
     5  
     6  import (
     7  	jujutesting "github.com/juju/testing"
     8  	"github.com/juju/worker/v3"
     9  	"gopkg.in/tomb.v2"
    10  )
    11  
    12  //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/broker_mock.go github.com/juju/juju/worker/caasapplicationprovisioner CAASBroker
    13  //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/facade_mock.go github.com/juju/juju/worker/caasapplicationprovisioner CAASProvisionerFacade
    14  //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/unitfacade_mock.go github.com/juju/juju/worker/caasapplicationprovisioner CAASUnitProvisionerFacade
    15  //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/runner_mock.go github.com/juju/juju/worker/caasapplicationprovisioner Runner
    16  //go:generate go run go.uber.org/mock/mockgen -package mocks -destination mocks/ops_mock.go github.com/juju/juju/worker/caasapplicationprovisioner ApplicationOps
    17  
    18  type mockNotifyWorker struct {
    19  	worker.Worker
    20  	jujutesting.Stub
    21  }
    22  
    23  func (w *mockNotifyWorker) Notify() {
    24  	w.MethodCall(w, "Notify")
    25  }
    26  
    27  type mockTomb struct {
    28  	done chan struct{}
    29  }
    30  
    31  func (t *mockTomb) Dying() <-chan struct{} {
    32  	return t.done
    33  }
    34  
    35  func (t *mockTomb) ErrDying() error {
    36  	select {
    37  	case <-t.done:
    38  		return tomb.ErrDying
    39  	default:
    40  		return tomb.ErrStillAlive
    41  	}
    42  }