summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fledge/tentative/register-ad-beacon.https.window.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/fledge/tentative/register-ad-beacon.https.window.js
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/fledge/tentative/register-ad-beacon.https.window.js')
-rw-r--r--testing/web-platform/tests/fledge/tentative/register-ad-beacon.https.window.js307
1 files changed, 307 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fledge/tentative/register-ad-beacon.https.window.js b/testing/web-platform/tests/fledge/tentative/register-ad-beacon.https.window.js
new file mode 100644
index 0000000000..19fab2ac1b
--- /dev/null
+++ b/testing/web-platform/tests/fledge/tentative/register-ad-beacon.https.window.js
@@ -0,0 +1,307 @@
+// META: script=/resources/testdriver.js
+// META: script=/common/utils.js
+// META: script=resources/fledge-util.sub.js
+// META: script=/common/subset-tests.js
+// META: timeout=long
+// META: variant=?1-5
+// META: variant=?6-10
+// META: variant=?11-last
+
+"use strict;"
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ `registerAdBeacon({beacon: '${createSellerBeaconURL(uuid)}'});`,
+ reportWin:
+ '' },
+ // expectedReportUrls:
+ [`${createSellerBeaconURL(uuid)}, body: `],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "",
+ destination: ["seller"]
+ });`)
+ );
+}, 'Seller calls registerAdBeacon().');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ '',
+ reportWin:
+ `registerAdBeacon({beacon: '${createBidderBeaconURL(uuid)}'});`
+ },
+ // expectedReportUrls:
+ [`${createBidderBeaconURL(uuid)}, body: `],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "",
+ destination: ["buyer"]
+ });`)
+ );
+}, 'Buyer calls registerAdBeacon().');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ `registerAdBeacon({beacon: '${createSellerBeaconURL(uuid)}'});`,
+ reportWin:
+ '' },
+ // expectedReportUrls:
+ [`${createSellerBeaconURL(uuid)}, body: body`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body",
+ destination: ["seller"]
+ });`)
+ );
+}, 'Seller calls registerAdBeacon(), beacon sent with body.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ '',
+ reportWin:
+ `registerAdBeacon({beacon: '${createBidderBeaconURL(uuid)}'});` },
+ // expectedReportUrls:
+ [`${createBidderBeaconURL(uuid)}, body: body`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body",
+ destination: ["buyer"]
+ });`)
+ );
+}, 'Buyer calls registerAdBeacon(), beacon sent with body.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ `registerAdBeacon({beacon: '${createSellerBeaconURL(uuid)}'});`,
+ reportWin:
+ '' },
+ // expectedReportUrls:
+ [`${createSellerBeaconURL(uuid)}, body: body1`,
+ `${createSellerBeaconURL(uuid)}, body: body2`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body1",
+ destination: ["seller"]
+ });
+ window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body2",
+ destination: ["seller"]
+ });`)
+ );
+}, 'Seller calls registerAdBeacon(). reportEvent() called twice.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ '',
+ reportWin:
+ `registerAdBeacon({beacon: '${createBidderBeaconURL(uuid)}'});` },
+ // expectedReportUrls:
+ [`${createBidderBeaconURL(uuid)}, body: body1`,
+ `${createBidderBeaconURL(uuid)}, body: body2`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body1",
+ destination: ["buyer"]
+ });
+ window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body2",
+ destination: ["buyer"]
+ });`)
+ );
+}, 'Buyer calls registerAdBeacon(). reportEvent() called twice.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ `registerAdBeacon({beacon1: '${createSellerBeaconURL(uuid, '1')}',
+ beacon2: '${createSellerBeaconURL(uuid, '2')}'});`,
+ reportWin:
+ '' },
+ // expectedReportUrls:
+ [`${createSellerBeaconURL(uuid, '1')}, body: body1`,
+ `${createSellerBeaconURL(uuid, '2')}, body: body2`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon1",
+ eventData: "body1",
+ destination: ["seller"]
+ });
+ window.fence.reportEvent({
+ eventType: "beacon2",
+ eventData: "body2",
+ destination: ["seller"]
+ });`)
+ );
+}, 'Seller calls registerAdBeacon() with multiple beacons.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ '',
+ reportWin:
+ `registerAdBeacon({beacon1: '${createBidderBeaconURL(uuid, '1')}',
+ beacon2: '${createBidderBeaconURL(uuid, '2')}'});`
+ },
+ // expectedReportUrls:
+ [`${createBidderBeaconURL(uuid, '1')}, body: body1`,
+ `${createBidderBeaconURL(uuid, '2')}, body: body2`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon1",
+ eventData: "body1",
+ destination: ["buyer"]
+ });
+ window.fence.reportEvent({
+ eventType: "beacon2",
+ eventData: "body2",
+ destination: ["buyer"]
+ });`)
+ );
+}, 'Buyer calls registerAdBeacon() with multiple beacons.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ `registerAdBeacon({beacon: '${createSellerBeaconURL(uuid)}'});`,
+ reportWin:
+ `registerAdBeacon({beacon: '${createBidderBeaconURL(uuid)}'});` },
+ // expectedReportUrls:
+ [`${createSellerBeaconURL(uuid)}, body: body`,
+ `${createBidderBeaconURL(uuid)}, body: body`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body",
+ destination: ["seller","buyer"]
+ });`)
+ );
+}, 'Seller and buyer call registerAdBeacon() with shared reportEvent() call.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ `registerAdBeacon({beacon: '${createSellerBeaconURL(uuid)}'});`,
+ reportWin:
+ `registerAdBeacon({beacon: '${createBidderBeaconURL(uuid)}'});` },
+ // expectedReportUrls:
+ [`${createSellerBeaconURL(uuid)}, body: body1`,
+ `${createBidderBeaconURL(uuid)}, body: body2`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body1",
+ destination: ["seller"]
+ });
+ window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body2",
+ destination: ["buyer"]
+ });`)
+ );
+}, 'Seller and buyer call registerAdBeacon() with separate reportEvent() calls.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ // Multiple registerAdBeacon() call should result in an exception,
+ // throwing away all beacons and other types of reports.
+ `sendReportTo('${createSellerReportURL(uuid)}');
+ registerAdBeacon({beacon: '${createSellerBeaconURL(uuid)}'});
+ registerAdBeacon({beacon1: '${createSellerBeaconURL(uuid)}'});`,
+ reportWinSuccessCondition:
+ 'sellerSignals === null',
+ reportWin:
+ `registerAdBeacon({beacon: '${createBidderBeaconURL(uuid)}'});` },
+ // expectedReportUrls:
+ [`${createBidderBeaconURL(uuid)}, body: body`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body",
+ destination: ["seller","buyer"]
+ });`)
+ );
+}, 'Seller calls registerAdBeacon() multiple times.');
+
+subsetTest(promise_test, async test => {
+ const uuid = generateUuid(test);
+ await runReportTest(
+ test, uuid,
+ { reportResult:
+ `registerAdBeacon({beacon: '${createSellerBeaconURL(uuid)}'});`,
+ reportWin:
+ // Multiple registerAdBeacon() call should result in an exception,
+ // throwing away all beacons and other types of reports.
+ `sendReportTo('${createBidderReportURL(uuid)}');
+ registerAdBeacon({beacon: '${createBidderBeaconURL(uuid)}'});
+ registerAdBeacon({beacon1: '${createBidderBeaconURL(uuid)}'});` },
+ // expectedReportUrls:
+ [`${createSellerBeaconURL(uuid)}, body: body`],
+ // renderUrlOverride:
+ createRenderURL(
+ uuid,
+ `window.fence.reportEvent({
+ eventType: "beacon",
+ eventData: "body",
+ destination: ["seller","buyer"]
+ });`)
+ );
+}, 'Buyer calls registerAdBeacon() multiple times.');