From c70227ea944cd0fc863b8a677bcc02043fa9f0fd Mon Sep 17 00:00:00 2001 From: Pavel Ptashyts Date: Thu, 18 Dec 2025 12:00:20 +0100 Subject: [PATCH] Rename adoppler bidder adapter to elementaltv add adoppler as alias to elemental for backward compatibility --- .../model/AdopplerResponseAdsExt.java | 9 --- .../adoppler/model/AdopplerResponseExt.java | 9 --- .../model/AdopplerResponseVideoAdsExt.java | 9 --- .../ElementalTVBidder.java} | 65 ++++++++----------- .../model/ElementalTVResponseAdsExt.java | 9 +++ .../model/ElementalTVResponseExt.java | 9 +++ .../model/ElementalTVResponseVideoAdsExt.java | 9 +++ .../ext/request/adoppler/ExtImpAdoppler.java | 10 --- .../elementaltv/ExtImpElementalTV.java | 9 +++ ...ion.java => ElementalTVConfiguration.java} | 21 +++--- .../resources/bidder-config/adoppler.yaml | 13 ---- .../resources/bidder-config/elementaltv.yaml | 18 +++++ .../{adoppler.json => elementaltv.json} | 8 +-- .../ElementalTVBidderTest.java} | 51 +++++++-------- ...AdopplerTest.java => ElementalTVTest.java} | 29 ++++----- .../test-auction-elementaltv-request.json} | 5 +- .../test-auction-elementaltv-response.json} | 6 +- .../test-elemental-bid-response-1.json} | 0 .../test-elementaltv-bid-request-1.json} | 3 +- .../server/it/test-application.properties | 4 +- 20 files changed, 141 insertions(+), 155 deletions(-) delete mode 100644 src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseAdsExt.java delete mode 100644 src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseExt.java delete mode 100644 src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseVideoAdsExt.java rename src/main/java/org/prebid/server/bidder/{adoppler/AdopplerBidder.java => elementaltv/ElementalTVBidder.java} (77%) create mode 100644 src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseAdsExt.java create mode 100644 src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseExt.java create mode 100644 src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseVideoAdsExt.java delete mode 100644 src/main/java/org/prebid/server/proto/openrtb/ext/request/adoppler/ExtImpAdoppler.java create mode 100644 src/main/java/org/prebid/server/proto/openrtb/ext/request/elementaltv/ExtImpElementalTV.java rename src/main/java/org/prebid/server/spring/config/bidder/{AdopplerConfiguration.java => ElementalTVConfiguration.java} (66%) delete mode 100644 src/main/resources/bidder-config/adoppler.yaml create mode 100644 src/main/resources/bidder-config/elementaltv.yaml rename src/main/resources/static/bidder-params/{adoppler.json => elementaltv.json} (66%) rename src/test/java/org/prebid/server/bidder/{adoppler/AdopplerBidderTest.java => elementaltv/ElementalTVBidderTest.java} (87%) rename src/test/java/org/prebid/server/it/{AdopplerTest.java => ElementalTVTest.java} (56%) rename src/test/resources/org/prebid/server/it/openrtb2/{adoppler/test-auction-adoppler-request.json => elementaltv/test-auction-elementaltv-request.json} (73%) rename src/test/resources/org/prebid/server/it/openrtb2/{adoppler/test-auction-adoppler-response.json => elementaltv/test-auction-elementaltv-response.json} (86%) rename src/test/resources/org/prebid/server/it/openrtb2/{adoppler/test-adoppler-bid-response-1.json => elementaltv/test-elemental-bid-response-1.json} (100%) rename src/test/resources/org/prebid/server/it/openrtb2/{adoppler/test-adoppler-bid-request-1.json => elementaltv/test-elementaltv-bid-request-1.json} (93%) diff --git a/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseAdsExt.java b/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseAdsExt.java deleted file mode 100644 index d773617f068..00000000000 --- a/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseAdsExt.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.prebid.server.bidder.adoppler.model; - -import lombok.Value; - -@Value(staticConstructor = "of") -public class AdopplerResponseAdsExt { - - AdopplerResponseVideoAdsExt video; -} diff --git a/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseExt.java b/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseExt.java deleted file mode 100644 index 090ad5faaed..00000000000 --- a/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseExt.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.prebid.server.bidder.adoppler.model; - -import lombok.Value; - -@Value(staticConstructor = "of") -public class AdopplerResponseExt { - - AdopplerResponseAdsExt ads; -} diff --git a/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseVideoAdsExt.java b/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseVideoAdsExt.java deleted file mode 100644 index db64e1447e4..00000000000 --- a/src/main/java/org/prebid/server/bidder/adoppler/model/AdopplerResponseVideoAdsExt.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.prebid.server.bidder.adoppler.model; - -import lombok.Value; - -@Value(staticConstructor = "of") -public class AdopplerResponseVideoAdsExt { - - Integer duration; -} diff --git a/src/main/java/org/prebid/server/bidder/adoppler/AdopplerBidder.java b/src/main/java/org/prebid/server/bidder/elementaltv/ElementalTVBidder.java similarity index 77% rename from src/main/java/org/prebid/server/bidder/adoppler/AdopplerBidder.java rename to src/main/java/org/prebid/server/bidder/elementaltv/ElementalTVBidder.java index 761a2e21bc4..5e251ef63a5 100644 --- a/src/main/java/org/prebid/server/bidder/adoppler/AdopplerBidder.java +++ b/src/main/java/org/prebid/server/bidder/elementaltv/ElementalTVBidder.java @@ -1,4 +1,4 @@ -package org.prebid.server.bidder.adoppler; +package org.prebid.server.bidder.elementaltv; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; @@ -10,11 +10,18 @@ import com.iab.openrtb.response.SeatBid; import io.vertx.core.MultiMap; import io.vertx.core.http.HttpMethod; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; import org.apache.commons.lang3.StringUtils; import org.prebid.server.bidder.Bidder; -import org.prebid.server.bidder.adoppler.model.AdopplerResponseAdsExt; -import org.prebid.server.bidder.adoppler.model.AdopplerResponseExt; -import org.prebid.server.bidder.adoppler.model.AdopplerResponseVideoAdsExt; +import org.prebid.server.bidder.elementaltv.model.ElementalTVResponseAdsExt; +import org.prebid.server.bidder.elementaltv.model.ElementalTVResponseExt; +import org.prebid.server.bidder.elementaltv.model.ElementalTVResponseVideoAdsExt; import org.prebid.server.bidder.model.BidderBid; import org.prebid.server.bidder.model.BidderCall; import org.prebid.server.bidder.model.BidderError; @@ -24,29 +31,20 @@ import org.prebid.server.json.DecodeException; import org.prebid.server.json.JacksonMapper; import org.prebid.server.proto.openrtb.ext.ExtPrebid; -import org.prebid.server.proto.openrtb.ext.request.adoppler.ExtImpAdoppler; +import org.prebid.server.proto.openrtb.ext.request.elementaltv.ExtImpElementalTV; import org.prebid.server.proto.openrtb.ext.response.BidType; import org.prebid.server.util.HttpUtil; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; - -public class AdopplerBidder implements Bidder { +public class ElementalTVBidder implements Bidder { - private static final TypeReference> ADOPPLER_EXT_TYPE_REFERENCE = + private static final TypeReference> ELEMENTALTV_EXT_TYPE_REFERENCE = new TypeReference<>() { }; - private static final String DEFAULT_CLIENT = "app"; private final String endpointTemplate; private final JacksonMapper mapper; - public AdopplerBidder(String endpointTemplate, JacksonMapper mapper) { + public ElementalTVBidder(String endpointTemplate, JacksonMapper mapper) { this.endpointTemplate = HttpUtil.validateUrl(Objects.requireNonNull(endpointTemplate)); this.mapper = Objects.requireNonNull(mapper); } @@ -58,7 +56,7 @@ public Result>> makeHttpRequests(BidRequest request for (Imp imp : request.getImp()) { try { - final ExtImpAdoppler validExtImp = parseAndValidateImpExt(imp); + final ExtImpElementalTV validExtImp = parseAndValidateImpExt(imp); final String updateRequestId = request.getId() + "-" + validExtImp.getAdunit(); final BidRequest updateRequest = request.toBuilder().id(updateRequestId).build(); final String url = resolveUrl(validExtImp); @@ -71,29 +69,22 @@ public Result>> makeHttpRequests(BidRequest request return Result.of(result, errors); } - private ExtImpAdoppler parseAndValidateImpExt(Imp imp) { - final ExtImpAdoppler extImpAdoppler; + private ExtImpElementalTV parseAndValidateImpExt(Imp imp) { + final ExtImpElementalTV extImpElementalTV; try { - extImpAdoppler = mapper.mapper().convertValue(imp.getExt(), ADOPPLER_EXT_TYPE_REFERENCE).getBidder(); + extImpElementalTV = mapper.mapper().convertValue(imp.getExt(), ELEMENTALTV_EXT_TYPE_REFERENCE).getBidder(); } catch (IllegalArgumentException e) { throw new PreBidException(e.getMessage()); } - if (StringUtils.isBlank(extImpAdoppler.getAdunit())) { - throw new PreBidException("adunit parameter is required for adoppler bidder"); + if (StringUtils.isBlank(extImpElementalTV.getAdunit())) { + throw new PreBidException("adunit parameter is required for elementaltv bidder"); } - return extImpAdoppler; + return extImpElementalTV; } - private String resolveUrl(ExtImpAdoppler extImp) { - final String client = extImp.getClient(); - + private String resolveUrl(ExtImpElementalTV extImp) { try { - final String accountIdMacro = StringUtils.isBlank(client) - ? DEFAULT_CLIENT - : HttpUtil.encodeUrl(client); - return endpointTemplate - .replace("{{AccountID}}", accountIdMacro) .replace("{{AdUnit}}", HttpUtil.encodeUrl(extImp.getAdunit())); } catch (Exception e) { throw new PreBidException(e.getMessage()); @@ -171,17 +162,17 @@ private BidderBid createBid(Bid bid, Map impTypes, String curre private void validateVideoBidExt(Bid bid) { final ObjectNode extNode = bid.getExt(); - final AdopplerResponseExt ext = extNode != null ? parseResponseExt(extNode) : null; - final AdopplerResponseAdsExt adsExt = ext != null ? ext.getAds() : null; - final AdopplerResponseVideoAdsExt videoAdsExt = adsExt != null ? adsExt.getVideo() : null; + final ElementalTVResponseExt ext = extNode != null ? parseResponseExt(extNode) : null; + final ElementalTVResponseAdsExt adsExt = ext != null ? ext.getAds() : null; + final ElementalTVResponseVideoAdsExt videoAdsExt = adsExt != null ? adsExt.getVideo() : null; if (videoAdsExt == null) { throw new PreBidException("$.seatbid.bid.ext.ads.video required"); } } - private AdopplerResponseExt parseResponseExt(ObjectNode ext) { + private ElementalTVResponseExt parseResponseExt(ObjectNode ext) { try { - return mapper.mapper().treeToValue(ext, AdopplerResponseExt.class); + return mapper.mapper().treeToValue(ext, ElementalTVResponseExt.class); } catch (JsonProcessingException e) { throw new PreBidException(e.getMessage(), e); } diff --git a/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseAdsExt.java b/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseAdsExt.java new file mode 100644 index 00000000000..1a23b70eaa9 --- /dev/null +++ b/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseAdsExt.java @@ -0,0 +1,9 @@ +package org.prebid.server.bidder.elementaltv.model; + +import lombok.Value; + +@Value(staticConstructor = "of") +public class ElementalTVResponseAdsExt { + + ElementalTVResponseVideoAdsExt video; +} diff --git a/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseExt.java b/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseExt.java new file mode 100644 index 00000000000..935d32e01b6 --- /dev/null +++ b/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseExt.java @@ -0,0 +1,9 @@ +package org.prebid.server.bidder.elementaltv.model; + +import lombok.Value; + +@Value(staticConstructor = "of") +public class ElementalTVResponseExt { + + ElementalTVResponseAdsExt ads; +} diff --git a/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseVideoAdsExt.java b/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseVideoAdsExt.java new file mode 100644 index 00000000000..76e3457b453 --- /dev/null +++ b/src/main/java/org/prebid/server/bidder/elementaltv/model/ElementalTVResponseVideoAdsExt.java @@ -0,0 +1,9 @@ +package org.prebid.server.bidder.elementaltv.model; + +import lombok.Value; + +@Value(staticConstructor = "of") +public class ElementalTVResponseVideoAdsExt { + + Integer duration; +} diff --git a/src/main/java/org/prebid/server/proto/openrtb/ext/request/adoppler/ExtImpAdoppler.java b/src/main/java/org/prebid/server/proto/openrtb/ext/request/adoppler/ExtImpAdoppler.java deleted file mode 100644 index a727c59b34b..00000000000 --- a/src/main/java/org/prebid/server/proto/openrtb/ext/request/adoppler/ExtImpAdoppler.java +++ /dev/null @@ -1,10 +0,0 @@ -package org.prebid.server.proto.openrtb.ext.request.adoppler; - -import lombok.Value; - -@Value(staticConstructor = "of") -public class ExtImpAdoppler { - - String adunit; - String client; -} diff --git a/src/main/java/org/prebid/server/proto/openrtb/ext/request/elementaltv/ExtImpElementalTV.java b/src/main/java/org/prebid/server/proto/openrtb/ext/request/elementaltv/ExtImpElementalTV.java new file mode 100644 index 00000000000..bdd594996b4 --- /dev/null +++ b/src/main/java/org/prebid/server/proto/openrtb/ext/request/elementaltv/ExtImpElementalTV.java @@ -0,0 +1,9 @@ +package org.prebid.server.proto.openrtb.ext.request.elementaltv; + +import lombok.Value; + +@Value(staticConstructor = "of") +public class ExtImpElementalTV { + + String adunit; +} diff --git a/src/main/java/org/prebid/server/spring/config/bidder/AdopplerConfiguration.java b/src/main/java/org/prebid/server/spring/config/bidder/ElementalTVConfiguration.java similarity index 66% rename from src/main/java/org/prebid/server/spring/config/bidder/AdopplerConfiguration.java rename to src/main/java/org/prebid/server/spring/config/bidder/ElementalTVConfiguration.java index 89163bceeab..881085efebe 100644 --- a/src/main/java/org/prebid/server/spring/config/bidder/AdopplerConfiguration.java +++ b/src/main/java/org/prebid/server/spring/config/bidder/ElementalTVConfiguration.java @@ -1,7 +1,8 @@ package org.prebid.server.spring.config.bidder; +import jakarta.validation.constraints.NotBlank; import org.prebid.server.bidder.BidderDeps; -import org.prebid.server.bidder.adoppler.AdopplerBidder; +import org.prebid.server.bidder.elementaltv.ElementalTVBidder; import org.prebid.server.json.JacksonMapper; import org.prebid.server.spring.config.bidder.model.BidderConfigurationProperties; import org.prebid.server.spring.config.bidder.util.BidderDepsAssembler; @@ -13,29 +14,27 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; -import jakarta.validation.constraints.NotBlank; - @Configuration -@PropertySource(value = "classpath:/bidder-config/adoppler.yaml", factory = YamlPropertySourceFactory.class) -public class AdopplerConfiguration { +@PropertySource(value = "classpath:/bidder-config/elementaltv.yaml", factory = YamlPropertySourceFactory.class) +public class ElementalTVConfiguration { - private static final String BIDDER_NAME = "adoppler"; + private static final String BIDDER_NAME = "elementaltv"; - @Bean("adopplerConfigurationProperties") - @ConfigurationProperties("adapters.adoppler") + @Bean("elementalTVConfigurationProperties") + @ConfigurationProperties("adapters.elementaltv") BidderConfigurationProperties configurationProperties() { return new BidderConfigurationProperties(); } @Bean - BidderDeps adopplerBidderDeps(BidderConfigurationProperties adopplerConfigurationProperties, + BidderDeps elementaltvBidderDeps(BidderConfigurationProperties elementalTVConfigurationProperties, @NotBlank @Value("${external-url}") String externalUrl, JacksonMapper mapper) { return BidderDepsAssembler.forBidder(BIDDER_NAME) - .withConfig(adopplerConfigurationProperties) + .withConfig(elementalTVConfigurationProperties) .usersyncerCreator(UsersyncerCreator.create(externalUrl)) - .bidderCreator(config -> new AdopplerBidder(config.getEndpoint(), mapper)) + .bidderCreator(config -> new ElementalTVBidder(config.getEndpoint(), mapper)) .assemble(); } } diff --git a/src/main/resources/bidder-config/adoppler.yaml b/src/main/resources/bidder-config/adoppler.yaml deleted file mode 100644 index 1f66b131d83..00000000000 --- a/src/main/resources/bidder-config/adoppler.yaml +++ /dev/null @@ -1,13 +0,0 @@ -adapters: - adoppler: - endpoint: http://{{AccountID}}.trustedmarketplace.io/ads/processHeaderBid/{{AdUnit}} - meta-info: - maintainer-email: info@adoppler.com - app-media-types: - - banner - - video - site-media-types: - - banner - - video - supported-vendors: - vendor-id: 0 diff --git a/src/main/resources/bidder-config/elementaltv.yaml b/src/main/resources/bidder-config/elementaltv.yaml new file mode 100644 index 00000000000..d8ebeb49f71 --- /dev/null +++ b/src/main/resources/bidder-config/elementaltv.yaml @@ -0,0 +1,18 @@ +adapters: + elementaltv: + endpoint: https://pbs.elementaltv.io/ads/processHeaderBid/{{AdUnit}} + ortb-version: "2.6" + aliases: + adoppler: ~ + meta-info: + maintainer-email: support@elementaltv.com + app-media-types: + - banner + - video + - native + site-media-types: + - banner + - video + - native + supported-vendors: + vendor-id: 0 diff --git a/src/main/resources/static/bidder-params/adoppler.json b/src/main/resources/static/bidder-params/elementaltv.json similarity index 66% rename from src/main/resources/static/bidder-params/adoppler.json rename to src/main/resources/static/bidder-params/elementaltv.json index eaa4e6df80e..f80e6c4f0d7 100644 --- a/src/main/resources/static/bidder-params/adoppler.json +++ b/src/main/resources/static/bidder-params/elementaltv.json @@ -1,16 +1,12 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Adoppler Adapter Params", - "description": "A schema which validates params accepted by the Adoppler adapter", + "title": "ElementalTV Adapter Params", + "description": "A schema which validates params accepted by the ElementalTV adapter", "type": "object", "properties": { "adunit": { "type": "string", "description": "AdUnit to bid against to." - }, - "client": { - "type": "string", - "description": "Client name." } }, "required": ["adunit"] diff --git a/src/test/java/org/prebid/server/bidder/adoppler/AdopplerBidderTest.java b/src/test/java/org/prebid/server/bidder/elementaltv/ElementalTVBidderTest.java similarity index 87% rename from src/test/java/org/prebid/server/bidder/adoppler/AdopplerBidderTest.java rename to src/test/java/org/prebid/server/bidder/elementaltv/ElementalTVBidderTest.java index 2004ce97118..c54993aeb0c 100644 --- a/src/test/java/org/prebid/server/bidder/adoppler/AdopplerBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/elementaltv/ElementalTVBidderTest.java @@ -1,4 +1,10 @@ -package org.prebid.server.bidder.adoppler; +package org.prebid.server.bidder.elementaltv; + +import static java.util.Collections.singletonList; +import static java.util.function.Function.identity; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; +import static org.assertj.core.api.Assertions.tuple; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -10,10 +16,14 @@ import com.iab.openrtb.response.BidResponse; import com.iab.openrtb.response.SeatBid; import io.netty.handler.codec.http.HttpHeaderValues; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.function.Function; import org.junit.jupiter.api.Test; import org.prebid.server.VertxTest; -import org.prebid.server.bidder.adoppler.model.AdopplerResponseAdsExt; -import org.prebid.server.bidder.adoppler.model.AdopplerResponseExt; +import org.prebid.server.bidder.elementaltv.model.ElementalTVResponseAdsExt; +import org.prebid.server.bidder.elementaltv.model.ElementalTVResponseExt; import org.prebid.server.bidder.model.BidderBid; import org.prebid.server.bidder.model.BidderCall; import org.prebid.server.bidder.model.BidderError; @@ -21,29 +31,18 @@ import org.prebid.server.bidder.model.HttpResponse; import org.prebid.server.bidder.model.Result; import org.prebid.server.proto.openrtb.ext.ExtPrebid; -import org.prebid.server.proto.openrtb.ext.request.adoppler.ExtImpAdoppler; +import org.prebid.server.proto.openrtb.ext.request.elementaltv.ExtImpElementalTV; import org.prebid.server.util.HttpUtil; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.function.Function; - -import static java.util.Collections.singletonList; -import static java.util.function.Function.identity; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; -import static org.assertj.core.api.Assertions.tuple; - -public class AdopplerBidderTest extends VertxTest { +public class ElementalTVBidderTest extends VertxTest { - private static final String ENDPOINT_URL = "http://{{AccountID}}.test.com/some/path/{{AdUnit}}"; + private static final String ENDPOINT_URL = "https://pbs.test.com/some/path/{{AdUnit}}"; - private final AdopplerBidder target = new AdopplerBidder(ENDPOINT_URL, jacksonMapper); + private final ElementalTVBidder target = new ElementalTVBidder(ENDPOINT_URL, jacksonMapper); @Test public void creationShouldFailOnInvalidEndpointUrl() { - assertThatIllegalArgumentException().isThrownBy(() -> new AdopplerBidder("invalid_url", jacksonMapper)); + assertThatIllegalArgumentException().isThrownBy(() -> new ElementalTVBidder("invalid_url", jacksonMapper)); } @Test @@ -51,13 +50,13 @@ public void makeHttpRequestsShouldReturnErrorIfImpExtCouldNotBeParsed() { // given final BidRequest bidRequest = givenBidRequest( impBuilder -> impBuilder - .ext(mapper.valueToTree(ExtPrebid.of(null, ExtImpAdoppler.of(null, null))))); + .ext(mapper.valueToTree(ExtPrebid.of(null, ExtImpElementalTV.of(null))))); // when final Result>> result = target.makeHttpRequests(bidRequest); // then assertThat(result.getErrors()) - .containsExactly(BidderError.badInput("adunit parameter is required for adoppler bidder")); + .containsExactly(BidderError.badInput("adunit parameter is required for elementaltv bidder")); } @Test @@ -71,7 +70,7 @@ public void makeHttpRequestsShouldCreateCorrectURL() { // then assertThat(result.getErrors()).isEmpty(); assertThat(result.getValue()).hasSize(1); - assertThat(result.getValue().getFirst().getUri()).isEqualTo("http://clientId.test.com/some/path/adUnit"); + assertThat(result.getValue().getFirst().getUri()).isEqualTo("https://pbs.test.com/some/path/adUnit"); } @Test @@ -79,7 +78,7 @@ public void makeHttpRequestsShouldCreateUrlWithDefaultAppParamIfClientIsMissing( // given final BidRequest bidRequest = givenBidRequest( impBuilder -> impBuilder - .ext(mapper.valueToTree(ExtPrebid.of(null, ExtImpAdoppler.of("adUnit", ""))))); + .ext(mapper.valueToTree(ExtPrebid.of(null, ExtImpElementalTV.of("adUnit"))))); // when final Result>> result = target.makeHttpRequests(bidRequest); @@ -87,7 +86,7 @@ public void makeHttpRequestsShouldCreateUrlWithDefaultAppParamIfClientIsMissing( // then assertThat(result.getErrors()).isEmpty(); assertThat(result.getValue()).hasSize(1); - assertThat(result.getValue().getFirst().getUri()).isEqualTo("http://app.test.com/some/path/adUnit"); + assertThat(result.getValue().getFirst().getUri()).isEqualTo("https://pbs.test.com/some/path/adUnit"); } @Test @@ -133,7 +132,7 @@ public void makeBidsShouldReturnErrorIfExtEmpty() throws JsonProcessingException // given final Imp imp = Imp.builder().id("impId").video(Video.builder().build()).build(); final BidRequest bidRequest = BidRequest.builder().imp(Collections.singletonList(imp)).build(); - final ObjectNode ext = mapper.valueToTree(AdopplerResponseExt.of(AdopplerResponseAdsExt.of(null))); + final ObjectNode ext = mapper.valueToTree(ElementalTVResponseExt.of(ElementalTVResponseAdsExt.of(null))); final BidderCall httpCall = givenHttpCall(bidRequest, mapper.writeValueAsString( givenBidResponse(bidBuilder -> bidBuilder .id("321") @@ -166,7 +165,7 @@ private static Imp givenImp(Function impCustomiz return impCustomizer.apply(Imp.builder() .id("123") .banner(Banner.builder().id("banner_id").build()) - .ext(mapper.valueToTree(ExtPrebid.of(null, ExtImpAdoppler.of("adUnit", "clientId"))))) + .ext(mapper.valueToTree(ExtPrebid.of(null, ExtImpElementalTV.of("adUnit"))))) .build(); } diff --git a/src/test/java/org/prebid/server/it/AdopplerTest.java b/src/test/java/org/prebid/server/it/ElementalTVTest.java similarity index 56% rename from src/test/java/org/prebid/server/it/AdopplerTest.java rename to src/test/java/org/prebid/server/it/ElementalTVTest.java index 6e3e9960502..8862ab1b615 100644 --- a/src/test/java/org/prebid/server/it/AdopplerTest.java +++ b/src/test/java/org/prebid/server/it/ElementalTVTest.java @@ -1,33 +1,32 @@ package org.prebid.server.it; -import io.restassured.response.Response; -import org.json.JSONException; -import org.junit.jupiter.api.Test; -import org.prebid.server.model.Endpoint; - -import java.io.IOException; - import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; import static com.github.tomakehurst.wiremock.client.WireMock.equalToJson; import static com.github.tomakehurst.wiremock.client.WireMock.post; import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; import static java.util.Collections.singletonList; -public class AdopplerTest extends IntegrationTest { +import io.restassured.response.Response; +import java.io.IOException; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.prebid.server.model.Endpoint; + +public class ElementalTVTest extends IntegrationTest { @Test - public void openrtb2AuctionShouldRespondWithBidsFromAdoppler() throws IOException, JSONException { + public void openrtb2AuctionShouldRespondWithBidsFromElementalTV() throws IOException, JSONException { // given - WIRE_MOCK_RULE.stubFor(post(urlPathEqualTo("/adoppler-exchange")) - .withRequestBody(equalToJson(jsonFrom("openrtb2/adoppler/test-adoppler-bid-request-1.json"))) - .willReturn(aResponse().withBody(jsonFrom("openrtb2/adoppler/test-adoppler-bid-response-1.json")))); + WIRE_MOCK_RULE.stubFor(post(urlPathEqualTo("/elementaltv-exchange")) + .withRequestBody(equalToJson(jsonFrom("openrtb2/elementaltv/test-elementaltv-bid-request-1.json"))) + .willReturn(aResponse().withBody(jsonFrom("openrtb2/elementaltv/test-elementaltv-bid-response-1.json")))); // when - final Response response = responseFor("openrtb2/adoppler/test-auction-adoppler-request.json", + final Response response = responseFor("openrtb2/elementaltv/test-auction-elementaltv-request.json", Endpoint.openrtb2_auction); // then - assertJsonEquals("openrtb2/adoppler/test-auction-adoppler-response.json", response, - singletonList("adoppler")); + assertJsonEquals("openrtb2/elementaltv/test-auction-elementaltv-response.json", response, + singletonList("elementaltv")); } } diff --git a/src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-auction-adoppler-request.json b/src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-auction-elementaltv-request.json similarity index 73% rename from src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-auction-adoppler-request.json rename to src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-auction-elementaltv-request.json index 671adea62e9..c9c065751d4 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-auction-adoppler-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-auction-elementaltv-request.json @@ -8,9 +8,8 @@ "h": 200 }, "ext": { - "adoppler": { - "adunit": "adunit", - "client": "testClient" + "elementaltv": { + "adunit": "adunit" } } } diff --git a/src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-auction-adoppler-response.json b/src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-auction-elementaltv-response.json similarity index 86% rename from src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-auction-adoppler-response.json rename to src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-auction-elementaltv-response.json index cbfeaa10b25..5045d4c4a02 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-auction-adoppler-response.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-auction-elementaltv-response.json @@ -20,7 +20,7 @@ "prebid": { "type": "banner", "meta": { - "adaptercode": "adoppler" + "adaptercode": "elementaltv" } }, "origbidcpm": 3.33, @@ -32,14 +32,14 @@ } } ], - "seat": "adoppler", + "seat": "elementaltv", "group": 0 } ], "cur": "USD", "ext": { "responsetimemillis": { - "adoppler": "{{ adoppler.response_time_ms }}" + "elementaltv": "{{ elementaltv.response_time_ms }}" }, "prebid": { "auctiontimestamp": 0 diff --git a/src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-adoppler-bid-response-1.json b/src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-elemental-bid-response-1.json similarity index 100% rename from src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-adoppler-bid-response-1.json rename to src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-elemental-bid-response-1.json diff --git a/src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-adoppler-bid-request-1.json b/src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-elementaltv-bid-request-1.json similarity index 93% rename from src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-adoppler-bid-request-1.json rename to src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-elementaltv-bid-request-1.json index 85ca49d2c95..adc3d87492e 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/adoppler/test-adoppler-bid-request-1.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/elementaltv/test-elementaltv-bid-request-1.json @@ -11,8 +11,7 @@ "ext": { "tid": "${json-unit.any-string}", "bidder": { - "adunit": "adunit", - "client": "testClient" + "adunit": "adunit" } } } diff --git a/src/test/resources/org/prebid/server/it/test-application.properties b/src/test/resources/org/prebid/server/it/test-application.properties index 1a073dcda06..2a3ffe37083 100644 --- a/src/test/resources/org/prebid/server/it/test-application.properties +++ b/src/test/resources/org/prebid/server/it/test-application.properties @@ -64,8 +64,8 @@ adapters.adnuntius.endpoint=http://localhost:8090/adnuntius-exchange adapters.adnuntius.eu-endpoint=http://localhost:8090/adnuntius-exchange-eu adapters.adocean.enabled=true adapters.adocean.endpoint=http://localhost:8090/adocean-exchange -adapters.adoppler.enabled=true -adapters.adoppler.endpoint=http://localhost:8090/adoppler-exchange +adapters.elementaltv.enabled=true +adapters.elementaltv.endpoint=http://localhost:8090/elementaltv-exchange adapters.adpone.enabled=true adapters.adpone.endpoint=http://localhost:8090/adpone-exchange adapters.adot.enabled=true