5
5
. "launchpad.net/gocheck"
6
"launchpad.net/juju-core/environs"
6
7
"launchpad.net/juju-core/environs/dummy"
7
8
"launchpad.net/juju-core/juju"
8
"launchpad.net/juju-core/state/testing"
9
"launchpad.net/juju-core/state"
9
10
coretesting "launchpad.net/juju-core/testing"
19
20
type ConnSuite struct {
20
21
coretesting.LoggingSuite
24
24
var _ = Suite(&ConnSuite{})
26
26
func (cs *ConnSuite) SetUpTest(c *C) {
27
27
cs.LoggingSuite.SetUpTest(c)
28
cs.StateSuite.SetUpTest(c)
31
30
func (cs *ConnSuite) TearDownTest(c *C) {
33
cs.StateSuite.TearDownTest(c)
34
32
cs.LoggingSuite.TearDownTest(c)
101
99
func (cs *ConnSuite) TestConnStateSecretsSideEffect(c *C) {
102
env, err := cs.State.EnvironConfig()
100
env, err := environs.NewFromAttrs(map[string]interface{}{
104
"authorized-keys": "i-am-a-key",
107
err = env.Bootstrap(false)
109
info, err := env.StateInfo()
111
st, err := state.Open(info)
104
114
// verify we have no secret in the environ config
105
_, ok := env.Get("secret")
115
cfg, err := st.EnvironConfig()
117
_, ok := cfg.Get("secret")
106
118
c.Assert(ok, Equals, false)
107
attrs := map[string]interface{}{
119
conn, err := juju.NewConnFromAttrs(map[string]interface{}{
108
120
"name": "erewhemos",
110
122
"zookeeper": true,
111
123
"authorized-keys": "i-am-a-key",
113
conn, err := juju.NewConnFromAttrs(attrs)
114
125
c.Assert(err, IsNil)
115
126
defer conn.Close()
116
err = conn.Bootstrap(false)
118
127
// fetch a state connection via the conn, which will
119
128
// push the secrets.
120
129
_, err = conn.State()
121
130
c.Assert(err, IsNil)
123
132
c.Assert(err, IsNil)
124
133
// check that the secret has been populated
125
secret, ok := env.Get("secret")
134
secret, ok := cfg.Get("secret")
126
135
c.Assert(ok, Equals, true)
127
136
c.Assert(secret, Equals, "pork")