Skip to content

Commit c90ef04

Browse files
authored
Connatix Bidder Adapter: support GPID (#4134)
1 parent 413779f commit c90ef04

File tree

4 files changed

+37
-2
lines changed

4 files changed

+37
-2
lines changed

src/main/java/org/prebid/server/bidder/connatix/ConnatixBidder.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public class ConnatixBidder implements Bidder<BidRequest> {
5353

5454
private static final String BIDDER_CURRENCY = "USD";
5555
private static final String FORMATTING = "%s-%s";
56+
private static final String GPID_KEY = "gpid";
5657

5758
private final String endpointUrl;
5859
private final JacksonMapper mapper;
@@ -173,6 +174,11 @@ private Imp modifyImp(Imp imp, ExtImpConnatix extImpConnatix, String displayMana
173174
final ObjectNode impExt = mapper.mapper()
174175
.createObjectNode().set("connatix", mapper.mapper().valueToTree(extImpConnatix));
175176

177+
Optional.ofNullable(imp.getExt())
178+
.map(ext -> ext.get(GPID_KEY))
179+
.filter(JsonNode::isTextual)
180+
.ifPresent(gpidNode -> impExt.set(GPID_KEY, gpidNode));
181+
176182
return imp.toBuilder()
177183
.ext(impExt)
178184
.banner(modifyImpBanner(imp.getBanner()))

src/test/java/org/prebid/server/bidder/connatix/ConnatixBidderTest.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,33 @@ public void makeHttpRequestsShouldExcludeDataCenterWhenUserIdIsMissing() {
349349
assertThat(result.getValue()).extracting(HttpRequest::getUri).containsOnly(CONNATIX_ENDPOINT);
350350
}
351351

352+
@Test
353+
public void makeHttpRequestsShouldIncludeGpidWhenPresent() {
354+
// given
355+
final ObjectNode impExt = mapper.createObjectNode();
356+
impExt.set("bidder", mapper.valueToTree(ExtImpConnatix.of("placementId", null)));
357+
impExt.put("gpid", "test-gpid");
358+
359+
final BidRequest bidRequest = givenBidRequest(
360+
UnaryOperator.identity(),
361+
givenImp(impBuilder -> impBuilder.ext(impExt)));
362+
363+
// when
364+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
365+
366+
// then
367+
final ObjectNode expectedExt = mapper.createObjectNode();
368+
expectedExt.set("connatix", mapper.valueToTree(ExtImpConnatix.of("placementId", null)));
369+
expectedExt.put("gpid", "test-gpid");
370+
371+
assertThat(result.getErrors()).isEmpty();
372+
assertThat(result.getValue())
373+
.extracting(HttpRequest::getPayload)
374+
.flatExtracting(BidRequest::getImp)
375+
.extracting(Imp::getExt)
376+
.containsExactly(expectedExt);
377+
}
378+
352379
@Test
353380
public void makeBidsShouldErrorIfResponseBodyCannotBeParsed() {
354381
// given

src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-auction-connatix-request.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
"ext": {
1818
"connatix": {
1919
"placementId": "some-placement-id"
20-
}
20+
},
21+
"gpid": "test-gpid"
2122
}
2223
}
2324
],

src/test/resources/org/prebid/server/it/openrtb2/connatix/test-banner-connatix-bid-request.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
"ext": {
1212
"connatix": {
1313
"placementId": "some-placement-id"
14-
}
14+
},
15+
"gpid": "test-gpid"
1516
}
1617
}
1718
],

0 commit comments

Comments
 (0)