From 88a6901da16a42473f394b1a417336bf1dc929ea Mon Sep 17 00:00:00 2001 From: Karim Mourra Date: Tue, 12 Aug 2025 17:30:52 -0300 Subject: [PATCH 1/2] includes gpid --- .../org/prebid/server/bidder/connatix/ConnatixBidder.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/org/prebid/server/bidder/connatix/ConnatixBidder.java b/src/main/java/org/prebid/server/bidder/connatix/ConnatixBidder.java index f6adfff4867..b319b04c932 100644 --- a/src/main/java/org/prebid/server/bidder/connatix/ConnatixBidder.java +++ b/src/main/java/org/prebid/server/bidder/connatix/ConnatixBidder.java @@ -53,6 +53,7 @@ public class ConnatixBidder implements Bidder { private static final String BIDDER_CURRENCY = "USD"; private static final String FORMATTING = "%s-%s"; + private static final String GPID_KEY = "gpid"; private final String endpointUrl; private final JacksonMapper mapper; @@ -173,6 +174,11 @@ private Imp modifyImp(Imp imp, ExtImpConnatix extImpConnatix, String displayMana final ObjectNode impExt = mapper.mapper() .createObjectNode().set("connatix", mapper.mapper().valueToTree(extImpConnatix)); + Optional.ofNullable(imp.getExt()) + .map(ext -> ext.get(GPID_KEY)) + .filter(JsonNode::isTextual) + .ifPresent(gpidNode -> impExt.set(GPID_KEY, gpidNode)); + return imp.toBuilder() .ext(impExt) .banner(modifyImpBanner(imp.getBanner())) From e5ebe8daa32629341f2a6508e064220db1bebe6d Mon Sep 17 00:00:00 2001 From: Karim Mourra Date: Tue, 12 Aug 2025 17:50:15 -0300 Subject: [PATCH 2/2] adds test --- .../bidder/connatix/ConnatixBidderTest.java | 27 +++++++++++++++++++ .../test-banner-auction-connatix-request.json | 3 ++- .../test-banner-connatix-bid-request.json | 3 ++- 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/prebid/server/bidder/connatix/ConnatixBidderTest.java b/src/test/java/org/prebid/server/bidder/connatix/ConnatixBidderTest.java index 4440063c436..f24dec142fb 100644 --- a/src/test/java/org/prebid/server/bidder/connatix/ConnatixBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/connatix/ConnatixBidderTest.java @@ -349,6 +349,33 @@ public void makeHttpRequestsShouldExcludeDataCenterWhenUserIdIsMissing() { assertThat(result.getValue()).extracting(HttpRequest::getUri).containsOnly(CONNATIX_ENDPOINT); } + @Test + public void makeHttpRequestsShouldIncludeGpidWhenPresent() { + // given + final ObjectNode impExt = mapper.createObjectNode(); + impExt.set("bidder", mapper.valueToTree(ExtImpConnatix.of("placementId", null))); + impExt.put("gpid", "test-gpid"); + + final BidRequest bidRequest = givenBidRequest( + UnaryOperator.identity(), + givenImp(impBuilder -> impBuilder.ext(impExt))); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + final ObjectNode expectedExt = mapper.createObjectNode(); + expectedExt.set("connatix", mapper.valueToTree(ExtImpConnatix.of("placementId", null))); + expectedExt.put("gpid", "test-gpid"); + + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()) + .extracting(HttpRequest::getPayload) + .flatExtracting(BidRequest::getImp) + .extracting(Imp::getExt) + .containsExactly(expectedExt); + } + @Test public void makeBidsShouldErrorIfResponseBodyCannotBeParsed() { // given diff --git a/src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-auction-connatix-request.json b/src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-auction-connatix-request.json index 22d8754250d..e828461db45 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-auction-connatix-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-auction-connatix-request.json @@ -17,7 +17,8 @@ "ext": { "connatix": { "placementId": "some-placement-id" - } + }, + "gpid": "test-gpid" } } ], diff --git a/src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-connatix-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-connatix-bid-request.json index 616934ea2c5..c9007f58508 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-connatix-bid-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-connatix-bid-request.json @@ -11,7 +11,8 @@ "ext": { "connatix": { "placementId": "some-placement-id" - } + }, + "gpid": "test-gpid" } } ],