blob: f541f13036e32c2e746fa19c333366ec31caa86d [file] [log] [blame]
import { toParamSet } from 'common-sk/modules/query';
import 'elements-sk/error-toast-sk';
import fetchMock from 'fetch-mock';
import '../../../infra-sk/modules/login-sk';
import { ManualRollRequest, Mode, Status, Strategy } from './arb-status-sk';
import { fakeStatus } from './demo-data';
const params = toParamSet(window.location.search.substring(1));
if (params["status"]?.indexOf("error") >= 0) {
fakeStatus["status"] = "error";
fakeStatus["error"] = "Error message goes here!";
}
fetchMock.get("/dist/arb-status-sk.html/json/status", fakeStatus);
fetchMock.get("/loginstatus/", {
"Email":"user@google.com",
"LoginURL":"https://accounts.google.com/",
"IsAGoogler":true,
});
let manualRollResult = 0;
const manualRollResults = [
"",
"SUCCESS",
"FAILURE",
];
fetchMock.post("/dist/arb-status-sk.html/json/mode",
function(url: string, opts: fetchMock.MockOptions) {
const res = <Mode>JSON.parse(<string><unknown>opts.body);
res["user"] = "you@google.com";
const validMode = fakeStatus["validModes"].indexOf(res.mode);
if (validMode >= 0) {
fakeStatus["mode"] = res;
return fakeStatus;
} else {
return new Response(
"Invalid mode: " + res.mode + "; valid modes: " + fakeStatus["validModes"],
{status: 400});
}
});
fetchMock.post("/dist/arb-status-sk.html/json/strategy",
function(url: string, opts: fetchMock.MockOptions) {
const res = <Strategy>JSON.parse(<string><unknown>opts.body);
res["user"] = "you@google.com";
const validStrategy = fakeStatus["validStrategies"].indexOf(res.strategy);
if (validStrategy >= 0) {
fakeStatus["strategy"] = res;
return fakeStatus;
} else {
return new Response(
"Invalid strategy: " + res.strategy + "; valid strategies: " +
fakeStatus["validStrategies"],
{status: 400});
}
});
fetchMock.post("/dist/arb-status-sk.html/json/unthrottle", {});
fetchMock.post("/dist/arb-status-sk.html/json/manual",
function(url: string, opts: fetchMock.MockOptions) {
const req = <ManualRollRequest>JSON.parse(<string><unknown>opts.body);
req.requester = "you@google.com";
req.result = manualRollResults[manualRollResult++ % manualRollResults.length];
req.rollerName = "skia-autoroll";
req.status = "PENDING";
req.timestamp = "2017-08-28T03:51:10Z";
req.url = req.result == "" ? "" : "https://fake.google.com";
if (!fakeStatus["manualRequests"]) {
fakeStatus["manualRequests"] = [];
}
fakeStatus["manualRequests"].push(req);
return req;
});
import './index.ts';