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

Side by Side Diff: client/isolatedclient/isolatedclient_test.go

Issue 1846263002: Isolate: Use generators instead of seekers (Closed) Base URL: https://github.com/luci/luci-go@master
Patch Set: Tweaks from comments. Created 4 years, 8 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 Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package isolatedclient 5 package isolatedclient
6 6
7 import ( 7 import (
8 "bytes"
9 "io" 8 "io"
10 "log" 9 "log"
11 "math/rand" 10 "math/rand"
12 "net/http" 11 "net/http"
13 "net/http/httptest" 12 "net/http/httptest"
14 "sync" 13 "sync"
15 "testing" 14 "testing"
16 "time" 15 "time"
17 16
18 "github.com/luci/luci-go/client/internal/retry" 17 "github.com/luci/luci-go/client/internal/retry"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 flaky := &killingMux{server: server, tearDown: map[string]int{"/fake/clo udstorage": 1024}} 70 flaky := &killingMux{server: server, tearDown: map[string]int{"/fake/clo udstorage": 1024}}
72 flaky.ts = httptest.NewServer(flaky) 71 flaky.ts = httptest.NewServer(flaky)
73 defer flaky.ts.Close() 72 defer flaky.ts.Close()
74 client := newIsolateServer(nil, flaky.ts.URL, "default-gzip", fastRetry) 73 client := newIsolateServer(nil, flaky.ts.URL, "default-gzip", fastRetry)
75 74
76 digests, contents, expected := makeItems(large) 75 digests, contents, expected := makeItems(large)
77 states, err := client.Contains(digests) 76 states, err := client.Contains(digests)
78 ut.AssertEqual(t, nil, err) 77 ut.AssertEqual(t, nil, err)
79 ut.AssertEqual(t, len(digests), len(states)) 78 ut.AssertEqual(t, len(digests), len(states))
80 for _, state := range states { 79 for _, state := range states {
81 » » err = client.Push(state, bytes.NewReader(contents[state.status.I ndex])) 80 » » err = client.Push(state, NewBytesSource(contents[state.status.In dex]))
82 ut.AssertEqual(t, nil, err) 81 ut.AssertEqual(t, nil, err)
83 } 82 }
84 ut.AssertEqual(t, expected, server.Contents()) 83 ut.AssertEqual(t, expected, server.Contents())
85 ut.AssertEqual(t, map[string]int{}, flaky.tearDown) 84 ut.AssertEqual(t, map[string]int{}, flaky.tearDown)
86 85
87 // Look up again to confirm. 86 // Look up again to confirm.
88 states, err = client.Contains(digests) 87 states, err = client.Contains(digests)
89 ut.AssertEqual(t, nil, err) 88 ut.AssertEqual(t, nil, err)
90 ut.AssertEqual(t, len(digests), len(states)) 89 ut.AssertEqual(t, len(digests), len(states))
91 for _, state := range states { 90 for _, state := range states {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 digests, _, expected := makeItems(contents...) 150 digests, _, expected := makeItems(contents...)
152 server := isolatedfake.New() 151 server := isolatedfake.New()
153 ts := httptest.NewServer(server) 152 ts := httptest.NewServer(server)
154 defer ts.Close() 153 defer ts.Close()
155 client := newIsolateServer(nil, ts.URL, "default-gzip", cantRetry) 154 client := newIsolateServer(nil, ts.URL, "default-gzip", cantRetry)
156 states, err := client.Contains(digests) 155 states, err := client.Contains(digests)
157 ut.AssertEqual(t, nil, err) 156 ut.AssertEqual(t, nil, err)
158 ut.AssertEqual(t, len(digests), len(states)) 157 ut.AssertEqual(t, len(digests), len(states))
159 for _, state := range states { 158 for _, state := range states {
160 // The data is automatically compressed. 159 // The data is automatically compressed.
161 » » err = client.Push(state, bytes.NewReader(contents[state.status.I ndex])) 160 » » err = client.Push(state, NewBytesSource(contents[state.status.In dex]))
162 ut.AssertEqual(t, nil, err) 161 ut.AssertEqual(t, nil, err)
163 } 162 }
164 ut.AssertEqual(t, nil, server.Error()) 163 ut.AssertEqual(t, nil, server.Error())
165 ut.AssertEqual(t, expected, server.Contents()) 164 ut.AssertEqual(t, expected, server.Contents())
166 states, err = client.Contains(digests) 165 states, err = client.Contains(digests)
167 ut.AssertEqual(t, nil, err) 166 ut.AssertEqual(t, nil, err)
168 ut.AssertEqual(t, len(digests), len(states)) 167 ut.AssertEqual(t, len(digests), len(states))
169 for _, state := range states { 168 for _, state := range states {
170 ut.AssertEqual(t, (*PushState)(nil), state) 169 ut.AssertEqual(t, (*PushState)(nil), state)
171 } 170 }
172 ut.AssertEqual(t, nil, server.Error()) 171 ut.AssertEqual(t, nil, server.Error())
173 } 172 }
174 173
175 func testFlaky(t *testing.T, flake string) { 174 func testFlaky(t *testing.T, flake string) {
176 server := isolatedfake.New() 175 server := isolatedfake.New()
177 flaky := &killingMux{server: server, http503: map[string]int{flake: 10}} 176 flaky := &killingMux{server: server, http503: map[string]int{flake: 10}}
178 flaky.ts = httptest.NewServer(flaky) 177 flaky.ts = httptest.NewServer(flaky)
179 defer flaky.ts.Close() 178 defer flaky.ts.Close()
180 client := newIsolateServer(nil, flaky.ts.URL, "default-gzip", fastRetry) 179 client := newIsolateServer(nil, flaky.ts.URL, "default-gzip", fastRetry)
181 180
182 digests, contents, expected := makeItems(foo, large) 181 digests, contents, expected := makeItems(foo, large)
183 states, err := client.Contains(digests) 182 states, err := client.Contains(digests)
184 ut.AssertEqual(t, nil, err) 183 ut.AssertEqual(t, nil, err)
185 ut.AssertEqual(t, len(digests), len(states)) 184 ut.AssertEqual(t, len(digests), len(states))
186 for _, state := range states { 185 for _, state := range states {
187 » » err = client.Push(state, bytes.NewReader(contents[state.status.I ndex])) 186 » » err = client.Push(state, NewBytesSource(contents[state.status.In dex]))
188 ut.AssertEqual(t, nil, err) 187 ut.AssertEqual(t, nil, err)
189 } 188 }
190 ut.AssertEqual(t, expected, server.Contents()) 189 ut.AssertEqual(t, expected, server.Contents())
191 states, err = client.Contains(digests) 190 states, err = client.Contains(digests)
192 ut.AssertEqual(t, nil, err) 191 ut.AssertEqual(t, nil, err)
193 ut.AssertEqual(t, len(digests), len(states)) 192 ut.AssertEqual(t, len(digests), len(states))
194 for _, state := range states { 193 for _, state := range states {
195 ut.AssertEqual(t, (*PushState)(nil), state) 194 ut.AssertEqual(t, (*PushState)(nil), state)
196 } 195 }
197 ut.AssertEqual(t, nil, server.Error()) 196 ut.AssertEqual(t, nil, server.Error())
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
232 k.ts.CloseClientConnections() 231 k.ts.CloseClientConnections()
233 return false 232 return false
234 } 233 }
235 return true 234 return true
236 } 235 }
237 if f() { 236 if f() {
238 log.Printf("%-4s %s", req.Method, req.URL.Path) 237 log.Printf("%-4s %s", req.Method, req.URL.Path)
239 k.server.ServeHTTP(w, req) 238 k.server.ServeHTTP(w, req)
240 } 239 }
241 } 240 }
OLDNEW
« client/isolatedclient/isolatedclient.go ('K') | « client/isolatedclient/isolatedclient.go ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698