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

Side by Side Diff: milo/appengine/job_source/swarming/html_data.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
OLDNEW
1 // Copyright 2015 The LUCI Authors. All rights reserved. 1 // Copyright 2015 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package swarming 5 package swarming
6 6
7 import ( 7 import (
8 "encoding/json" 8 "encoding/json"
9 "fmt" 9 "fmt"
10 "io/ioutil" 10 "io/ioutil"
(...skipping 20 matching lines...) Expand all
31 "github.com/luci/luci-go/milo/appengine/common" 31 "github.com/luci/luci-go/milo/appengine/common"
32 "github.com/luci/luci-go/milo/appengine/common/model" 32 "github.com/luci/luci-go/milo/appengine/common/model"
33 "github.com/luci/luci-go/server/auth" 33 "github.com/luci/luci-go/server/auth"
34 "github.com/luci/luci-go/server/auth/authtest" 34 "github.com/luci/luci-go/server/auth/authtest"
35 "github.com/luci/luci-go/server/templates" 35 "github.com/luci/luci-go/server/templates"
36 ) 36 )
37 37
38 type testCase struct { 38 type testCase struct {
39 name string 39 name string
40 40
41 swarmingRelDir string
42
41 swarmResult string 43 swarmResult string
42 swarmOutput string 44 swarmOutput string
43 annotations string 45 annotations string
44 } 46 }
45 47
46 func getTestCases() []*testCase { 48 func getTestCases(swarmingRelDir string) []*testCase {
47 testCases := make(map[string]*testCase) 49 testCases := make(map[string]*testCase)
48 50
49 » // References "milo/appengine/swarming/testdata". 51 » // References "milo/appengine/job_source/swarming/testdata".
50 » testdata := filepath.Join("..", "swarming", "testdata") 52 » testdata := filepath.Join(swarmingRelDir, "testdata")
51 f, err := ioutil.ReadDir(testdata) 53 f, err := ioutil.ReadDir(testdata)
52 if err != nil { 54 if err != nil {
53 panic(err) 55 panic(err)
54 } 56 }
55 for _, fi := range f { 57 for _, fi := range f {
56 fileName := fi.Name() 58 fileName := fi.Name()
57 parts := strings.SplitN(fileName, ".", 2) 59 parts := strings.SplitN(fileName, ".", 2)
58 60
59 name := parts[0] 61 name := parts[0]
60 tc := testCases[name] 62 tc := testCases[name]
61 if tc == nil { 63 if tc == nil {
62 tc = &testCase{name: name} 64 tc = &testCase{name: name}
63 testCases[name] = tc 65 testCases[name] = tc
64 } 66 }
67 tc.swarmingRelDir = swarmingRelDir
65 68
66 switch { 69 switch {
67 case len(parts) == 1: 70 case len(parts) == 1:
68 tc.swarmOutput = fileName 71 tc.swarmOutput = fileName
69 case parts[1] == "swarm": 72 case parts[1] == "swarm":
70 tc.swarmResult = fileName 73 tc.swarmResult = fileName
71 case parts[1] == "pb.txt": 74 case parts[1] == "pb.txt":
72 tc.annotations = fileName 75 tc.annotations = fileName
73 } 76 }
74 } 77 }
(...skipping 14 matching lines...) Expand all
89 } 92 }
90 93
91 func (tc *testCase) getContent(name string) []byte { 94 func (tc *testCase) getContent(name string) []byte {
92 if name == "" { 95 if name == "" {
93 return nil 96 return nil
94 } 97 }
95 98
96 // ../swarming below assumes that 99 // ../swarming below assumes that
97 // - this code is not executed by tests outside of this dir 100 // - this code is not executed by tests outside of this dir
98 // - this dir is a sibling of frontend dir 101 // - this dir is a sibling of frontend dir
99 » path := filepath.Join("..", "swarming", "testdata", name) 102 » path := filepath.Join(tc.swarmingRelDir, "testdata", name)
100 data, err := ioutil.ReadFile(path) 103 data, err := ioutil.ReadFile(path)
101 if err != nil { 104 if err != nil {
102 panic(fmt.Errorf("failed to read [%s]: %s", path, err)) 105 panic(fmt.Errorf("failed to read [%s]: %s", path, err))
103 } 106 }
104 return data 107 return data
105 } 108 }
106 109
107 func (tc *testCase) getSwarmingResult() *swarming.SwarmingRpcsTaskResult { 110 func (tc *testCase) getSwarmingResult() *swarming.SwarmingRpcsTaskResult {
108 var sr swarming.SwarmingRpcsTaskResult 111 var sr swarming.SwarmingRpcsTaskResult
109 data := tc.getContent(tc.swarmResult) 112 data := tc.getContent(tc.swarmResult)
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
226 Datagram: &logpb.Datagram{ 229 Datagram: &logpb.Datagram{
227 Data: data, 230 Data: data,
228 }, 231 },
229 }, 232 },
230 }, 233 },
231 }, 234 },
232 } 235 }
233 } 236 }
234 237
235 // BuildTestData returns sample test data for swarming build pages. 238 // BuildTestData returns sample test data for swarming build pages.
236 func BuildTestData() []common.TestBundle { 239 func BuildTestData(swarmingRelDir string) []common.TestBundle {
237 basic := resp.MiloBuild{ 240 basic := resp.MiloBuild{
238 Summary: resp.BuildComponent{ 241 Summary: resp.BuildComponent{
239 Label: "Test swarming build", 242 Label: "Test swarming build",
240 Status: model.Success, 243 Status: model.Success,
241 Started: time.Date(2016, 1, 2, 15, 4, 5, 999999999, tim e.UTC), 244 Started: time.Date(2016, 1, 2, 15, 4, 5, 999999999, tim e.UTC),
242 Finished: time.Date(2016, 1, 2, 15, 4, 6, 999999999, tim e.UTC), 245 Finished: time.Date(2016, 1, 2, 15, 4, 6, 999999999, tim e.UTC),
243 Duration: time.Second, 246 Duration: time.Second,
244 }, 247 },
245 } 248 }
246 results := []common.TestBundle{ 249 results := []common.TestBundle{
247 { 250 {
248 Description: "Basic successful build", 251 Description: "Basic successful build",
249 Data: templates.Args{"Build": basic}, 252 Data: templates.Args{"Build": basic},
250 }, 253 },
251 } 254 }
252 c := context.Background() 255 c := context.Background()
253 c = memory.UseWithAppID(c, "dev~luci-milo") 256 c = memory.UseWithAppID(c, "dev~luci-milo")
254 c = testconfig.WithCommonClient(c, memcfg.New(aclConfgs)) 257 c = testconfig.WithCommonClient(c, memcfg.New(aclConfgs))
255 c = auth.WithState(c, &authtest.FakeState{ 258 c = auth.WithState(c, &authtest.FakeState{
256 Identity: "user:alicebob@google.com", 259 Identity: "user:alicebob@google.com",
257 IdentityGroups: []string{"all", "googlers"}, 260 IdentityGroups: []string{"all", "googlers"},
258 }) 261 })
259 c, _ = testclock.UseTime(c, time.Date(2016, time.March, 14, 11, 0, 0, 0, time.UTC)) 262 c, _ = testclock.UseTime(c, time.Date(2016, time.March, 14, 11, 0, 0, 0, time.UTC))
260 263
261 » for _, tc := range getTestCases() { 264 » for _, tc := range getTestCases(swarmingRelDir) {
262 svc := debugSwarmingService{tc} 265 svc := debugSwarmingService{tc}
263 bl := buildLoader{ 266 bl := buildLoader{
264 logDogClientFunc: logDogClientFunc(tc), 267 logDogClientFunc: logDogClientFunc(tc),
265 } 268 }
266 269
267 build, err := bl.swarmingBuildImpl(c, svc, "foo", tc.name) 270 build, err := bl.swarmingBuildImpl(c, svc, "foo", tc.name)
268 if err != nil { 271 if err != nil {
269 panic(fmt.Errorf("Error while processing %s: %s", tc.nam e, err)) 272 panic(fmt.Errorf("Error while processing %s: %s", tc.nam e, err))
270 } 273 }
271 results = append(results, common.TestBundle{ 274 results = append(results, common.TestBundle{
(...skipping 15 matching lines...) Expand all
287 ` 290 `
288 291
289 var aclConfgs = map[string]memcfg.ConfigSet{ 292 var aclConfgs = map[string]memcfg.ConfigSet{
290 "projects/secret": { 293 "projects/secret": {
291 "project.cfg": secretProjectCfg, 294 "project.cfg": secretProjectCfg,
292 }, 295 },
293 "projects/opensource": { 296 "projects/opensource": {
294 "project.cfg": publicProjectCfg, 297 "project.cfg": publicProjectCfg,
295 }, 298 },
296 } 299 }
OLDNEW
« no previous file with comments | « milo/appengine/job_source/swarming/html.go ('k') | milo/appengine/job_source/swarming/html_test.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698