summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fledge/tentative/send-report-to.https.sub.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/fledge/tentative/send-report-to.https.sub.window.js')
-rw-r--r--testing/web-platform/tests/fledge/tentative/send-report-to.https.sub.window.js163
1 files changed, 163 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fledge/tentative/send-report-to.https.sub.window.js b/testing/web-platform/tests/fledge/tentative/send-report-to.https.sub.window.js
new file mode 100644
index 0000000000..de22e827a3
--- /dev/null
+++ b/testing/web-platform/tests/fledge/tentative/send-report-to.https.sub.window.js
@@ -0,0 +1,163 @@
+// META: script=/resources/testdriver.js
+// META: script=/common/utils.js
+// META: script=resources/fledge-util.js
+// META: timeout=long
+
+"use strict;"
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ `sendReportTo('${createSellerReportUrl(uuid)}');`,
+ // reportWin:
+ 'sellerSignals === null',
+ `sendReportTo('${createBidderReportUrl(uuid)}');`,
+ [createSellerReportUrl(uuid), createBidderReportUrl(uuid)]
+ );
+}, 'Both send reports, seller passes nothing to bidder.');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ `sendReportTo('${createSellerReportUrl(uuid)}');`,
+ // reportWin:
+ null,
+ '',
+ // expectedReportUrls:
+ [createSellerReportUrl(uuid)]
+ );
+}, 'Only seller sends a report');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ `sendReportTo('${createSellerReportUrl(uuid)}');`,
+ // reportWin:
+ null,
+ 'throw new Error("Very serious exception")',
+ // expectedReportUrls:
+ [createSellerReportUrl(uuid)]
+ );
+}, 'Only seller sends a report, bidder throws an exception');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ `sendReportTo('${createSellerReportUrl(uuid)}');`,
+ // reportWin:
+ null,
+ null,
+ // expectedReportUrls:
+ [createSellerReportUrl(uuid)]
+ );
+}, 'Only seller sends a report, bidder has no reportWin() method');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ '',
+ // reportWin:
+ 'sellerSignals === null',
+ `sendReportTo('${createBidderReportUrl(uuid)}');`,
+ // expectedReportUrls:
+ [createBidderReportUrl(uuid)]
+ );
+}, 'Only bidder sends a report');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ 'return "foo";',
+ // reportWin:
+ 'sellerSignals === "foo"',
+ `sendReportTo('${createBidderReportUrl(uuid)}');`,
+ // expectedReportUrls:
+ [createBidderReportUrl(uuid)]
+ );
+}, 'Only bidder sends a report, seller passes a message to bidder');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ 'throw new Error("Very serious exception")',
+ // reportWin:
+ 'sellerSignals === null',
+ `sendReportTo('${createBidderReportUrl(uuid)}');`,
+ // expectedReportUrls:
+ [createBidderReportUrl(uuid)]
+ );
+}, 'Only bidder sends a report, seller throws an exception');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ null,
+ // reportWin:
+ 'sellerSignals === null',
+ `sendReportTo('${createBidderReportUrl(uuid)}');`,
+ // expectedReportUrls:
+ [createBidderReportUrl(uuid)]
+ );
+}, 'Only bidder sends a report, seller has no reportResult() method');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ `sendReportTo('${createSellerReportUrl(uuid)}');
+ sendReportTo('${createSellerReportUrl(uuid)}');
+ return 5;`,
+ // reportWin:
+ 'sellerSignals === null',
+ `sendReportTo('${createBidderReportUrl(uuid)}');`,
+ // expectedReportUrls:
+ [createBidderReportUrl(uuid)]
+ );
+}, 'Seller calls sendReportTo() twice, which throws an exception.');
+
+promise_test(async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ // reportResult:
+ null,
+ `sendReportTo('${createSellerReportUrl(uuid)}');`,
+ // reportWin:
+ null,
+ `sendReportTo('${createBidderReportUrl(uuid)}');
+ sendReportTo('${createBidderReportUrl(uuid)}');`,
+ // expectedReportUrls:
+ [createSellerReportUrl(uuid)]
+ );
+ // Seller reports may be sent before bidder reports, since reportWin()
+ // takes output from reportResult() as input. Wait to make sure the
+ // bidder report URL really is not being requested.
+ await new Promise(resolve => test.step_timeout(resolve, 200));
+ await waitForObservedRequests(uuid, [createSellerReportUrl(uuid)]);
+}, 'Bidder calls sendReportTo() twice, which throws an exception.');