| <!DOCTYPE html> |
| <html> |
| |
| <head> |
| <title>Skia Infra Status Demo</title> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes"> |
| <script src="/res/js/status_utils.js"></script> |
| <script src="/res/common/js/common.js"></script> |
| <script src="/res/imp/bower_components/webcomponentsjs/webcomponents-lite.js"></script> |
| <script src="/res/imp/sinon-1.17.2.js"></script> |
| <!-- Makes a var called data--> |
| <script type="text/javascript" src="status-infra-demo.json"></script> |
| <!-- Makes a var called autoroll--> |
| <script type="text/javascript" src="autoroll-widget-demo.json"></script> |
| <!-- Makes a var called alerts--> |
| <script type="text/javascript" src="alert-widget-demo.json"></script> |
| <script type="text/javascript" charset="utf-8"> |
| // sinon.format = function(object) {return JSON.stringify(object);} |
| // sinon.log = function(message) {console.log(message);}; |
| var server = sinon.fakeServer.create(); |
| server.autoRespond = true; |
| |
| // Mocked requests to Status. |
| |
| server.respondWith("GET", "/json/infra/commits/?n=35", JSON.stringify(data)); |
| |
| var login = {"Email":"test@google.com","LoginURL":"http://www.example.com","IsAGoogler":true}; |
| server.respondWith("GET","/loginstatus/", JSON.stringify(login)); |
| |
| var version = {"commit":"3e0fcf9b99baf4256851a6767bc6955266fc2369","date":"2016-02-19T13:57:18-05:00"}; |
| server.respondWith("GET","/json/version", JSON.stringify(version)); |
| |
| var perf = {"alerts":1}; |
| server.respondWith("GET","/json/perfAlerts", JSON.stringify(perf)); |
| |
| |
| // Mocked external requests |
| server.respondWith("GET","https://autoroll.skia.org/json/status", JSON.stringify(autoroll)); |
| |
| var alertsCalls = 0; |
| // Send one alert, then after one request, no alerts. |
| server.respondWith("GET","https://alerts.skia.org/json/alerts/?category=infra",function(request){ |
| if (alertsCalls === 0) { |
| alertsCalls++; |
| return request.respond(200, {}, JSON.stringify(alerts)); |
| } |
| return request.respond(200, {}, "[]"); |
| }); |
| |
| var openMessage = {"username": "alice@google.com", "date": "2016-02-26 13:01:28.174970", "message": "Skynet quelled, now open", "can_commit_freely": true, "general_state": "open"}; |
| var closedMessage = {"username": "alice@google.com", "date": "2016-02-28 01:01:28.174970", "message": "Closed for master restart", "can_commit_freely": false, "general_state": "closed"}; |
| var statusCalls = 0; |
| |
| // Say the tree is open, then after one request, it is closed. |
| server.respondWith("GET","https://skia-tree-status.appspot.com/banner-status?format=json", function(request){ |
| if (statusCalls === 0) { |
| statusCalls++; |
| return request.respond(200, {}, JSON.stringify(openMessage)); |
| } |
| return request.respond(200, {}, JSON.stringify(closedMessage)); |
| }); |
| |
| var bob = {"username": "bob@google.com", "schedule_start": "02/29", "schedule_end": "03/06"}; |
| server.respondWith("GET","https://skia-tree-status.appspot.com/current-sheriff?format=json", JSON.stringify(bob)); |
| |
| var carol = {"username": "carol@google.com", "schedule_start": "02/29", "schedule_end": "03/06"}; |
| server.respondWith("GET","https://skia-tree-status.appspot.com/current-gpu-sheriff?format=json", JSON.stringify(carol)); |
| |
| var denae = {"username": "denae@google.com", "schedule_start": "02/29", "schedule_end": "03/06"}; |
| server.respondWith("GET","https://skia-tree-status.appspot.com/current-trooper?format=json", JSON.stringify(denae)); |
| |
| var elise = {"username": "elise@google.com", "schedule_start": "02/29", "schedule_end": "03/06"}; |
| server.respondWith("GET","https://skia-tree-status.appspot.com/current-robocop?format=json", JSON.stringify(elise)); |
| |
| </script> |
| |
| <link rel="import" href="status-sk.html"> |
| </head> |
| |
| <body> |
| <status-sk |
| repo="infra" |
| repo_base="https://skia.googlesource.com/buildbot/+/"> |
| </status-sk> |
| </body> |
| </html> |