blob: 05451c2c00716166c0b93562ac2a78ffb6d577dc [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Skia Status Demo (n=16)</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<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 vars called data0, data1, data2 ... -->
<script type="text/javascript" src="status-sk-demo-0.json"></script>
<script type="text/javascript" src="status-sk-demo-1.json"></script>
<script type="text/javascript" src="status-sk-demo-2.json"></script>
<script type="text/javascript" src="status-sk-demo-3.json"></script>
<script type="text/javascript" src="status-sk-demo-4.json"></script>
<script type="text/javascript" src="status-sk-demo-5.json"></script>
<script type="text/javascript" src="status-sk-demo-6.json"></script>
<script type="text/javascript" src="status-sk-demo-7.json"></script>
<script type="text/javascript" src="status-sk-demo-8.json"></script>
<script type="text/javascript" src="status-sk-demo-9.json"></script>
<script type="text/javascript" src="status-sk-demo-10.json"></script>
<!-- Makes a var called alerts-->
<script type="text/javascript" src="alert-widget-demo.json"></script>
<script type="text/javascript" charset="utf-8">
// Mock out the current time.
var clock = sinon.useFakeTimers(1505324460000, "Date");
var server = sinon.fakeServer.create();
server.autoRespond = true;
var data = [data0, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10];
var inc = 0
server.respondWith("GET", /\/json\/.*\/incremental.*/, function(request){
rv = data[inc % data.length];
inc++
return request.respond(200, {}, JSON.stringify(rv));
});
var login = {"Email":"test@google.com","IsAdmin":true,"IsEditor":true,"IsViewer":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 gold = { corpStatus: [
{name: "svg", untriagedCount: 47, negativeCount:949 },
{name: "colorImage", untriagedCount: 17, negativeCount:449 },
{name: "gm", untriagedCount: 27, negativeCount:649 },
{name: "image", untriagedCount: 61, negativeCount:9 }
]};
server.respondWith("GET","https://gold.skia.org/json/trstatus", JSON.stringify(gold));
var perf = {"alerts":1};
server.respondWith("GET","https://perf.skia.org/_/alerts/", JSON.stringify(perf));
server.respondWith("POST", "https://task-scheduler.skia.org/json/trigger", JSON.stringify(["id1", "id2"]));
// Mocked external requests
server.respondWith("GET","https://autoroll.skia.org/json/ministatus", JSON.stringify({
currentRollRev: "932efed7c89c69616e283fdfef65e86b9d9da381",
lastRollRev: "7c36e5afd2ce43d22182249ffd0f046716c7ef55",
mode: "running",
numFailed: 1,
numBehind: 3,
}));
server.respondWith("GET","https://android-master-roll.skia.org/json/ministatus", JSON.stringify({
currentRollRev: "",
lastRollRev: "932efed7c89c69616e283fdfef65e86b9d9da381",
mode: "running",
numFailed: 0,
numBehind: 0,
}));
server.respondWith("GET","https://google3-roll.skia.org/json/ministatus", JSON.stringify({
currentRollRev: "ee1c73fc1b8a616ac79572759b02435698171fbf",
lastRollRev: "138ea97c1acaed4b968540220724dd5bf671e8db",
mode: "running",
numFailed: 3,
numBehind: 25,
}));
var alertsCalls = 0;
// Send one alert, then after one request, no alerts.
server.respondWith("GET","https://alerts.skia.org/json/alerts/?excludeCategory=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 cautionMessage = {"username": "alice@google.com", "date": "2016-02-27 16:01:28.174970", "message": "Be careful", "can_commit_freely": false, "general_state": "caution"};
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 caution,
// then after the second 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));
}
if (statusCalls === 1) {
statusCalls++;
return request.respond(200, {}, JSON.stringify(cautionMessage));
}
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">
<style>
body {
overflow: hidden;
}
</style>
</head>
<body>
<status-sk
repo="skia"
repo_base="https://skia.googlesource.com/skia/+/">
</status-sk>
</body>
</html>