Skip to content

Commit

Permalink
Rubicon: No longer copy FPD fields (#3263)
Browse files Browse the repository at this point in the history
  • Loading branch information
SerhiiNahornyi authored Jun 26, 2024
1 parent c561d6f commit 49e6a7a
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 89 deletions.
25 changes: 0 additions & 25 deletions src/main/java/org/prebid/server/bidder/rubicon/RubiconBidder.java
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,7 @@ public class RubiconBidder implements Bidder<BidRequest> {

private static final String FPD_GPID_FIELD = "gpid";
private static final String FPD_SKADN_FIELD = "skadn";
private static final String FPD_SECTIONCAT_FIELD = "sectioncat";
private static final String FPD_PAGECAT_FIELD = "pagecat";
private static final String FPD_PAGE_FIELD = "page";
private static final String FPD_REF_FIELD = "ref";
private static final String FPD_SEARCH_FIELD = "search";
private static final String FPD_CONTEXT_FIELD = "context";
private static final String FPD_DATA_FIELD = "data";
private static final String FPD_DATA_PBADSLOT_FIELD = "pbadslot";
private static final String FPD_ADSERVER_FIELD = "adserver";
Expand All @@ -157,7 +152,6 @@ public class RubiconBidder implements Bidder<BidRequest> {
private static final String PREBID_EXT = "prebid";

private static final String PPUID_STYPE = "ppuid";
private static final String OTHER_STYPE = "other";
private static final String SHA256EMAIL_STYPE = "sha256email";
private static final String DMP_STYPE = "dmp";
private static final String XAPI_CURRENCY = "USD";
Expand Down Expand Up @@ -728,16 +722,8 @@ private void mergeFirstPartyDataFromSite(Site site, ObjectNode result) {
populateFirstPartyDataAttributes(siteExt.getData(), result);
}

// merge OPENRTB.site.sectioncat to every impression XAPI.imp[].ext.rp.target.sectioncat
mergeCollectionAttributeIntoArray(result, site, Site::getSectioncat, FPD_SECTIONCAT_FIELD);
// merge OPENRTB.site.pagecat to every impression XAPI.imp[].ext.rp.target.pagecat
mergeCollectionAttributeIntoArray(result, site, Site::getPagecat, FPD_PAGECAT_FIELD);
// merge OPENRTB.site.page to every impression XAPI.imp[].ext.rp.target.page
mergeStringAttributeIntoArray(result, site, Site::getPage, FPD_PAGE_FIELD);
// merge OPENRTB.site.ref to every impression XAPI.imp[].ext.rp.target.ref
mergeStringAttributeIntoArray(result, site, Site::getRef, FPD_REF_FIELD);
// merge OPENRTB.site.search to every impression XAPI.imp[].ext.rp.target.search
mergeStringAttributeIntoArray(result, site, Site::getSearch, FPD_SEARCH_FIELD);
}

private void mergeFirstPartyDataFromApp(App app, ObjectNode result) {
Expand All @@ -746,11 +732,6 @@ private void mergeFirstPartyDataFromApp(App app, ObjectNode result) {
if (appExt != null) {
populateFirstPartyDataAttributes(appExt.getData(), result);
}

// merge OPENRTB.app.sectioncat to every impression XAPI.imp[].ext.rp.target.sectioncat
mergeCollectionAttributeIntoArray(result, app, App::getSectioncat, FPD_SECTIONCAT_FIELD);
// merge OPENRTB.app.pagecat to every impression XAPI.imp[].ext.rp.target.pagecat
mergeCollectionAttributeIntoArray(result, app, App::getPagecat, FPD_PAGECAT_FIELD);
}

private void mergeFirstPartyDataFromImp(Imp imp,
Expand All @@ -761,12 +742,6 @@ private void mergeFirstPartyDataFromImp(Imp imp,
mergeFirstPartyDataKeywords(imp, result);
// merge OPENRTB.imp[].ext.rubicon.keywords to XAPI.imp[].ext.rp.target.keywords
mergeCollectionAttributeIntoArray(result, rubiconImpExt, ExtImpRubicon::getKeywords, FPD_KEYWORDS_FIELD);
// merge OPENRTB.imp[].ext.data.search to XAPI.imp[].ext.rp.target.search
mergeStringAttributeIntoArray(
result,
imp.getExt().get(FPD_DATA_FIELD),
node -> getTextValueFromNodeByPath(node, FPD_SEARCH_FIELD),
FPD_SEARCH_FIELD);
}

private void mergeFirstPartyDataFromData(Imp imp, ObjectNode result) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2533,30 +2533,6 @@ public void makeHttpRequestsShouldCopyImpExtVideoLanguageToSiteContentLanguage()
.containsOnly("ua");
}

@Test
public void makeHttpRequestsShouldMergeSiteSearchAndCopyToRubiconImpExtRpTarget()
throws JsonProcessingException {
// given
final BidRequest bidRequest = givenBidRequest(
requestBuilder -> requestBuilder.site(Site.builder().search("site search").build()),
impBuilder -> impBuilder.video(Video.builder().build()),
identity());

// when
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);

// then
assertThat(result.getErrors()).isEmpty();
assertThat(result.getValue())
.extracting(httpRequest -> mapper.readValue(httpRequest.getBody(), BidRequest.class))
.flatExtracting(BidRequest::getImp)
.extracting(Imp::getExt)
.extracting(objectNode -> mapper.convertValue(objectNode, RubiconImpExt.class))
.extracting(RubiconImpExt::getRp)
.extracting(RubiconImpExtRp::getTarget)
.containsOnly(mapper.readTree("{\"search\":[\"site search\"]}"));
}

@Test
public void makeHttpRequestsShouldMergeSiteAttributesAndCopyToRubiconImpExtRpTarget() {
// given
Expand Down Expand Up @@ -2584,16 +2560,7 @@ public void makeHttpRequestsShouldMergeSiteAttributesAndCopyToRubiconImpExtRpTar
.extracting(RubiconImpExt::getRp)
.extracting(RubiconImpExtRp::getTarget)
.containsOnly(mapper.createObjectNode()
.<ObjectNode>set("sectioncat", mapper.createArrayNode()
.add("site sectioncat"))
.<ObjectNode>set("pagecat", mapper.createArrayNode()
.add("site pagecat"))
.<ObjectNode>set("page", mapper.createArrayNode()
.add("site page"))
.<ObjectNode>set("ref", mapper.createArrayNode()
.add("site ref"))
.set("search", mapper.createArrayNode()
.add("site search")));
.<ObjectNode>set("page", mapper.createArrayNode().add("site page")));
}

@Test
Expand Down Expand Up @@ -2647,36 +2614,6 @@ public void makeHttpRequestsShouldOverrideDfpAdunitCodeIfAdslotPresentInImpExtDa
.containsExactly(TextNode.valueOf("adslotvalue"));
}

@Test
public void makeHttpRequestsShouldMergeAppAttributesAndCopyToRubiconImpExtRpTarget() {
// given
final BidRequest bidRequest = givenBidRequest(
requestBuilder -> requestBuilder.app(App.builder()
.sectioncat(singletonList("app sectioncat"))
.pagecat(singletonList("app pagecat"))
.build()),
impBuilder -> impBuilder.video(Video.builder().build()),
identity());

// when
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);

// then
assertThat(result.getErrors()).isEmpty();
assertThat(result.getValue())
.extracting(httpRequest -> mapper.readValue(httpRequest.getBody(), BidRequest.class))
.flatExtracting(BidRequest::getImp)
.extracting(Imp::getExt)
.extracting(objectNode -> mapper.convertValue(objectNode, RubiconImpExt.class))
.extracting(RubiconImpExt::getRp)
.extracting(RubiconImpExtRp::getTarget)
.containsOnly(mapper.createObjectNode()
.<ObjectNode>set("sectioncat", mapper.createArrayNode()
.add("app sectioncat"))
.<ObjectNode>set("pagecat", mapper.createArrayNode()
.add("app pagecat")));
}

@Test
public void makeHttpRequestsShouldCopySiteKeywords() {
// given
Expand Down

0 comments on commit 49e6a7a

Please sign in to comment.