github.com/mhilton/juju-juju@v0.0.0-20150901100907-a94dd2c73455/cmd/juju/environment/fakeenv_test.go (about)

     1  // Copyright 2014 Canonical Ltd.
     2  // Licensed under the AGPLv3, see LICENCE file for details.
     3  
     4  package environment_test
     5  
     6  import (
     7  	"github.com/juju/names"
     8  	gc "gopkg.in/check.v1"
     9  
    10  	"github.com/juju/juju/testing"
    11  )
    12  
    13  type fakeEnvSuite struct {
    14  	testing.FakeJujuHomeSuite
    15  	fake *fakeEnvAPI
    16  }
    17  
    18  func (s *fakeEnvSuite) SetUpTest(c *gc.C) {
    19  	s.FakeJujuHomeSuite.SetUpTest(c)
    20  	s.fake = &fakeEnvAPI{
    21  		values: map[string]interface{}{
    22  			"name":    "test-env",
    23  			"special": "special value",
    24  			"running": true,
    25  		},
    26  	}
    27  }
    28  
    29  type fakeEnvAPI struct {
    30  	values      map[string]interface{}
    31  	err         error
    32  	keys        []string
    33  	addUsers    []names.UserTag
    34  	removeUsers []names.UserTag
    35  }
    36  
    37  func (f *fakeEnvAPI) Close() error {
    38  	return nil
    39  }
    40  
    41  func (f *fakeEnvAPI) EnvironmentGet() (map[string]interface{}, error) {
    42  	return f.values, nil
    43  }
    44  
    45  func (f *fakeEnvAPI) EnvironmentSet(config map[string]interface{}) error {
    46  	f.values = config
    47  	return f.err
    48  }
    49  
    50  func (f *fakeEnvAPI) EnvironmentUnset(keys ...string) error {
    51  	f.keys = keys
    52  	return f.err
    53  }
    54  
    55  func (f *fakeEnvAPI) ShareEnvironment(users ...names.UserTag) error {
    56  	f.addUsers = users
    57  	return f.err
    58  }
    59  
    60  func (f *fakeEnvAPI) UnshareEnvironment(users ...names.UserTag) error {
    61  	f.removeUsers = users
    62  	return f.err
    63  }