forked from web-platform-tests/wpt
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add WPTs for auctionReportBuyersDebugModeConfig, fix crash identified
Adds Web Platform Tests for the feature that allows debug mode to be specified for auctionReportBuyers reporting. Also fixes a crash identified by these tests. When an auctionReportBuyersDebugModeConfig is provided and enabled is false, but a debugKey is still provided, a TypeError is correctly thrown. The auction should also fail at that point, but before this change that did not occur. Instead, a CHECK was later hit. Bug: 41485586, 327247098 Change-Id: Ia843011ff1dd74a5e4ba48002f5bea1b77d074d0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5328953 Reviewed-by: Qingxin Wu <[email protected]> Commit-Queue: Alex Turner <[email protected]> Cr-Commit-Position: refs/heads/main@{#1267083}
- Loading branch information
1 parent
90ec003
commit 6156550
Showing
1 changed file
with
158 additions
and
0 deletions.
There are no files selected for viewing
158 changes: 158 additions & 0 deletions
158
private-aggregation/protected-audience-auction-report-buyers-debug-mode-surface.https.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
<!doctype html> | ||
<meta name=timeout content=long> | ||
<script src="/resources/testharness.js"></script> | ||
<script src="/resources/testharnessreport.js"></script> | ||
<script src="/common/utils.js"></script> | ||
<script src="resources/protected-audience-helper-module.js"></script> | ||
|
||
<body> | ||
<script> | ||
'use strict'; | ||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await runReportTest( | ||
test, uuid, {reportResult: `sendReportTo('${createWritingURL(uuid)}');`}, | ||
/*expectedNumReports=*/ 1, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}} | ||
} | ||
}); | ||
}, 'auctionReportBuyerDebugModeConfig missing'); | ||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await runReportTest( | ||
test, uuid, {reportResult: `sendReportTo('${createWritingURL(uuid)}');`}, | ||
/*expectedNumReports=*/ 1, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}}, | ||
auctionReportBuyerDebugModeConfig: {enabled: true} | ||
} | ||
}); | ||
}, 'auctionReportBuyerDebugModeConfig with enabled true'); | ||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await runReportTest( | ||
test, uuid, {reportResult: `sendReportTo('${createWritingURL(uuid)}');`}, | ||
/*expectedNumReports=*/ 1, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}}, | ||
auctionReportBuyerDebugModeConfig: {enabled: true, debugKey: 1234n} | ||
} | ||
}); | ||
}, 'auctionReportBuyerDebugModeConfig with enabled true and debug key'); | ||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await runReportTest( | ||
test, uuid, {reportResult: `sendReportTo('${createWritingURL(uuid)}');`}, | ||
/*expectedNumReports=*/ 1, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}}, | ||
auctionReportBuyerDebugModeConfig: {enabled: false} | ||
} | ||
}); | ||
}, 'auctionReportBuyerDebugModeConfig with enabled false'); | ||
|
||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await runReportTest( | ||
test, uuid, {reportResult: `sendReportTo('${createWritingURL(uuid)}');`}, | ||
/*expectedNumReports=*/ 1, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}}, | ||
auctionReportBuyerDebugModeConfig: {} | ||
} | ||
}); | ||
}, 'auctionReportBuyerDebugModeConfig empty'); | ||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await promise_rejects_js( | ||
test, TypeError, | ||
runReportTest( | ||
test, uuid, {}, | ||
/*expectedNumReports=*/ 0, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}}, | ||
auctionReportBuyerDebugModeConfig: {enabled: true, debugKey: -1n} | ||
} | ||
})); | ||
}, 'auctionReportBuyerDebugModeConfig with negative debug key'); | ||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await promise_rejects_js( | ||
test, TypeError, | ||
runReportTest( | ||
test, uuid, {}, | ||
/*expectedNumReports=*/ 0, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}}, | ||
auctionReportBuyerDebugModeConfig: | ||
{enabled: true, debugKey: 1n << 64n} | ||
} | ||
})); | ||
}, 'auctionReportBuyerDebugModeConfig with too large debug key'); | ||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await promise_rejects_js( | ||
test, TypeError, | ||
runReportTest( | ||
test, uuid, {}, | ||
/*expectedNumReports=*/ 0, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}}, | ||
auctionReportBuyerDebugModeConfig: | ||
{enabled: false, debugKey: 1234n} | ||
} | ||
})); | ||
}, 'auctionReportBuyerDebugModeConfig with debug key and enabled false'); | ||
|
||
promise_test(async test => { | ||
const uuid = generateUuid(); | ||
|
||
await promise_rejects_js( | ||
test, TypeError, | ||
runReportTest( | ||
test, uuid, {}, | ||
/*expectedNumReports=*/ 0, | ||
/*overrides=*/ { | ||
runAdAuction: { | ||
auctionReportBuyerKeys: [100n], | ||
auctionReportBuyers: {interestGroupCount: {bucket: 0n, scale: 1}}, | ||
auctionReportBuyerDebugModeConfig: 123 | ||
} | ||
})); | ||
}, 'auctionReportBuyerDebugModeConfig not a dictionary'); | ||
|
||
</script> | ||
</body> |