From 83f4318c1ea854a68d4e8b54c716a856c9680019 Mon Sep 17 00:00:00 2001 From: Andre Gielow Date: Thu, 29 May 2025 13:21:41 -0400 Subject: [PATCH 1/2] Add ttd/thetradedesk alias --- src/main/resources/bidder-config/thetradedesk.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/bidder-config/thetradedesk.yaml b/src/main/resources/bidder-config/thetradedesk.yaml index b71a0e38cc2..e8b9976e786 100644 --- a/src/main/resources/bidder-config/thetradedesk.yaml +++ b/src/main/resources/bidder-config/thetradedesk.yaml @@ -1,6 +1,8 @@ adapters: thetradedesk: endpoint: https://direct.adsrvr.org/bid/bidder/{{SupplyId}} + aliases: + ttd: ~ meta-info: maintainer-email: Prebid-Maintainers@thetradedesk.com app-media-types: From 09b5bad178c2268d51ddc75ed3469fa76ee8f75d Mon Sep 17 00:00:00 2001 From: Andre Gielow Date: Thu, 3 Jul 2025 18:36:31 -0400 Subject: [PATCH 2/2] arg-ttd-exception-for-malformed-endpoint --- .../bidder/thetradedesk/TheTradeDeskBidder.java | 5 +++++ .../thetradedesk/TheTradeDeskBidderTest.java | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/org/prebid/server/bidder/thetradedesk/TheTradeDeskBidder.java b/src/main/java/org/prebid/server/bidder/thetradedesk/TheTradeDeskBidder.java index 99f5eda1ec2..e047a077599 100644 --- a/src/main/java/org/prebid/server/bidder/thetradedesk/TheTradeDeskBidder.java +++ b/src/main/java/org/prebid/server/bidder/thetradedesk/TheTradeDeskBidder.java @@ -89,6 +89,11 @@ public Result>> makeHttpRequests(BidRequest request } } + if (StringUtils.isBlank(sourceSupplyId) && StringUtils.isBlank(supplyId)) { + return Result.withError( + BidderError.badInput("Either supplySourceId or a default endpoint must be provided")); + } + final BidRequest outgoingRequest = modifyRequest(request, modifiedImps, publisherId); final HttpRequest httpRequest = BidderUtil.defaultRequest( outgoingRequest, diff --git a/src/test/java/org/prebid/server/bidder/thetradedesk/TheTradeDeskBidderTest.java b/src/test/java/org/prebid/server/bidder/thetradedesk/TheTradeDeskBidderTest.java index 021bca5617a..a292ac6d385 100644 --- a/src/test/java/org/prebid/server/bidder/thetradedesk/TheTradeDeskBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/thetradedesk/TheTradeDeskBidderTest.java @@ -186,6 +186,21 @@ public void makeHttpRequestsShouldReturnErrorWhenImpExtCouldNotBeParsed() { assertThat(result.getValue()).isEmpty(); } + @Test + public void makeHttpRequestsShouldReturnErrorWhenBothSupplySourceIdAndSupplyIdAreNull() { + final TheTradeDeskBidder bidderWithNullSupplyId = new TheTradeDeskBidder(ENDPOINT_URL, jacksonMapper, null); + final BidRequest bidRequest = givenBidRequest( + identity(), + imp -> imp.ext(impExt("publisher", null))); + + final Result>> result = bidderWithNullSupplyId.makeHttpRequests(bidRequest); + + assertThat(result.getErrors()).hasSize(1); + assertThat(result.getErrors().getFirst().getMessage()) + .isEqualTo("Either supplySourceId or a default endpoint must be provided"); + assertThat(result.getValue()).isEmpty(); + } + @Test public void makeHttpRequestsShouldReturnSiteWithExtImpPublisherWhenSiteAndAppArePresent() { final BidRequest bidRequest = givenBidRequest(