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 }