1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
package lpad_test
import (
. "launchpad.net/gocheck"
"launchpad.net/lpad"
)
func (s *ModelS) TestBuilder(c *C) {
m := M{
"name": "thename",
"title": "Title",
"active": true,
"builderok": true,
"virtualized": "false",
"vm_host": "foobar",
"web_link": "http://page",
}
builder := &lpad.Builder{lpad.NewValue(nil, "", "", m)}
c.Assert(builder.Name(), Equals, "thename")
c.Assert(builder.Title(), Equals, "Title")
c.Assert(builder.Active(), Equals, true)
c.Assert(builder.BuilderOK(), Equals, true)
c.Assert(builder.Virtualized(), Equals, false)
c.Assert(builder.VMHost(), Equals, "foobar")
c.Assert(builder.WebPage(), Equals, "http://page")
}
func (s *ModelS) TestRootBuildersAndBuilderList(c *C) {
data := `{
"total_size": 2,
"start": 0,
"entries": [
{"name": "builder1", "builderok": true},
{"name": "builder2", "builderok": true}
]
}`
testServer.PrepareResponse(200, jsonType, data)
root := &lpad.Root{lpad.NewValue(nil, testServer.URL, "", nil)}
builders, err := root.Builders()
c.Assert(err, IsNil)
var l []*lpad.Builder
builders.For(func(builder *lpad.Builder) error {
l = append(l, builder)
return nil
})
c.Assert(len(l), Equals, 2)
c.Assert(l[0].Name(), Equals, "builder1")
c.Assert(l[1].Name(), Equals, "builder2")
req := testServer.WaitRequest()
c.Assert(req.Method, Equals, "GET")
c.Assert(req.URL.Path, Equals, "/builders")
}
func (s *ModelS) TestRootBuilder(c *C) {
testServer.PrepareResponse(200, jsonType, `{"name": "builder1"}`)
root := &lpad.Root{lpad.NewValue(nil, testServer.URL, "", nil)}
builder, err := root.Builder("builder1")
c.Assert(err, IsNil)
c.Assert(builder.Name(), Equals, "builder1")
req := testServer.WaitRequest()
c.Assert(req.Method, Equals, "GET")
c.Assert(req.URL.Path, Equals, "/builders")
c.Assert(req.Form["ws.op"], Equals, []string{"getByName"})
c.Assert(req.Form["name"], Equals, []string{"builder1"})
}
|