Skip to content

Commit eab8a7d

Browse files
committed
Fix comments
1 parent 4d1124c commit eab8a7d

File tree

2 files changed

+131
-67
lines changed

2 files changed

+131
-67
lines changed

src/main/java/org/prebid/server/bidder/adnuntius/AdnuntiusBidder.java

Lines changed: 35 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ public AdnuntiusBidder(String endpointUrl,
9393
JacksonMapper mapper) {
9494

9595
this.endpointUrl = HttpUtil.validateUrl(Objects.requireNonNull(endpointUrl));
96-
this.euEndpoint = HttpUtil.validateUrl(Objects.requireNonNull(euEndpoint));
96+
this.euEndpoint = euEndpoint == null ? null : HttpUtil.validateUrl(euEndpoint);
9797
this.clock = Objects.requireNonNull(clock);
9898
this.mapper = Objects.requireNonNull(mapper);
9999
}
@@ -247,8 +247,36 @@ private List<HttpRequest<AdnuntiusRequest>> createHttpRequests(
247247
return adnuntiusRequests;
248248
}
249249

250-
private static String targetIdForBids(String auId, String impId) {
251-
return "%s-%s".formatted(auId, impId);
250+
private String makeEndpoint(BidRequest bidRequest, Boolean noCookies) {
251+
try {
252+
final String gdpr = extractGdpr(bidRequest.getRegs());
253+
final String url = StringUtils.isNotBlank(gdpr) ? euEndpoint : endpointUrl;
254+
255+
if (url == null) {
256+
throw new PreBidException("an EU endpoint is required but invalid");
257+
}
258+
259+
final URIBuilder uriBuilder = new URIBuilder(url)
260+
.addParameter("format", "prebidServer")
261+
.addParameter("tzo", getTimeZoneOffset());
262+
263+
if (StringUtils.isNotEmpty(gdpr)) {
264+
uriBuilder.addParameter("gdpr", gdpr);
265+
}
266+
267+
final String consent = extractConsent(bidRequest.getUser());
268+
if (StringUtils.isNotEmpty(consent)) {
269+
uriBuilder.addParameter("consentString", consent);
270+
}
271+
272+
if (noCookies || extractNoCookies(bidRequest.getDevice())) {
273+
uriBuilder.addParameter("noCookies", "true");
274+
}
275+
276+
return uriBuilder.build().toString();
277+
} catch (URISyntaxException | IllegalArgumentException e) {
278+
throw new PreBidException(e.getMessage());
279+
}
252280
}
253281

254282
private String getTimeZoneOffset() {
@@ -364,34 +392,6 @@ private static Map<String, AdnuntiusAdUnit> parseAdUnits(AdnuntiusResponse adnun
364392
return targetIdToAdsUnit;
365393
}
366394

367-
private String makeEndpoint(BidRequest bidRequest, Boolean noCookies) {
368-
try {
369-
final String gdpr = extractGdpr(bidRequest.getRegs());
370-
final String url = StringUtils.isEmpty(gdpr) ? endpointUrl : euEndpoint;
371-
372-
final URIBuilder uriBuilder = new URIBuilder(url)
373-
.addParameter("format", "prebidServer")
374-
.addParameter("tzo", getTimeZoneOffset());
375-
376-
if (StringUtils.isNotEmpty(gdpr)) {
377-
uriBuilder.addParameter("gdpr", gdpr);
378-
}
379-
380-
final String consent = extractConsent(bidRequest.getUser());
381-
if (StringUtils.isNotEmpty(consent)) {
382-
uriBuilder.addParameter("consentString", consent);
383-
}
384-
385-
if (noCookies || extractNoCookies(bidRequest.getDevice())) {
386-
uriBuilder.addParameter("noCookies", "true");
387-
}
388-
389-
return uriBuilder.build().toString();
390-
} catch (URISyntaxException | IllegalArgumentException e) {
391-
throw new PreBidException(e.getMessage());
392-
}
393-
}
394-
395395
private List<BidderBid> extractBids(BidRequest bidRequest, AdnuntiusResponse adnuntiusResponse) {
396396
if (adnuntiusResponse == null || CollectionUtils.isEmpty(adnuntiusResponse.getAdUnits())) {
397397
return Collections.emptyList();
@@ -463,6 +463,10 @@ private static String extractTargetId(String targetId) {
463463
return targetId == null ? null : targetId.split(":")[0];
464464
}
465465

466+
private static String targetIdForBids(String auId, String impId) {
467+
return "%s-%s".formatted(auId, impId);
468+
}
469+
466470
private Bid createBid(AdnuntiusAd ad, BidRequest bidRequest, String adm, String impId, String bidType, int mtype) {
467471
final String adId = ad.getAdId();
468472
final AdnuntiusBidExt bidExt = prepareBidExt(ad, bidRequest);

src/test/java/org/prebid/server/bidder/adnuntius/AdnuntiusBidderTest.java

Lines changed: 96 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
public class AdnuntiusBidderTest extends VertxTest {
6666

6767
private static final String ENDPOINT_URL = "https://test.domain.dm/uri";
68-
private static final String EU_ENDPOINT_URL = "https://alternative.domain.dm/uri";
68+
private static final String ALTERNATIVE_URL = "https://alternative.domain.dm/uri";
6969

7070
private AdnuntiusBidder target;
7171

@@ -74,7 +74,7 @@ public void setUp() {
7474
final Clock clock = Clock.system(ZoneId.of("UTC+05:00"));
7575
target = new AdnuntiusBidder(
7676
ENDPOINT_URL,
77-
EU_ENDPOINT_URL,
77+
null,
7878
clock,
7979
jacksonMapper);
8080
}
@@ -568,30 +568,6 @@ public void makeHttpRequestsShouldReturnRequestsWithCorrectUriIfConsentIsAbsent(
568568
assertThat(result.getErrors()).isEmpty();
569569
}
570570

571-
@Test
572-
public void makeHttpRequestsShouldReturnRequestsWithCorrectUri() {
573-
// given
574-
final Integer gdpr = 1;
575-
final String consent = "con sent";
576-
final BidRequest bidRequest = givenBidRequest(
577-
request -> request
578-
.regs(Regs.builder().ext(ExtRegs.of(gdpr, null, null, null)).build())
579-
.user(User.builder().ext(ExtUser.builder().consent(consent).build()).build()),
580-
givenBannerImp(identity()),
581-
givenBannerImp(ExtImpAdnuntius.builder().network("network").build(), identity()));
582-
583-
// when
584-
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
585-
586-
// then
587-
final String expectedUrl = givenExpectedUrl(EU_ENDPOINT_URL, gdpr, consent);
588-
589-
assertThat(result.getValue())
590-
.extracting(HttpRequest::getUri)
591-
.containsExactly(expectedUrl, expectedUrl);
592-
assertThat(result.getErrors()).isEmpty();
593-
}
594-
595571
@Test
596572
public void makeHttpRequestsShouldReturnRequestsWithCorrectUriIfExtImpNoCookiesIsNull() {
597573
// given
@@ -716,8 +692,14 @@ public void makeHttpRequestsShouldReturnRequestsWithCorrectUriIfExtDeviceImpNoCo
716692
}
717693

718694
@Test
719-
public void makeHttpRequestsShouldReturnRequestsWithBasicUriIfGdprAndConsentAreAbsent() {
695+
public void makeHttpRequestsShouldReturnRequestsWithBasicUriIfGdprAndConsentAreAbsentWhenAlternativeUriProvided() {
720696
// given
697+
target = new AdnuntiusBidder(
698+
ENDPOINT_URL,
699+
ALTERNATIVE_URL,
700+
Clock.system(ZoneId.of("UTC+05:00")),
701+
jacksonMapper);
702+
721703
final BidRequest bidRequest = givenBidRequest(
722704
request -> request
723705
.regs(Regs.builder().ext(ExtRegs.of(null, null, null, null)).build())
@@ -738,8 +720,14 @@ public void makeHttpRequestsShouldReturnRequestsWithBasicUriIfGdprAndConsentAreA
738720
}
739721

740722
@Test
741-
public void makeHttpRequestsShouldReturnRequestsWithBasicUriIfGdprIsAbsent() {
723+
public void makeHttpRequestsShouldReturnRequestsWithBasicUriIfGdprIsAbsentWhenAlternativeUriProvided() {
742724
// given
725+
target = new AdnuntiusBidder(
726+
ENDPOINT_URL,
727+
ALTERNATIVE_URL,
728+
Clock.system(ZoneId.of("UTC+05:00")),
729+
jacksonMapper);
730+
743731
final BidRequest bidRequest = givenBidRequest(
744732
request -> request
745733
.regs(Regs.builder().ext(ExtRegs.of(null, null, null, null)).build())
@@ -762,6 +750,12 @@ public void makeHttpRequestsShouldReturnRequestsWithBasicUriIfGdprIsAbsent() {
762750
@Test
763751
public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfConsentIsAbsentAndGdprIsPresent() {
764752
// given
753+
target = new AdnuntiusBidder(
754+
ENDPOINT_URL,
755+
ALTERNATIVE_URL,
756+
Clock.system(ZoneId.of("UTC+05:00")),
757+
jacksonMapper);
758+
765759
final BidRequest bidRequest = givenBidRequest(
766760
request -> request
767761
.regs(Regs.builder().ext(ExtRegs.of(1, null, null, null)).build())
@@ -773,17 +767,47 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfConsentIsAbs
773767
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
774768

775769
// then
776-
final String expectedUrl = buildExpectedUrl(EU_ENDPOINT_URL, 1, null, null);
770+
final String expectedUrl = buildExpectedUrl(ALTERNATIVE_URL, 1, null, null);
777771

778772
assertThat(result.getValue())
779773
.extracting(HttpRequest::getUri)
780774
.containsExactly(expectedUrl, expectedUrl);
781775
assertThat(result.getErrors()).isEmpty();
782776
}
783777

778+
@Test
779+
public void makeHttpRequestsShouldFailWhenGdprIsPresentAndAlternativeUriIsNotProvided() {
780+
// given
781+
target = new AdnuntiusBidder(
782+
ENDPOINT_URL,
783+
null,
784+
Clock.system(ZoneId.of("UTC+05:00")),
785+
jacksonMapper);
786+
787+
final BidRequest bidRequest = givenBidRequest(
788+
request -> request
789+
.regs(Regs.builder().ext(ExtRegs.of(1, null, null, null)).build())
790+
.user(User.builder().ext(ExtUser.builder().consent(null).build()).build()),
791+
givenBannerImp(identity()),
792+
givenBannerImp(ExtImpAdnuntius.builder().network("network").build(), identity()));
793+
794+
// when
795+
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
796+
797+
// then
798+
assertThat(result.getErrors()).containsExactly(BidderError.badInput("an EU endpoint is required but invalid"));
799+
assertThat(result.getValue()).isEmpty();
800+
}
801+
784802
@Test
785803
public void makeHttpRequestsShouldReturnRequestsWithAlternativeUri() {
786804
// given
805+
target = new AdnuntiusBidder(
806+
ENDPOINT_URL,
807+
ALTERNATIVE_URL,
808+
Clock.system(ZoneId.of("UTC+05:00")),
809+
jacksonMapper);
810+
787811
final Integer gdpr = 1;
788812
final String consent = "con sent";
789813
final BidRequest bidRequest = givenBidRequest(
@@ -797,7 +821,7 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUri() {
797821
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
798822

799823
// then
800-
final String expectedUrl = givenExpectedUrl(EU_ENDPOINT_URL, gdpr, consent);
824+
final String expectedUrl = givenExpectedUrl(ALTERNATIVE_URL, gdpr, consent);
801825

802826
assertThat(result.getValue())
803827
.extracting(HttpRequest::getUri)
@@ -808,6 +832,12 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUri() {
808832
@Test
809833
public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCookiesIsNull() {
810834
// given
835+
target = new AdnuntiusBidder(
836+
ENDPOINT_URL,
837+
ALTERNATIVE_URL,
838+
Clock.system(ZoneId.of("UTC+05:00")),
839+
jacksonMapper);
840+
811841
final BidRequest bidRequest = givenBidRequest(
812842
request -> request.regs(Regs.builder().ext(ExtRegs.of(1, null, null, null)).build()),
813843
givenBannerImp(ExtImpAdnuntius.builder().network("network").build(), identity()),
@@ -817,7 +847,7 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCook
817847
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
818848

819849
// then
820-
final String expectedUrl = buildExpectedUrl(EU_ENDPOINT_URL, 1, null, null);
850+
final String expectedUrl = buildExpectedUrl(ALTERNATIVE_URL, 1, null, null);
821851

822852
assertThat(result.getValue())
823853
.extracting(HttpRequest::getUri)
@@ -828,6 +858,12 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCook
828858
@Test
829859
public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCookiesIsFalse() {
830860
// given
861+
target = new AdnuntiusBidder(
862+
ENDPOINT_URL,
863+
ALTERNATIVE_URL,
864+
Clock.system(ZoneId.of("UTC+05:00")),
865+
jacksonMapper);
866+
831867
final Boolean noCookies = false;
832868
final BidRequest bidRequest = givenBidRequest(
833869
request -> request.regs(Regs.builder().ext(ExtRegs.of(1, null, null, null)).build()),
@@ -838,7 +874,7 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCook
838874
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
839875

840876
// then
841-
final String expectedUrl = givenExpectedUrl(EU_ENDPOINT_URL, 1, noCookies);
877+
final String expectedUrl = givenExpectedUrl(ALTERNATIVE_URL, 1, noCookies);
842878

843879
assertThat(result.getValue())
844880
.extracting(HttpRequest::getUri)
@@ -849,6 +885,12 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCook
849885
@Test
850886
public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCookiesIsTrue() {
851887
// given
888+
target = new AdnuntiusBidder(
889+
ENDPOINT_URL,
890+
ALTERNATIVE_URL,
891+
Clock.system(ZoneId.of("UTC+05:00")),
892+
jacksonMapper);
893+
852894
final Boolean noCookies = true;
853895
final BidRequest bidRequest = givenBidRequest(
854896
request -> request.regs(Regs.builder().ext(ExtRegs.of(1, null, null, null)).build()),
@@ -859,7 +901,7 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCook
859901
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
860902

861903
// then
862-
final String expectedUrl = givenExpectedUrl(EU_ENDPOINT_URL, 1, noCookies);
904+
final String expectedUrl = givenExpectedUrl(ALTERNATIVE_URL, 1, noCookies);
863905

864906
assertThat(result.getValue())
865907
.extracting(HttpRequest::getUri)
@@ -870,6 +912,12 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtImpNoCook
870912
@Test
871913
public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriAndPopulateExtDeviceWithNoCookies() {
872914
// given
915+
target = new AdnuntiusBidder(
916+
ENDPOINT_URL,
917+
ALTERNATIVE_URL,
918+
Clock.system(ZoneId.of("UTC+05:00")),
919+
jacksonMapper);
920+
873921
final BidRequest bidRequest = givenBidRequest(
874922
request -> request
875923
.regs(Regs.builder().ext(ExtRegs.of(1, null, null, null)).build())
@@ -881,7 +929,7 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriAndPopulateExt
881929
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
882930

883931
// then
884-
final String expectedUrl = buildExpectedUrl(EU_ENDPOINT_URL, 1, null, null);
932+
final String expectedUrl = buildExpectedUrl(ALTERNATIVE_URL, 1, null, null);
885933

886934
assertThat(result.getValue())
887935
.extracting(HttpRequest::getUri)
@@ -892,6 +940,12 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriAndPopulateExt
892940
@Test
893941
public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtDeviceImpNoCookiesIsFalse() {
894942
// given
943+
target = new AdnuntiusBidder(
944+
ENDPOINT_URL,
945+
ALTERNATIVE_URL,
946+
Clock.system(ZoneId.of("UTC+05:00")),
947+
jacksonMapper);
948+
895949
final Boolean noCookies = false;
896950
final BidRequest bidRequest = givenBidRequest(
897951
request -> request
@@ -904,7 +958,7 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtDeviceImp
904958
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
905959

906960
// then
907-
final String expectedUrl = givenExpectedUrl(EU_ENDPOINT_URL, 1, noCookies);
961+
final String expectedUrl = givenExpectedUrl(ALTERNATIVE_URL, 1, noCookies);
908962

909963
assertThat(result.getValue())
910964
.extracting(HttpRequest::getUri)
@@ -915,6 +969,12 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtDeviceImp
915969
@Test
916970
public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtDeviceImpNoCookiesIsTrue() {
917971
// given
972+
target = new AdnuntiusBidder(
973+
ENDPOINT_URL,
974+
ALTERNATIVE_URL,
975+
Clock.system(ZoneId.of("UTC+05:00")),
976+
jacksonMapper);
977+
918978
final Boolean noCookies = true;
919979
final BidRequest bidRequest = givenBidRequest(
920980
request -> request
@@ -927,7 +987,7 @@ public void makeHttpRequestsShouldReturnRequestsWithAlternativeUriIfExtDeviceImp
927987
final Result<List<HttpRequest<AdnuntiusRequest>>> result = target.makeHttpRequests(bidRequest);
928988

929989
// then
930-
final String expectedUrl = givenExpectedUrl(EU_ENDPOINT_URL, 1, noCookies);
990+
final String expectedUrl = givenExpectedUrl(ALTERNATIVE_URL, 1, noCookies);
931991

932992
assertThat(result.getValue())
933993
.extracting(HttpRequest::getUri)

0 commit comments

Comments
 (0)