~themue/pyjuju/go-state-remove-relation

« back to all changes in this revision

Viewing changes to cmd/jujuc/server/context_test.go

  • Committer: Frank Mueller
  • Date: 2012-05-04 15:31:48 UTC
  • mfrom: (146.1.6 go)
  • Revision ID: themue@gmail.com-20120504153148-y71r3htfmku0y2ls
Commit after merge.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
        "io/ioutil"
6
6
        . "launchpad.net/gocheck"
7
7
        "launchpad.net/juju/go/cmd/jujuc/server"
 
8
        "launchpad.net/juju/go/state"
 
9
        "launchpad.net/juju/go/testing"
8
10
        "os"
9
11
        "path/filepath"
10
12
        "strings"
11
 
        "testing"
 
13
        stdtesting "testing"
12
14
)
13
15
 
14
 
func Test(t *testing.T) { TestingT(t) }
 
16
var zkAddr string
 
17
 
 
18
func TestPackage(t *stdtesting.T) {
 
19
        srv := testing.StartZkServer()
 
20
        defer srv.Destroy()
 
21
        var err error
 
22
        zkAddr, err = srv.Addr()
 
23
        if err != nil {
 
24
                t.Fatalf("could not get ZooKeeper server address")
 
25
        }
 
26
        TestingT(t)
 
27
}
15
28
 
16
29
type GetCommandSuite struct{}
17
30
 
22
35
        err  string
23
36
}{
24
37
        {"juju-log", ""},
 
38
        {"config-get", ""},
25
39
        {"random", "unknown command: random"},
26
40
}
27
41
 
28
42
func (s *GetCommandSuite) TestGetCommand(c *C) {
29
 
        ctx := &server.Context{}
 
43
        ctx := &server.ClientContext{
 
44
                Id:            "ctxid",
 
45
                State:         &state.State{},
 
46
                LocalUnitName: "minecraft/0",
 
47
        }
30
48
        for _, t := range getCommandTests {
31
 
                com, err := ctx.GetCommand(t.name)
 
49
                com, err := ctx.NewCommand(t.name)
32
50
                if t.err == "" {
33
51
                        // At this level, just check basic sanity; commands are tested in
34
52
                        // more detail elsewhere.
 
53
                        c.Assert(err, IsNil)
35
54
                        c.Assert(com.Info().Name, Equals, t.name)
36
 
                        c.Assert(err, IsNil)
37
55
                } else {
38
56
                        c.Assert(com, IsNil)
39
57
                        c.Assert(err, ErrorMatches, t.err)
92
110
}
93
111
 
94
112
func (s *RunHookSuite) TestNoHook(c *C) {
95
 
        ctx := &server.Context{}
 
113
        ctx := &server.ClientContext{}
96
114
        err := ctx.RunHook("tree-fell-in-forest", c.MkDir(), "")
97
115
        c.Assert(err, IsNil)
98
116
}
99
117
 
100
118
func (s *RunHookSuite) TestNonExecutableHook(c *C) {
101
 
        ctx := &server.Context{}
 
119
        ctx := &server.ClientContext{}
102
120
        charmDir, _ := makeCharm(c, "something-happened", 0600, 0)
103
121
        err := ctx.RunHook("something-happened", charmDir, "")
104
122
        c.Assert(err, ErrorMatches, `exec: ".*/something-happened": permission denied`)
105
123
}
106
124
 
107
125
func (s *RunHookSuite) TestBadHook(c *C) {
108
 
        ctx := &server.Context{Id: "ctx-id"}
 
126
        ctx := &server.ClientContext{Id: "ctx-id"}
109
127
        charmDir, outPath := makeCharm(c, "occurrence-occurred", 0700, 99)
110
128
        socketPath := "/path/to/socket"
111
129
        err := ctx.RunHook("occurrence-occurred", charmDir, socketPath)
118
136
}
119
137
 
120
138
func (s *RunHookSuite) TestGoodHookWithVars(c *C) {
121
 
        ctx := &server.Context{
 
139
        ctx := &server.ClientContext{
122
140
                Id:             "some-id",
123
141
                LocalUnitName:  "local/99",
124
142
                RemoteUnitName: "remote/123",