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

Side by Side Diff: appengine/swarming/elements/res/imp/taskpage/task-page-demo.html

Issue 2337363003: Create boilerplate for task-page (Closed) Base URL: git@github.com:luci/luci-py@refactor-task
Patch Set: rebase Created 4 years, 3 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 <!-- 1 <!--
2 Copyright 2016 The LUCI Authors. All rights reserved. 2 Copyright 2016 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> 8 <html>
9 <head> 9 <head>
10 <title>bot-page Demo</title> 10 <title>task-page Demo</title>
11 <meta charset="utf-8"> 11 <meta charset="utf-8">
12 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 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"> 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> 14 <script src="../bower_components/webcomponentsjs/webcomponents-lite.js"></scri pt>
15 <script src="../../../node_modules/skia-common-js/common.js"></script> 15 <script src="../../../node_modules/skia-common-js/common.js"></script>
16 <script src="/res/js/common.js"></script> 16 <script src="/res/js/common.js"></script>
17 <script src="/res/js/alias.js"></script> 17 <script src="/res/js/alias.js"></script>
18 <script src="../../../node_modules/sinon/pkg/sinon-1.17.5.js"></script> 18 <script src="../../../node_modules/sinon/pkg/sinon-1.17.5.js"></script>
19 <!-- Makes a var called bots. It's an array of things that could be returned- -> 19 <!-- Makes a var called requests. It's an array of things that could be retur ned-->
20 <script type="text/javascript" src="bot-demo.json"></script> 20 <script type="text/javascript" src="task-request-demo.json"></script>
21 <!-- Makes a var called events. It's an array of things that could be returne d--> 21 <!-- Makes a var called results. It's an array of things that could be return ed-->
22 <script type="text/javascript" src="bot-events-demo.json"></script> 22 <script type="text/javascript" src="task-result-demo.json"></script>
23 <!-- Makes a var called tasks. It's an array of things that could be returned --> 23 <!-- Makes a var called stdouts. It's an array of things that could be return ed-->
24 <script type="text/javascript" src="bot-tasks-demo.json"></script> 24 <script type="text/javascript" src="task-stdout-demo.json"></script>
25 25
26 <script type="text/javascript" charset="utf-8"> 26 <script type="text/javascript" charset="utf-8">
27 sinon.format = function(object) {return JSON.stringify(object);} 27 sinon.format = function(object) {return JSON.stringify(object);}
28 sinon.log = function(message) {console.log(message);}; 28 sinon.log = function(message) {console.log(message);};
29 var server = sinon.fakeServer.create(); 29 var server = sinon.fakeServer.create();
30 server.autoRespond = true; 30 server.autoRespond = true;
31 server.autoRespondAfter = 1000; 31 server.autoRespondAfter = 700;
32 32
33 var genResponse = function(arr) { 33 var genResponse = function(arr) {
34 return function(request){ 34 return function(request){
35 if (!request.requestHeaders.authorization) { 35 if (!request.requestHeaders.authorization) {
36 sinon.log("You must be logged in (check your Oauth?)"); 36 sinon.log("You must be logged in (check your Oauth?)");
37 request.respond(403, {}, "You must be logged in (check your Oauth?)"); 37 request.respond(403, {}, "You must be logged in (check your Oauth?)");
38 return; 38 return;
39 } 39 }
40 sinon.log("User authenticated :) "+ request.requestHeaders.authorization ); 40 sinon.log("User authenticated :) "+ request.requestHeaders.authorization );
41 sinon.log("Bot Request: "+sinon.format(request)); 41 sinon.log("Bot Request: "+sinon.format(request));
42 // If the user changes bot id, show them some of the other sample data. 42 // If the user changes bot id, show them some of the other sample data.
43 var idx = request.url.indexOf("-00"); 43 var idx = request.url.indexOf("f00");
44 var item = 0; 44 var item = 0;
45 if (idx !=-1) { 45 if (idx !=-1) {
46 var name = request.url.substring(idx+1, idx+4); 46 var name = request.url.substring(idx+1, idx+4);
47 item = parseInt(name) || 0; 47 item = parseInt(name) || 0;
48 name = Math.max(name - 1, 0); 48 name = Math.max(name - 1, 0);
49 name = Math.min(name, arr.length-1); 49 name = Math.min(name, arr.length-1);
50 } 50 }
51 51
52
53 request.respond(200, {"Content-Type":"application/json"}, JSON.stringify (arr[name])); 52 request.respond(200, {"Content-Type":"application/json"}, JSON.stringify (arr[name]));
54 } 53 }
55 } 54 }
56 55
57 56
58 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/bot\/test-bot-\d+\/get .*/, genResponse(bots)); 57 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/task\/abcdef\d+\/reque st.*/, genResponse(requests));
59 server.respondWith("GET", /^\/api\/swarming\/v1\/bot\/test-bot-\d+\/get.*/, genResponse(bots)); 58 server.respondWith("GET", /^\/api\/swarming\/v1\/task\/abcdef\d+\/request.*/ , genResponse(requests));
60 59
61 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/bot\/test-bot-\d+\/eve nts.*/, genResponse(events)); 60 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/task\/abcdef\d+\/resul t.*/, genResponse(results));
62 server.respondWith("GET", /^\/api\/swarming\/v1\/bot\/test-bot-\d+\/events.* /, genResponse(events)); 61 server.respondWith("GET", /^\/api\/swarming\/v1\/task\/abcdef\d+\/result.*/, genResponse(results));
63 62
64 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/bot\/test-bot-\d+\/tas ks.*/, genResponse(tasks)); 63 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/task\/abcdef\d+\/stdou t.*/, genResponse(stdouts));
65 server.respondWith("GET", /^\/api\/swarming\/v1\/bot\/test-bot-\d+\/tasks.*/ , genResponse(tasks)); 64 server.respondWith("GET", /^\/api\/swarming\/v1\/task\/abcdef\d+\/stdout.*/, genResponse(stdouts));
66 65
67 var permissions = { 66 var permissions = {
68 cancel_task: true, 67 cancel_task: true,
69 delete_bot: true,
70 terminate_bot: true,
71 }; 68 };
72 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/server\/permissions/, JSON.stringify(permissions)); 69 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/server\/permissions/, JSON.stringify(permissions));
73 server.respondWith("GET", /^\/api\/swarming\/v1\/server\/permissions/, JSON. stringify(permissions)); 70 server.respondWith("GET", /^\/api\/swarming\/v1\/server\/permissions/, JSON. stringify(permissions));
74 71
75 var details = { 72 var details = {
76 server_version: "1234-deadbeef", 73 server_version: "1234-deadbeef",
77 }; 74 };
78 server.respondWith("GET", /^\/_ah\/api\/swarming\/v1\/server\/details/, JSON .stringify(details)); 75 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)); 76 server.respondWith("GET", /^\/api\/swarming\/v1\/server\/details/, JSON.stri ngify(details));
80
81 var deleteRequest = function(request) {
82 console.log("Deleting", 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, {}, "Bot has been deleted.");
89 }
90
91 server.respondWith("POST", /^\/_ah\/api\/swarming\/v1\/bot\/.+\/delete/, del eteRequest);
92 server.respondWith("POST", /^\/api\/swarming\/v1\/bot\/.+\/delete/, deleteRe quest);
93
94 var terminateRequest = function(request) {
95 console.log("Terminating", request);
96 if (!request.requestHeaders.authorization) {
97 sinon.log("You must be logged in (check your Oauth?)");
98 request.respond(403, {}, "You must be logged in (check your Oauth?)");
99 return;
100 }
101 request.respond(200, {}, "Bot has been terminated.");
102 }
103
104 server.respondWith("POST", /^\/_ah\/api\/swarming\/v1\/bot\/.+\/terminate/, terminateRequest);
105 server.respondWith("POST", /^\/api\/swarming\/v1\/bot\/.+\/terminate/, termi nateRequest);
106 </script> 77 </script>
107 78
108 <link rel="import" href="bot-page.html"> 79 <link rel="import" href="task-page.html">
109 </head> 80 </head>
110 <body> 81 <body>
111 82
112 <bot-page 83 <task-page
113 bot_id="test-bot-001" 84 task_id="abcdef001"
114 client_id="20770472288-t5smpbpjptka4nd888fv0ctd23ftba2o.apps.googleusercontent .com"> 85 client_id="20770472288-t5smpbpjptka4nd888fv0ctd23ftba2o.apps.googleusercontent .com"
115 </bot-page> 86 milo_prefix="/res/imp/taskpage/milo-sample.html?">
87 </task-page>
116 88
117 </body> 89 </body>
118 </html> 90 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698