| OLD | NEW |
| 1 <!-- | 1 <!-- |
| 2 Copyright 2017 The LUCI Authors. All rights reserved. | 2 Copyright 2017 The LUCI Authors. All rights reserved. |
| 3 Use of this source code is governed under the Apache License, Version 2.0 | 3 Use of this source code is governed under the Apache License, Version 2.0 |
| 4 that can be found in the LICENSE file. | 4 that can be found in the LICENSE file. |
| 5 --> | 5 --> |
| 6 | 6 |
| 7 <!doctype html> | 7 <!doctype html> |
| 8 <html lang="en"> | 8 <html lang="en"> |
| 9 <head> | 9 <head> |
| 10 <meta charset="utf-8"> | 10 <meta charset="utf-8"> |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 setup(function() { | 265 setup(function() { |
| 266 server = sinon.fakeServer.create(); | 266 server = sinon.fakeServer.create(); |
| 267 config_set = fixture('valid-project-with-config-files'); | 267 config_set = fixture('valid-project-with-config-files'); |
| 268 ajax = Polymer.dom(config_set.root).querySelector('#requestConfigs'); | 268 ajax = Polymer.dom(config_set.root).querySelector('#requestConfigs'); |
| 269 }); | 269 }); |
| 270 | 270 |
| 271 teardown(function() { | 271 teardown(function() { |
| 272 server.restore(); | 272 server.restore(); |
| 273 }); | 273 }); |
| 274 | 274 |
| 275 test('displays error if fetch failed due to error 403', function (done)
{ | 275 function setserver(errorNumber) { |
| 276 param = { | 276 param = { |
| 277 error: { | 277 error: { |
| 278 code: 403, | 278 code: errorNumber, |
| 279 message: "Error 403" | 279 message: "Error " + errorNumber.toString() |
| 280 } | 280 } |
| 281 } | 281 }; |
| 282 server.respondWith( | 282 server.respondWith( |
| 283 'GET', | 283 'GET', |
| 284 /\/_ah\/api\/config\/v1\/config-sets\?config_set=([a-z\-]+)\/([a-z\-
]+)&include_files=true&include_last_import_attempt=true/, | 284 /\/_ah\/api\/config\/v1\/config-sets\?config_set=([a-z\-]+)\/([a-z\-
]+)&include_files=true&include_last_import_attempt=true/, |
| 285 [ | 285 [ |
| 286 403, | 286 errorNumber, |
| 287 responseHeaders.json, | 287 responseHeaders.json, |
| 288 JSON.stringify(param) | 288 JSON.stringify(param) |
| 289 ] | 289 ] |
| 290 ); | 290 ); |
| 291 } |
| 292 |
| 293 test('displays error if fetch failed due to error 403 when not signed in
', function (done) { |
| 294 setserver(403); |
| 291 request = ajax.generateRequest(); | 295 request = ajax.generateRequest(); |
| 292 server.respond(); | 296 server.respond(); |
| 293 assert.equal(request.status, 403); | 297 assert.equal(request.status, 403); |
| 294 config_set.addEventListener('fetchError', function() { | 298 config_set.addEventListener('fetchError', function() { |
| 295 assert.equal(config_set.isLoading, false); | 299 assert.equal(config_set.isLoading, false); |
| 296 assert.equal(config_set.errorMessage, "Authorization required to vie
w this config set." + | 300 assert.equal(config_set.errorMessage, "Access denied, please sign in
."); |
| 297 " Please sign in."); | 301 done(); |
| 302 }.bind(config_set)); |
| 303 }); |
| 304 |
| 305 test('displays error if fetch failed due to error 403 when signed in', f
unction (done) { |
| 306 setserver(403); |
| 307 config_set.auth_headers = {}; |
| 308 config_set.profile = { |
| 309 email: "some_email@google.com" |
| 310 }; |
| 311 request = ajax.generateRequest(); |
| 312 server.respond(); |
| 313 assert.equal(request.status, 403); |
| 314 config_set.addEventListener('fetchError', function() { |
| 315 assert.equal(config_set.isLoading, false); |
| 316 assert.equal(config_set.errorMessage, "Access denied, some_email@goo
gle.com" + |
| 317 " is not authorized to access this config set." + |
| 318 " Request access or sign in as a different user."); |
| 298 done(); | 319 done(); |
| 299 }.bind(config_set)); | 320 }.bind(config_set)); |
| 300 }); | 321 }); |
| 301 | 322 |
| 302 test('displays error if fetch failed due to error 500', function (done)
{ | 323 test('displays error if fetch failed due to error 500', function (done)
{ |
| 303 param = { | 324 setserver(500); |
| 304 error: { | |
| 305 code: 500, | |
| 306 message: "Error 500" | |
| 307 } | |
| 308 } | |
| 309 server.respondWith( | |
| 310 'GET', | |
| 311 /\/_ah\/api\/config\/v1\/config-sets\?config_set=([a-z\-]+)\/([a-z\-
]+)&include_files=true&include_last_import_attempt=true/, | |
| 312 [ | |
| 313 500, | |
| 314 responseHeaders.json, | |
| 315 JSON.stringify(param) | |
| 316 ] | |
| 317 ); | |
| 318 request = ajax.generateRequest(); | 325 request = ajax.generateRequest(); |
| 319 server.respond(); | 326 server.respond(); |
| 320 assert.equal(request.status, 500); | 327 assert.equal(request.status, 500); |
| 321 config_set.addEventListener('fetchError', function() { | 328 config_set.addEventListener('fetchError', function() { |
| 322 assert.equal(config_set.isLoading, false); | 329 assert.equal(config_set.isLoading, false); |
| 323 assert.equal(config_set.errorMessage, "Internal server error."); | 330 assert.equal(config_set.errorMessage, "Internal server error."); |
| 324 done(); | 331 done(); |
| 325 }.bind(config_set)); | 332 }.bind(config_set)); |
| 326 }); | 333 }); |
| 327 | 334 |
| 328 }); | 335 }); |
| 329 | 336 |
| 330 </script> | 337 </script> |
| 331 </body> | 338 </body> |
| 332 </html> | 339 </html> |
| OLD | NEW |