summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/parakeet/finalizeAd.tentative.https.sub.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/parakeet/finalizeAd.tentative.https.sub.window.js')
-rw-r--r--testing/web-platform/tests/parakeet/finalizeAd.tentative.https.sub.window.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/web-platform/tests/parakeet/finalizeAd.tentative.https.sub.window.js b/testing/web-platform/tests/parakeet/finalizeAd.tentative.https.sub.window.js
new file mode 100644
index 0000000000..e8bf6753f0
--- /dev/null
+++ b/testing/web-platform/tests/parakeet/finalizeAd.tentative.https.sub.window.js
@@ -0,0 +1,39 @@
+// META: script=/resources/testdriver.js
+// META: script=/resources/testdriver-vendor.js
+'use strict';
+
+const okayAuctionRequest = {
+ seller: "https://{{host}}:{{ports[https][0]}}",
+ decisionLogicUrl: "https://{{host}}:{{ports[https][0]}}",
+ perBuyerSignals: {"{{host}}": { randomParam: "value1" }},
+ auctionSignals: "pubCode123",
+ sellerSignals: { someKey: "sellerValue" }
+};
+
+test(() => {
+ assert_not_equals(navigator.finalizeAd, undefined);
+}, "finalizeAd() should be supported on the navigator interface.");
+
+promise_test(async t => {
+ const finalizePromise = navigator.finalizeAd({}, okayAuctionRequest);
+
+ await promise_rejects_js(t, TypeError, finalizePromise);
+}, "finalizeAd() should reject an invalid Ads object.");
+
+promise_test(async t => {
+ const auctionRequest = Object.assign({}, okayAuctionRequest);
+ delete auctionRequest.decisionLogicUrl;
+
+ const finalizePromise = navigator.finalizeAd({}, auctionRequest);
+
+ await promise_rejects_js(t, TypeError, finalizePromise);
+}, "finalizeAd() should reject a missing decisionLogicUrl.");
+
+promise_test(async t => {
+ const auctionRequest = Object.assign({}, okayAuctionRequest);
+ auctionRequest.decisionLogicUrl = "http://{{host}}:{{ports[https][0]}}";
+
+ const finalizePromise = navigator.finalizeAd({}, auctionRequest);
+
+ await promise_rejects_js(t, TypeError, finalizePromise);
+}, "finalizeAd() should reject a non-HTTPS decisionLogicUrl."); \ No newline at end of file