Skip to content

Commit 9b6932b

Browse files
committed
Update bidder to preserve custom imp.ext fields and add vendor id
1 parent 51f7dec commit 9b6932b

7 files changed

Lines changed: 34 additions & 2 deletions

File tree

src/main/java/org/prebid/server/bidder/nexx360/Nexx360Bidder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.prebid.server.bidder.nexx360;
22

33
import com.fasterxml.jackson.core.type.TypeReference;
4+
import com.fasterxml.jackson.databind.node.ObjectNode;
45
import com.iab.openrtb.request.BidRequest;
56
import com.iab.openrtb.request.Imp;
67
import com.iab.openrtb.response.Bid;
@@ -81,7 +82,9 @@ private ExtImpNexx360 parseImpExt(Imp imp) {
8182

8283
private Imp modifyImp(Imp imp) {
8384
return imp.toBuilder()
84-
.ext(mapper.mapper().createObjectNode().set(BIDDER_NAME, imp.getExt().get("bidder")))
85+
.ext(imp.getExt().deepCopy()
86+
.<ObjectNode>without("bidder")
87+
.set(BIDDER_NAME, imp.getExt().get("bidder")))
8588
.build();
8689
}
8790

src/main/resources/bidder-config/nexx360.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ adapters:
1919
- native
2020
- audio
2121
supported-vendors:
22-
vendor-id: 0
22+
vendor-id: 965

src/test/java/org/prebid/server/bidder/nexx360/Nexx360BidderTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.math.BigDecimal;
2929
import java.util.Arrays;
3030
import java.util.List;
31+
import java.util.Map;
3132
import java.util.function.UnaryOperator;
3233

3334
import static java.util.Collections.singletonList;
@@ -133,6 +134,30 @@ public void makeHttpRequestsShouldModifyImpExt() {
133134
.containsExactly(expectedExt1, expectedExt2);
134135
}
135136

137+
@Test
138+
public void makeHttpRequestsShouldPreserveCustomFieldsInImpExt() {
139+
// given
140+
final BidRequest bidRequest = givenBidRequest(
141+
imp -> imp.id("imp1").ext(mapper.valueToTree(
142+
Map.of("bidder", ExtImpNexx360.of("tag1", "p1"),
143+
"customField", "customValue"))));
144+
145+
// when
146+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
147+
148+
// then
149+
final ObjectNode expectedExt = mapper.valueToTree(
150+
Map.of("nexx360", ExtImpNexx360.of("tag1", "p1"),
151+
"customField", "customValue"));
152+
153+
assertThat(result.getErrors()).isEmpty();
154+
assertThat(result.getValue()).hasSize(1)
155+
.extracting(HttpRequest::getPayload)
156+
.flatExtracting(BidRequest::getImp)
157+
.extracting(Imp::getExt)
158+
.containsExactly(expectedExt);
159+
}
160+
136161
@Test
137162
public void makeHttpRequestsShouldModifyRequestExt() {
138163
// given

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
},
1010
"secure": 1,
1111
"ext": {
12+
"tid": "${json-unit.any-string}",
1213
"nexx360": {
1314
"placement": "placement"
1415
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
},
1010
"secure": 1,
1111
"ext": {
12+
"tid": "${json-unit.any-string}",
1213
"nexx360": {
1314
"placement": "placement"
1415
}

src/test/resources/org/prebid/server/it/openrtb2/oneaccord/test-1accord-bid-request.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
},
1010
"secure": 1,
1111
"ext": {
12+
"tid": "${json-unit.any-string}",
1213
"nexx360": {
1314
"placement": "placement"
1415
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
},
1010
"secure": 1,
1111
"ext": {
12+
"tid": "${json-unit.any-string}",
1213
"nexx360": {
1314
"placement": "placement"
1415
}

0 commit comments

Comments
 (0)