| OLD | NEW |
| (Empty) |
| 1 <!-- | |
| 2 Copyright 2016 The LUCI Authors. All rights reserved. | |
| 3 Use of this source code is governed under the Apache License, Version 2.0 | |
| 4 that can be found in the LICENSE file. | |
| 5 | |
| 6 --> | |
| 7 <!DOCTYPE html> | |
| 8 <html> | |
| 9 <head> | |
| 10 <title>task-page Demo</title> | |
| 11 <meta charset="utf-8"> | |
| 12 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | |
| 13 <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-
scale=1, user-scalable=yes"> | |
| 14 <script src="../bower_components/webcomponentsjs/webcomponents-lite.js"></scri
pt> | |
| 15 <script src="../../../node_modules/skia-common-js/common.js"></script> | |
| 16 <script src="/res/js/common.js"></script> | |
| 17 <script src="/res/js/alias.js"></script> | |
| 18 <script src="../../../node_modules/sinon/pkg/sinon-1.17.5.js"></script> | |
| 19 <!-- Makes a var called requests. It's an array of things that could be retur
ned--> | |
| 20 <script type="text/javascript" src="task-request-demo.json"></script> | |
| 21 <!-- Makes a var called results. It's an array of things that could be return
ed--> | |
| 22 <script type="text/javascript" src="task-result-demo.json"></script> | |
| 23 <!-- Makes a var called stdouts. It's an array of things that could be return
ed--> | |
| 24 <script type="text/javascript" src="task-stdout-demo.json"></script> | |
| 25 <!-- Makes a var called newResponse. It is an object.--> | |
| 26 <script type="text/javascript" src="new-task-demo.json"></script> | |
| 27 | |
| 28 <script type="text/javascript" charset="utf-8"> | |
| 29 sinon.format = function(object) {return JSON.stringify(object);} | |
| 30 sinon.log = function(message) {console.log(message);}; | |
| 31 var server = sinon.fakeServer.create(); | |
| 32 server.autoRespond = true; | |
| 33 server.autoRespondAfter = 700; | |
| 34 | |
| 35 var genResponse = function(arr) { | |
| 36 return function(request){ | |
| 37 if (!request.requestHeaders.authorization) { | |
| 38 sinon.log("You must be logged in (check your Oauth?)"); | |
| 39 request.respond(403, {}, "You must be logged in (check your Oauth?)"); | |
| 40 return; | |
| 41 } | |
| 42 sinon.log("User authenticated :) "+ request.requestHeaders.authorization
); | |
| 43 sinon.log("Bot Request: "+sinon.format(request)); | |
| 44 // If the user changes bot id, show them some of the other sample data. | |
| 45 var idx = request.url.indexOf("f00"); | |
| 46 var item = 0; | |
| 47 if (idx !=-1) { | |
| 48 var name = request.url.substring(idx+1, idx+4); | |
| 49 item = parseInt(name) || 0; | |
| 50 name = Math.max(name - 1, 0); | |
| 51 name = Math.min(name, arr.length-1); | |
| 52 } | |
| 53 | |
| 54 request.respond(200, {"Content-Type":"application/json"}, JSON.stringify
(arr[name])); | |
| 55 } | |
| 56 } | |
| 57 | |
| 58 | |
| 59 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/task\/abcdef\d+\/reque
st.*/, genResponse(requests)); | |
| 60 server.respondWith("GET", /^\/api\/swarming\/v1\/task\/abcdef\d+\/request.*/
, genResponse(requests)); | |
| 61 | |
| 62 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/task\/abcdef\d+\/resul
t.*/, genResponse(results)); | |
| 63 server.respondWith("GET", /^\/api\/swarming\/v1\/task\/abcdef\d+\/result.*/,
genResponse(results)); | |
| 64 | |
| 65 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/task\/abcdef\d+\/stdou
t.*/, genResponse(stdouts)); | |
| 66 server.respondWith("GET", /^\/api\/swarming\/v1\/task\/abcdef\d+\/stdout.*/,
genResponse(stdouts)); | |
| 67 | |
| 68 var permissions = { | |
| 69 cancel_task: true, | |
| 70 }; | |
| 71 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/server\/permissions/,
JSON.stringify(permissions)); | |
| 72 server.respondWith("GET", /^\/api\/swarming\/v1\/server\/permissions/, JSON.
stringify(permissions)); | |
| 73 | |
| 74 var details = { | |
| 75 server_version: "1234-deadbeef", | |
| 76 display_server_url_template: "/res/imp/taskpage/milo-sample.html?id=%s&foo
=bar", | |
| 77 }; | |
| 78 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/server\/details/, JSON
.stringify(details)); | |
| 79 server.respondWith("GET", /^\/api\/swarming\/v1\/server\/details/, JSON.stri
ngify(details)); | |
| 80 | |
| 81 var cancel = function(request) { | |
| 82 console.log("Cancelling", request); | |
| 83 if (!request.requestHeaders.authorization) { | |
| 84 sinon.log("You must be logged in (check your Oauth?)"); | |
| 85 request.respond(403, {}, "You must be logged in (check your Oauth?)"); | |
| 86 return; | |
| 87 } | |
| 88 request.respond(200, {}, "Task has been cancelled"); | |
| 89 } | |
| 90 | |
| 91 server.respondWith("POST", /^\/_ah\/api\/swarming\/v1\/task\/.+\/cancel/, ca
ncel); | |
| 92 server.respondWith("POST", /^\/api\/swarming\/v1\/task\/.+\/cancel/, cancel)
; | |
| 93 | |
| 94 var newTask = function(request) { | |
| 95 console.log("retry requested"); | |
| 96 request.respond(200, {"Content-Type":"application/json"}, JSON.stringify(n
ewResponse)); | |
| 97 } | |
| 98 | |
| 99 server.respondWith("POST", /^\/_ah\/api\/swarming\/v1\/tasks\/new/, newTask)
; | |
| 100 server.respondWith("POST", /^\/api\/swarming\/v1\/tasks\/new/, newTask); | |
| 101 </script> | |
| 102 | |
| 103 <link rel="import" href="task-page.html"> | |
| 104 </head> | |
| 105 <body> | |
| 106 | |
| 107 <task-page | |
| 108 task_id="abcdef001" | |
| 109 client_id="20770472288-t5smpbpjptka4nd888fv0ctd23ftba2o.apps.googleusercontent
.com"> | |
| 110 </task-page> | |
| 111 | |
| 112 </body> | |
| 113 </html> | |
| OLD | NEW |