~rogpeppe/juju-core/438-local-instance-Addresses

« back to all changes in this revision

Viewing changes to juju/conn_test.go

mergeĀ 024-jujuconnsuite-logging

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
import (
4
4
        "io/ioutil"
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"
10
11
        "os"
11
12
        "path/filepath"
18
19
 
19
20
type ConnSuite struct {
20
21
        coretesting.LoggingSuite
21
 
        testing.StateSuite
22
22
}
23
23
 
24
24
var _ = Suite(&ConnSuite{})
25
25
 
26
26
func (cs *ConnSuite) SetUpTest(c *C) {
27
27
        cs.LoggingSuite.SetUpTest(c)
28
 
        cs.StateSuite.SetUpTest(c)
29
28
}
30
29
 
31
30
func (cs *ConnSuite) TearDownTest(c *C) {
32
31
        dummy.Reset()
33
 
        cs.StateSuite.TearDownTest(c)
34
32
        cs.LoggingSuite.TearDownTest(c)
35
33
}
36
34
 
99
97
}
100
98
 
101
99
func (cs *ConnSuite) TestConnStateSecretsSideEffect(c *C) {
102
 
        env, err := cs.State.EnvironConfig()
103
 
        c.Assert(err, IsNil)
 
100
        env, err := environs.NewFromAttrs(map[string]interface{}{
 
101
                "name":            "erewhemos",
 
102
                "type":            "dummy",
 
103
                "zookeeper":       true,
 
104
                "authorized-keys": "i-am-a-key",
 
105
        })
 
106
        c.Assert(err, IsNil)
 
107
        err = env.Bootstrap(false)
 
108
        c.Assert(err, IsNil)
 
109
        info, err := env.StateInfo()
 
110
        c.Assert(err, IsNil)
 
111
        st, err := state.Open(info)
 
112
        c.Assert(err, IsNil)
 
113
 
104
114
        // verify we have no secret in the environ config
105
 
        _, ok := env.Get("secret")
 
115
        cfg, err := st.EnvironConfig()
 
116
        c.Assert(err, IsNil)
 
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",
109
121
                "type":            "dummy",
110
122
                "zookeeper":       true,
111
123
                "authorized-keys": "i-am-a-key",
112
 
        }
113
 
        conn, err := juju.NewConnFromAttrs(attrs)
 
124
        })
114
125
        c.Assert(err, IsNil)
115
126
        defer conn.Close()
116
 
        err = conn.Bootstrap(false)
117
 
        c.Assert(err, IsNil)
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)
122
 
        err = env.Read()
 
131
        err = cfg.Read()
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")
128
137
}