61 lines
2.2 KiB
HTML
61 lines
2.2 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>Datadome Puzzle Detection Test</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" href="/tests/SimpleTest/test.css" />
|
|
<script src="/tests/SimpleTest/GleanTest.js"></script>
|
|
<script src="CaptchaTestingUtils.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="display"></p>
|
|
<div id="content" style="display: none"></div>
|
|
<pre id="test"></pre>
|
|
|
|
<script>
|
|
function simulateMessage(message) {
|
|
info("Simulating message: " + JSON.stringify(message));
|
|
return new Promise(resolve => {
|
|
const iframe = document.createElement("iframe");
|
|
iframe.onload = resolve;
|
|
iframe.src =
|
|
"datadome.html?message=" +
|
|
encodeURIComponent(JSON.stringify(message));
|
|
document.body.appendChild(iframe);
|
|
});
|
|
}
|
|
|
|
add_task(async function () {
|
|
await GleanTest.testResetFOG();
|
|
|
|
const psMetricSet = CaptchaTestingUtils.waitForMetricSet();
|
|
await simulateMessage({ eventType: "load", responseType: "captcha" });
|
|
await psMetricSet;
|
|
const puzzleShownCount =
|
|
await GleanTest.captchaDetection.datadomePs.testGetValue();
|
|
is(puzzleShownCount, 1, "The puzzle shown count should be 1");
|
|
|
|
const blMetricSet = CaptchaTestingUtils.waitForMetricSet();
|
|
await simulateMessage({ eventType: "load", responseType: "hardblock" });
|
|
await blMetricSet;
|
|
const hardBlockCount =
|
|
await GleanTest.captchaDetection.datadomeBl.testGetValue();
|
|
is(hardBlockCount, 1, "The block count should be 1");
|
|
|
|
const pcMetricSet = CaptchaTestingUtils.waitForMetricSet();
|
|
await simulateMessage({ eventType: "passed" });
|
|
await pcMetricSet;
|
|
const puzzleCompletedCount =
|
|
await GleanTest.captchaDetection.datadomePc.testGetValue();
|
|
is(puzzleCompletedCount, 1, "The puzzle completed count should be 1");
|
|
|
|
const occurredCount =
|
|
await GleanTest.captchaDetection.datadomeOc.testGetValue();
|
|
is(occurredCount, 3, "We should have detected the occurrence");
|
|
|
|
await CaptchaTestingUtils.clearPrefs();
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|