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 b319b04c932..aef2abcaf61 100644 --- a/src/main/java/org/prebid/server/bidder/connatix/ConnatixBidder.java +++ b/src/main/java/org/prebid/server/bidder/connatix/ConnatixBidder.java @@ -171,13 +171,12 @@ private ExtImpConnatix parseExtImp(Imp imp) { private Imp modifyImp(Imp imp, ExtImpConnatix extImpConnatix, String displayManagerVer, BidRequest request) { final Price bidFloorPrice = resolveBidFloor(imp, request); - final ObjectNode impExt = mapper.mapper() - .createObjectNode().set("connatix", mapper.mapper().valueToTree(extImpConnatix)); + final ObjectNode impExt = imp.getExt() != null + ? imp.getExt().deepCopy() + : mapper.mapper().createObjectNode(); - Optional.ofNullable(imp.getExt()) - .map(ext -> ext.get(GPID_KEY)) - .filter(JsonNode::isTextual) - .ifPresent(gpidNode -> impExt.set(GPID_KEY, gpidNode)); + impExt.remove("bidder"); + impExt.set("connatix", mapper.mapper().valueToTree(extImpConnatix)); return imp.toBuilder() .ext(impExt) 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 f24dec142fb..01fb0c58930 100644 --- a/src/test/java/org/prebid/server/bidder/connatix/ConnatixBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/connatix/ConnatixBidderTest.java @@ -350,11 +350,12 @@ public void makeHttpRequestsShouldExcludeDataCenterWhenUserIdIsMissing() { } @Test - public void makeHttpRequestsShouldIncludeGpidWhenPresent() { + public void makeHttpRequestsShouldIncludeEntireImpExt() { // given final ObjectNode impExt = mapper.createObjectNode(); impExt.set("bidder", mapper.valueToTree(ExtImpConnatix.of("placementId", null))); impExt.put("gpid", "test-gpid"); + impExt.put("random", "test-random"); final BidRequest bidRequest = givenBidRequest( UnaryOperator.identity(), @@ -367,6 +368,7 @@ public void makeHttpRequestsShouldIncludeGpidWhenPresent() { final ObjectNode expectedExt = mapper.createObjectNode(); expectedExt.set("connatix", mapper.valueToTree(ExtImpConnatix.of("placementId", null))); expectedExt.put("gpid", "test-gpid"); + expectedExt.put("random", "test-random"); assertThat(result.getErrors()).isEmpty(); assertThat(result.getValue()) 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 c9007f58508..206373719fb 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 @@ -12,6 +12,7 @@ "connatix": { "placementId": "some-placement-id" }, + "tid": "${json-unit.any-string}", "gpid": "test-gpid" } }