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(