Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(32)

Side by Side Diff: milo/appengine/buildbot/html_test.go

Issue 2944983003: [milo] {buildbucket,buildbot,swarming,logdog} -> backends/*. (Closed)
Patch Set: fix the tests Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « milo/appengine/buildbot/html_data.go ('k') | milo/appengine/buildbot/master.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2017 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file.
4
5 package buildbot
6
7 import (
8 "net/http"
9 "net/http/httptest"
10 "net/url"
11 "testing"
12
13 "golang.org/x/net/context"
14
15 "github.com/julienschmidt/httprouter"
16 "github.com/luci/gae/impl/memory"
17 "github.com/luci/luci-go/common/clock/testclock"
18 "github.com/luci/luci-go/milo/appengine/common"
19 "github.com/luci/luci-go/server/auth"
20 "github.com/luci/luci-go/server/auth/authtest"
21 "github.com/luci/luci-go/server/auth/identity"
22 "github.com/luci/luci-go/server/router"
23 "github.com/luci/luci-go/server/templates"
24
25 . "github.com/smartystreets/goconvey/convey"
26 )
27
28 func request(c context.Context, params map[string]string) *router.Context {
29 p := httprouter.Params{}
30 for k, v := range params {
31 p = append(p, httprouter.Param{Key: k, Value: v})
32 }
33 r := &http.Request{URL: &url.URL{Path: "/foobar"}}
34 c = common.WithRequest(c, r)
35 w := httptest.NewRecorder()
36 return &router.Context{
37 Context: c,
38 Params: p,
39 Writer: w,
40 Request: r,
41 }
42 }
43
44 func TestHtml(t *testing.T) {
45 c := memory.UseWithAppID(context.Background(), "dev~luci-milo")
46 c, _ = testclock.UseTime(c, testclock.TestTimeUTC)
47 c = templates.Use(c, common.GetTemplateBundle("../frontend/templates"))
48 c = auth.WithState(c, &authtest.FakeState{Identity: identity.AnonymousId entity})
49 putDSMasterJSON(c, &buildbotMaster{
50 Name: "fake",
51 Builders: map[string]*buildbotBuilder{"fake": {}},
52 }, false)
53
54 Convey(`HTML handler tests`, t, func() {
55 Convey(`Build pages`, func() {
56 Convey(`Empty request`, func() {
57 rc := request(c, nil)
58 BuildHandler(rc)
59 response := rc.Writer.(*httptest.ResponseRecorde r)
60 So(response.Code, ShouldEqual, http.StatusBadReq uest)
61 })
62 Convey(`Missing builder`, func() {
63 rc := request(c, map[string]string{"master": "fo o"})
64 BuildHandler(rc)
65 response := rc.Writer.(*httptest.ResponseRecorde r)
66 So(response.Code, ShouldEqual, http.StatusBadReq uest)
67 })
68 Convey(`Missing build`, func() {
69 rc := request(c, map[string]string{"master": "fo o", "builder": "bar"})
70 BuildHandler(rc)
71 response := rc.Writer.(*httptest.ResponseRecorde r)
72 So(response.Code, ShouldEqual, http.StatusBadReq uest)
73 })
74 Convey(`Invalid build number`, func() {
75 rc := request(c, map[string]string{"master": "fo o", "builder": "bar", "build": "baz"})
76 BuildHandler(rc)
77 response := rc.Writer.(*httptest.ResponseRecorde r)
78 So(response.Code, ShouldEqual, http.StatusBadReq uest)
79 })
80 Convey(`Normal build`, func() {
81 rc := request(c, map[string]string{"master": "de bug", "builder": "newline", "build": "1234"})
82 BuildHandler(rc)
83 response := rc.Writer.(*httptest.ResponseRecorde r)
84 So(response.Code, ShouldEqual, http.StatusOK)
85 })
86 })
87
88 Convey(`Builder pages`, func() {
89 Convey(`Empty request`, func() {
90 rc := request(c, nil)
91 BuilderHandler(rc)
92 response := rc.Writer.(*httptest.ResponseRecorde r)
93 So(response.Code, ShouldEqual, http.StatusBadReq uest)
94 })
95 Convey(`Missing builder`, func() {
96 rc := request(c, map[string]string{"master": "fo o"})
97 BuilderHandler(rc)
98 response := rc.Writer.(*httptest.ResponseRecorde r)
99 So(response.Code, ShouldEqual, http.StatusBadReq uest)
100 })
101 Convey(`Builder not found`, func() {
102 rc := request(c, map[string]string{"master": "fa ke", "builder": "newline"})
103 BuilderHandler(rc)
104 response := rc.Writer.(*httptest.ResponseRecorde r)
105 So(response.Code, ShouldEqual, http.StatusNotFou nd)
106 })
107 })
108 })
109 }
OLDNEW
« no previous file with comments | « milo/appengine/buildbot/html_data.go ('k') | milo/appengine/buildbot/master.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698