github.com/axw/juju@v0.0.0-20161005053422-4bd6544d08d4/resource/resourcetesting/state.go (about)

     1  // Copyright 2016 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package resourcetesting
     5  
     6  import (
     7  	"github.com/juju/testing"
     8  	"gopkg.in/juju/charm.v6-unstable"
     9  )
    10  
    11  // StubUnit is a testing implementation of resource.Unit.
    12  type StubUnit struct {
    13  	*testing.Stub
    14  
    15  	ReturnName            string
    16  	ReturnApplicationName string
    17  	ReturnCharmURL        *charm.URL
    18  }
    19  
    20  // Name implements resource.Unit.
    21  func (s *StubUnit) Name() string {
    22  	s.AddCall("Name")
    23  	s.NextErr() // Pop one off.
    24  
    25  	return s.ReturnName
    26  }
    27  
    28  // ApplicationName implements resource.Unit.
    29  func (s *StubUnit) ApplicationName() string {
    30  	s.AddCall("ApplicationName")
    31  	s.NextErr() // Pop one off.
    32  
    33  	return s.ReturnApplicationName
    34  }
    35  
    36  // CharmURL implements resource.Unit.
    37  func (s *StubUnit) CharmURL() (*charm.URL, bool) {
    38  	s.AddCall("CharmURL")
    39  	s.NextErr() // Pop one off.
    40  
    41  	forceCharm := false
    42  	return s.ReturnCharmURL, forceCharm
    43  }