diff --git a/src/main/java/org/prebid/server/bidder/epsilon/EpsilonBidder.java b/src/main/java/org/prebid/server/bidder/epsilon/EpsilonBidder.java index 4be70d935fc..eff6e5e3093 100644 --- a/src/main/java/org/prebid/server/bidder/epsilon/EpsilonBidder.java +++ b/src/main/java/org/prebid/server/bidder/epsilon/EpsilonBidder.java @@ -27,6 +27,7 @@ import org.prebid.server.proto.openrtb.ext.response.BidType; import org.prebid.server.util.BidderUtil; import org.prebid.server.util.HttpUtil; +import org.prebid.server.util.VersionInfo; import java.math.BigDecimal; import java.util.ArrayList; @@ -57,21 +58,23 @@ public class EpsilonBidder implements Bidder { // Position of the ad as a relative measure of visibility or prominence private static final Set AD_POSITIONS = IntStream.range(0, 8).boxed().collect(Collectors.toSet()); - private static final String DISPLAY_MANAGER = "prebid-s2s"; - private static final String DISPLAY_MANAGER_VER = "2.0.0"; + private static final String DISPLAY_MANAGER = "prebid-s2s-java"; private final String endpointUrl; private final boolean generateBidId; private final JacksonMapper mapper; + private final String displayManagerVersion; public EpsilonBidder(String endpointUrl, boolean generateBidId, + String pbsVersion, JacksonMapper mapper, CurrencyConversionService currencyConversionService) { this.endpointUrl = HttpUtil.validateUrl(Objects.requireNonNull(endpointUrl)); this.generateBidId = generateBidId; this.mapper = Objects.requireNonNull(mapper); this.currencyConversionService = Objects.requireNonNull(currencyConversionService); + this.displayManagerVersion = VersionInfo.UNDEFINED.equals(pbsVersion) ? null : pbsVersion; } @Override @@ -96,7 +99,7 @@ private BidRequest createOutgoingRequest(BidRequest bidRequest) { final BigDecimal bidFloor = resolveBidFloor(bidRequest, imp.getBidfloorcur(), getBidFloor(imp.getBidfloor(), impExt.getBidfloor())); - modifiedImps.add(modifyImp(imp, impExt, bidFloor)); + modifiedImps.add(modifyImp(imp, impExt, bidFloor, displayManagerVersion)); } final Imp firstImp = requestImps.getFirst(); @@ -143,13 +146,13 @@ private static App updateApp(App app, String siteId) { return app == null ? null : app.toBuilder().id(siteId).build(); } - private static Imp modifyImp(Imp imp, ExtImpEpsilon impExt, BigDecimal bidfloor) { + private static Imp modifyImp(Imp imp, ExtImpEpsilon impExt, BigDecimal bidfloor, String displayManagerVersion) { final Banner banner = imp.getBanner(); final Video video = imp.getVideo(); return imp.toBuilder() .displaymanager(DISPLAY_MANAGER) - .displaymanagerver(DISPLAY_MANAGER_VER) + .displaymanagerver(displayManagerVersion) .bidfloor(bidfloor) .bidfloorcur(BIDDER_CURRENCY) .tagid(getTagId(imp.getTagid(), impExt.getTagId())) diff --git a/src/main/java/org/prebid/server/bidder/oms/OmsBidder.java b/src/main/java/org/prebid/server/bidder/oms/OmsBidder.java index 81e1c8091f5..ad54caec341 100644 --- a/src/main/java/org/prebid/server/bidder/oms/OmsBidder.java +++ b/src/main/java/org/prebid/server/bidder/oms/OmsBidder.java @@ -32,8 +32,10 @@ public class OmsBidder implements Bidder { + private static final String PUBLISHER_ID_MACRO = "{{PublisherId}}"; private static final TypeReference> EXT_TYPE_REFERENCE = new TypeReference<>() { }; + private final String endpointUrl; private final JacksonMapper mapper; @@ -48,7 +50,7 @@ public Result>> makeHttpRequests(BidRequest request final ExtImpOms impExt = parseImpExt(request.getImp().getFirst()); final String publisherId = resolverPublisherId(impExt.getPid(), impExt.getPublisherId()); final String encodedPublisherId = HttpUtil.encodeUrl(publisherId); - final String url = "%s?publisherId=%s".formatted(endpointUrl, encodedPublisherId); + final String url = endpointUrl.replace(PUBLISHER_ID_MACRO, encodedPublisherId); return Result.withValue(BidderUtil.defaultRequest(request, url, mapper)); } catch (PreBidException e) { return Result.withError(BidderError.badInput(e.getMessage())); diff --git a/src/main/java/org/prebid/server/spring/config/bidder/EpsilonConfiguration.java b/src/main/java/org/prebid/server/spring/config/bidder/EpsilonConfiguration.java index f4daeba000a..555028584bb 100644 --- a/src/main/java/org/prebid/server/spring/config/bidder/EpsilonConfiguration.java +++ b/src/main/java/org/prebid/server/spring/config/bidder/EpsilonConfiguration.java @@ -11,6 +11,7 @@ import org.prebid.server.spring.config.bidder.util.BidderDepsAssembler; import org.prebid.server.spring.config.bidder.util.UsersyncerCreator; import org.prebid.server.spring.env.YamlPropertySourceFactory; +import org.prebid.server.util.VersionInfo; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -36,6 +37,7 @@ EpsilonConfigurationProperties configurationProperties() { @Bean BidderDeps epsilonBidderDeps(EpsilonConfigurationProperties epsilonConfigurationProperties, @NotBlank @Value("${external-url}") String externalUrl, + VersionInfo versionInfo, JacksonMapper mapper, CurrencyConversionService currencyConversionService) { @@ -46,6 +48,7 @@ BidderDeps epsilonBidderDeps(EpsilonConfigurationProperties epsilonConfiguration new EpsilonBidder( config.getEndpoint(), epsilonConfigurationProperties.getGenerateBidId(), + versionInfo.getVersion(), mapper, currencyConversionService)) .assemble(); diff --git a/src/main/java/org/prebid/server/util/VersionInfo.java b/src/main/java/org/prebid/server/util/VersionInfo.java index 3ddc9b52b74..dd2bfb23251 100644 --- a/src/main/java/org/prebid/server/util/VersionInfo.java +++ b/src/main/java/org/prebid/server/util/VersionInfo.java @@ -14,7 +14,7 @@ public class VersionInfo { private static final Logger logger = LoggerFactory.getLogger(VersionInfo.class); - private static final String UNDEFINED = "undefined"; + public static final String UNDEFINED = "undefined"; String version; String commitHash; diff --git a/src/main/resources/bidder-config/adkernel.yaml b/src/main/resources/bidder-config/adkernel.yaml index dbc1afb26a7..7158bcec57b 100644 --- a/src/main/resources/bidder-config/adkernel.yaml +++ b/src/main/resources/bidder-config/adkernel.yaml @@ -7,7 +7,8 @@ adapters: 152media: ~ xapads: enabled: false - vendor-id: 1320 + meta-info: + vendor-id: 1320 usersync: enabled: true cookie-family-name: xapads diff --git a/src/main/resources/bidder-config/flipp.yaml b/src/main/resources/bidder-config/flipp.yaml index 6623825ac11..14e486f171e 100644 --- a/src/main/resources/bidder-config/flipp.yaml +++ b/src/main/resources/bidder-config/flipp.yaml @@ -1,6 +1,6 @@ adapters: flipp: - endpoint: https://cdn-gateflipp.flippback.com/flyer-locator-service/prebid_campaigns + endpoint: https://ads-flipp.com/flyer-locator-service/prebid_campaigns meta-info: maintainer-email: prebid@flipp.com app-media-types: diff --git a/src/main/resources/bidder-config/generic.yaml b/src/main/resources/bidder-config/generic.yaml index d4538733e05..9cd5fd280f7 100644 --- a/src/main/resources/bidder-config/generic.yaml +++ b/src/main/resources/bidder-config/generic.yaml @@ -97,24 +97,6 @@ adapters: url: https://prebid.cwi.re/v1/usersync?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&rd={{redirect_url}} support-cors: false uid-macro: '$UID' - adsinteractive: - enabled: false - endpoint: http://bid.adsinteractive.com/prebid - modifying-vast-xml-allowed: false - meta-info: - maintainer-email: it@adsinteractive.com - app-media-types: - - banner - site-media-types: - - banner - supported-vendors: - vendor-id: 1212 - usersync: - cookie-family-name: adsinteractive - redirect: - url: https://sync.adsinteractive.com/getuid?{{redirect_url}}&gpp={{gpp}}&gpp_sid={{gpp_sid}} - support-cors: false - uid-macro: '$AUID' nativo: enabled: false endpoint: https://exchange.postrelease.com/esi?ntv_epid=7 diff --git a/src/main/resources/bidder-config/missena.yaml b/src/main/resources/bidder-config/missena.yaml index f8921eac3db..e16c8a1bdbe 100644 --- a/src/main/resources/bidder-config/missena.yaml +++ b/src/main/resources/bidder-config/missena.yaml @@ -1,6 +1,7 @@ adapters: missena: endpoint: https://bid.missena.io/?t={{PublisherID}} + endpoint-compression: gzip meta-info: maintainer-email: prebid@missena.com modifying-vast-xml-allowed: true @@ -13,6 +14,6 @@ adapters: usersync: cookie-family-name: missena iframe: - url: https://sync.missena.io/iframe?gdpr={{gdpr}}&consent={{gdpr_consent}}&us_privacy={{us_privacy}}&redirect={{redirect_url}} + url: https://sync.missena.io/iframe?gdpr={{gdpr}}&consent={{gdpr_consent}}&us_privacy={{us_privacy}}&gpp={{gpp}}&gpp_sid={{gpp_sid}}&redirect={{redirect_url}} support-cors: false uid-macro: '$UID' diff --git a/src/main/resources/bidder-config/mobilefuse.yaml b/src/main/resources/bidder-config/mobilefuse.yaml index 0942ce43ef9..6115cd19174 100644 --- a/src/main/resources/bidder-config/mobilefuse.yaml +++ b/src/main/resources/bidder-config/mobilefuse.yaml @@ -14,6 +14,9 @@ adapters: - video - native site-media-types: + - banner + - video + - native supported-vendors: vendor-id: 909 usersync: diff --git a/src/main/resources/bidder-config/nexx360.yaml b/src/main/resources/bidder-config/nexx360.yaml index 975dcd6a21e..7f3820e24d1 100644 --- a/src/main/resources/bidder-config/nexx360.yaml +++ b/src/main/resources/bidder-config/nexx360.yaml @@ -20,3 +20,13 @@ adapters: - audio supported-vendors: vendor-id: 965 + usersync: + cookie-family-name: nexx360 + redirect: + url: https://fast.nexx360.io/usermatchredir/redirect?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&us_privacy={{us_privacy}}&gpp={{gpp}}&gppsid={{gpp_sid}}&redir={{redirect_url}} + support-cors: false + uid-macro: '$UID' + iframe: + url: https://fast.nexx360.io/usermatchredir/iframe?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&us_privacy={{us_privacy}}&gpp={{gpp}}&gpp_sid={{gpp_sid}}&redir={{redirect_url}} + support-cors: false + uid-macro: '$UID' diff --git a/src/main/resources/bidder-config/oms.yaml b/src/main/resources/bidder-config/oms.yaml index 16c4a4cac08..be8e9354c6a 100644 --- a/src/main/resources/bidder-config/oms.yaml +++ b/src/main/resources/bidder-config/oms.yaml @@ -1,6 +1,6 @@ adapters: oms: - endpoint: http://rt.marphezis.com/pbs + endpoint: http://rt.marphezis.com/pbs?pid={{PublisherId}} meta-info: maintainer-email: prebid@onlinemediasolutions.com app-media-types: diff --git a/src/main/resources/bidder-config/teal.yaml b/src/main/resources/bidder-config/teal.yaml index 00d1a6d48fc..d5393b7d29c 100644 --- a/src/main/resources/bidder-config/teal.yaml +++ b/src/main/resources/bidder-config/teal.yaml @@ -26,5 +26,5 @@ adapters: usersync: cookie-family-name: teal iframe: - url: https://bids.ws/load-pbs.html?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&us_privacy={{us_privacy}}&redirect_url={{redirect_url}} + url: https://bids.ws/load-pbs.html?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&us_privacy={{us_privacy}}&gpp={{gpp}}&gpp_sid={{gpp_sid}}&redirect_url={{redirect_url}} support-cors: false diff --git a/src/main/resources/bidder-config/teqblaze.yaml b/src/main/resources/bidder-config/teqblaze.yaml index 9938c49f107..1201cce2028 100644 --- a/src/main/resources/bidder-config/teqblaze.yaml +++ b/src/main/resources/bidder-config/teqblaze.yaml @@ -43,6 +43,23 @@ adapters: mata-info: maintainer-email: support@gravite.net vendor-id: 377 + adsinteractive: + enabled: false + endpoint: https://bntb.adsinteractive.com/pserver + meta-info: + maintainer-email: it@adsinteractive.com + vendor-id: 1212 + usersync: + enabled: true + cookie-family-name: adsinteractive + redirect: + url: https://cstb.adsinteractive.com/pbserver?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&ccpa={{us_privacy}}&gpp={{gpp}}&gpp_sid={{gpp_sid}}&redir={{redirect_url}} + support-cors: false + uid-macro: '[UID]' + iframe: + url: https://cstb.adsinteractive.com/pbserverIframe?gdpr={{gdpr}}&gdpr_consent={{gdpr_consent}}&ccpa={{us_privacy}}&gpp={{gpp}}&gpp_sid={{gpp_sid}}&pbserverUrl={{redirect_url}} + support-cors: false + uid-macro: '[UID]' progx: enabled: false endpoint: https://us-east.progrtb.com/pserver diff --git a/src/main/resources/static/bidder-params/adsinteractive.json b/src/main/resources/static/bidder-params/adsinteractive.json deleted file mode 100644 index 7296d802e6a..00000000000 --- a/src/main/resources/static/bidder-params/adsinteractive.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Adsinteractive Adapter Params", - "description": "Adsinteractive Bidder Parameter Schema", - "type": "object", - "properties": { - "adUnit": { - "type": "string", - "description": "ad unit name" - } - }, - "required": [ - "adUnit" - ] -} diff --git a/src/test/groovy/org/prebid/server/functional/testcontainers/PbsConfig.groovy b/src/test/groovy/org/prebid/server/functional/testcontainers/PbsConfig.groovy index 02d627f141a..02a8d315b84 100644 --- a/src/test/groovy/org/prebid/server/functional/testcontainers/PbsConfig.groovy +++ b/src/test/groovy/org/prebid/server/functional/testcontainers/PbsConfig.groovy @@ -1,6 +1,6 @@ package org.prebid.server.functional.testcontainers -import org.testcontainers.containers.InfluxDBContainer + import org.testcontainers.containers.MySQLContainer import org.testcontainers.containers.PostgreSQLContainer @@ -123,8 +123,6 @@ LIMIT 1 "adapters.generic.aliases.cwire.meta-info.app-media-types" : "", "adapters.generic.aliases.blue.meta-info.app-media-types" : "", "adapters.generic.aliases.blue.meta-info.site-media-types" : "", - "adapters.generic.aliases.adsinteractive.meta-info.app-media-types" : "", - "adapters.generic.aliases.adsinteractive.meta-info.site-media-types" : "", "adapters.generic.aliases.nativo.meta-info.app-media-types" : "", "adapters.generic.aliases.nativo.meta-info.site-media-types" : "", "adapters.generic.aliases.infytv.meta-info.app-media-types" : "", diff --git a/src/test/java/org/prebid/server/bidder/epsilon/EpsilonBidderTest.java b/src/test/java/org/prebid/server/bidder/epsilon/EpsilonBidderTest.java index f69fb0f5415..eeb1a1ce621 100644 --- a/src/test/java/org/prebid/server/bidder/epsilon/EpsilonBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/epsilon/EpsilonBidderTest.java @@ -31,6 +31,7 @@ import org.prebid.server.proto.openrtb.ext.request.epsilon.ExtImpEpsilon; import org.prebid.server.proto.openrtb.ext.response.BidType; import org.prebid.server.proto.openrtb.ext.response.ExtBidResponse; +import org.prebid.server.util.VersionInfo; import java.math.BigDecimal; import java.util.Collections; @@ -64,13 +65,14 @@ public class EpsilonBidderTest extends VertxTest { @BeforeEach public void setUp() { - target = new EpsilonBidder(ENDPOINT_URL, false, jacksonMapper, currencyConversionService); + target = new EpsilonBidder(ENDPOINT_URL, false, null, jacksonMapper, currencyConversionService); } @Test public void creationShouldFailOnInvalidEndpointUrl() { assertThatIllegalArgumentException() - .isThrownBy(() -> new EpsilonBidder("invalid_url", false, jacksonMapper, currencyConversionService)); + .isThrownBy(() -> new EpsilonBidder( + "invalid_url", false, null, jacksonMapper, currencyConversionService)); } @Test @@ -186,7 +188,7 @@ public void makeHttpRequestsShouldSetSiteIdFromExtSiteIdIfSiteIdIsNullOrEmpty() } @Test - public void makeHttpRequestsShouldSetImpDisplayManagerAndDisplayManagerVer() { + public void makeHttpRequestsShouldSetImpDisplayManager() { // given final BidRequest bidRequest = givenBidRequest(identity()); @@ -198,8 +200,63 @@ public void makeHttpRequestsShouldSetImpDisplayManagerAndDisplayManagerVer() { assertThat(result.getValue()).hasSize(1) .extracting(httpRequest -> mapper.readValue(httpRequest.getBody(), BidRequest.class)) .flatExtracting(BidRequest::getImp) - .extracting(Imp::getDisplaymanager, Imp::getDisplaymanagerver) - .containsExactly(tuple("prebid-s2s", "2.0.0")); + .extracting(Imp::getDisplaymanager) + .containsExactly("prebid-s2s-java"); + } + + @Test + public void makeHttpRequestsShouldNotSetDisplayManagerVerWhenVersionIsNull() { + // given + target = new EpsilonBidder(ENDPOINT_URL, false, null, jacksonMapper, currencyConversionService); + final BidRequest bidRequest = givenBidRequest(identity()); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1) + .extracting(httpRequest -> mapper.readValue(httpRequest.getBody(), BidRequest.class)) + .flatExtracting(BidRequest::getImp) + .extracting(Imp::getDisplaymanagerver) + .containsOnlyNulls(); + } + + @Test + public void makeHttpRequestsShouldNotSetDisplayManagerVerWhenVersionIsUndefined() { + // given + target = new EpsilonBidder( + ENDPOINT_URL, false, VersionInfo.UNDEFINED, jacksonMapper, currencyConversionService); + final BidRequest bidRequest = givenBidRequest(identity()); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1) + .extracting(httpRequest -> mapper.readValue(httpRequest.getBody(), BidRequest.class)) + .flatExtracting(BidRequest::getImp) + .extracting(Imp::getDisplaymanagerver) + .containsOnlyNulls(); + } + + @Test + public void makeHttpRequestsShouldSetDisplayManagerVerWhenVersionIsProvided() { + // given + target = new EpsilonBidder(ENDPOINT_URL, false, "1.2.3", jacksonMapper, currencyConversionService); + final BidRequest bidRequest = givenBidRequest(identity()); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1) + .extracting(httpRequest -> mapper.readValue(httpRequest.getBody(), BidRequest.class)) + .flatExtracting(BidRequest::getImp) + .extracting(Imp::getDisplaymanagerver) + .containsExactly("1.2.3"); } @Test @@ -697,7 +754,7 @@ public void makeBidsShouldReturnAudioBidIfRequestImpHasAudio() throws JsonProces @Test public void makeBidsShouldUpdateBidWithUUIDIfGenerateBidIdIsTrue() throws JsonProcessingException { // given - target = new EpsilonBidder(ENDPOINT_URL, true, jacksonMapper, currencyConversionService); + target = new EpsilonBidder(ENDPOINT_URL, true, null, jacksonMapper, currencyConversionService); final BidderCall httpCall = givenHttpCall( givenBidRequest(builder -> builder.id("123") .banner(Banner.builder().build())), diff --git a/src/test/java/org/prebid/server/bidder/oms/OmsBidderTest.java b/src/test/java/org/prebid/server/bidder/oms/OmsBidderTest.java index 81b3186bc71..f912f04c8b5 100644 --- a/src/test/java/org/prebid/server/bidder/oms/OmsBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/oms/OmsBidderTest.java @@ -35,7 +35,7 @@ public class OmsBidderTest extends VertxTest { - private static final String ENDPOINT_URL = "https://randomurl.com"; + private static final String ENDPOINT_URL = "https://randomurl.com?pid={{PublisherId}}"; private final OmsBidder target = new OmsBidder(ENDPOINT_URL, jacksonMapper); @@ -70,7 +70,7 @@ public void makeHttpRequestsShouldCreateExpectedUrl() { assertThat(result.getErrors()).isEmpty(); assertThat(result.getValue()).hasSize(1) .extracting(HttpRequest::getUri) - .containsExactly("https://randomurl.com?publisherId=otherTagId"); + .containsExactly("https://randomurl.com?pid=otherTagId"); } @Test @@ -86,7 +86,7 @@ public void makeHttpRequestsShouldCreateExpectedUrlWithPublisherId() { assertThat(result.getErrors()).isEmpty(); assertThat(result.getValue()).hasSize(1) .extracting(HttpRequest::getUri) - .containsExactly("https://randomurl.com?publisherId=12345"); + .containsExactly("https://randomurl.com?pid=12345"); } @Test diff --git a/src/test/java/org/prebid/server/it/AdsinteractiveTest.java b/src/test/java/org/prebid/server/it/AdsinteractiveTest.java new file mode 100644 index 00000000000..4468e57a2a8 --- /dev/null +++ b/src/test/java/org/prebid/server/it/AdsinteractiveTest.java @@ -0,0 +1,34 @@ +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 AdsinteractiveTest extends IntegrationTest { + + @Test + public void openrtb2AuctionShouldRespondWithBidsFromAdsinteractive() throws IOException, JSONException { + // given + WIRE_MOCK_RULE.stubFor(post(urlPathEqualTo("/adsinteractive-exchange")) + .withRequestBody(equalToJson(jsonFrom("openrtb2/adsinteractive/test-adsinteractive-bid-request.json"))) + .willReturn(aResponse().withBody( + jsonFrom("openrtb2/adsinteractive/test-adsinteractive-bid-response.json")))); + + // when + final Response response = responseFor("openrtb2/adsinteractive/test-auction-adsinteractive-request.json", + Endpoint.openrtb2_auction); + + // then + assertJsonEquals("openrtb2/adsinteractive/test-auction-adsinteractive-response.json", + response, singletonList("adsinteractive")); + } +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-adsinteractive-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-adsinteractive-bid-request.json new file mode 100644 index 00000000000..dcf904ba566 --- /dev/null +++ b/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-adsinteractive-bid-request.json @@ -0,0 +1,56 @@ +{ + "id": "request_id", + "imp": [ + { + "id": "imp_id", + "banner": { + "w": 300, + "h": 250 + }, + "secure": 1, + "ext": { + "bidder": { + "type": "publisher", + "placementId": "testPlacementId" + } + } + } + ], + "site": { + "domain": "www.example.com", + "page": "http://www.example.com", + "publisher": { + "domain": "example.com" + }, + "ext": { + "amp": 0 + } + }, + "device": { + "ua": "userAgent", + "ip": "193.168.244.1" + }, + "at": 1, + "tmax": "${json-unit.any-number}", + "cur": [ + "USD" + ], + "source": { + "tid": "${json-unit.any-string}" + }, + "regs": { + "ext": { + "gdpr": 0 + } + }, + "ext": { + "prebid": { + "server": { + "externalurl": "http://localhost:8080", + "gvlid": 1, + "datacenter": "local", + "endpoint": "/openrtb2/auction" + } + } + } +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-adsinteractive-bid-response.json b/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-adsinteractive-bid-response.json new file mode 100644 index 00000000000..180173549d8 --- /dev/null +++ b/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-adsinteractive-bid-response.json @@ -0,0 +1,21 @@ +{ + "id": "request_id", + "seatbid": [ + { + "bid": [ + { + "id": "bid_id", + "impid": "imp_id", + "price": 3.33, + "crid": "creativeId", + "mtype": 1, + "ext": { + "prebid": { + "type": "banner" + } + } + } + ] + } + ] +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-auction-adsinteractive-request.json b/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-auction-adsinteractive-request.json new file mode 100644 index 00000000000..18426f8e84f --- /dev/null +++ b/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-auction-adsinteractive-request.json @@ -0,0 +1,23 @@ +{ + "id": "request_id", + "imp": [ + { + "id": "imp_id", + "banner": { + "w": 300, + "h": 250 + }, + "ext": { + "adsinteractive": { + "placementId": "testPlacementId" + } + } + } + ], + "tmax": 5000, + "regs": { + "ext": { + "gdpr": 0 + } + } +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-auction-adsinteractive-response.json b/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-auction-adsinteractive-response.json new file mode 100644 index 00000000000..b3b542f59e0 --- /dev/null +++ b/src/test/resources/org/prebid/server/it/openrtb2/adsinteractive/test-auction-adsinteractive-response.json @@ -0,0 +1,38 @@ +{ + "id": "request_id", + "seatbid": [ + { + "bid": [ + { + "id": "bid_id", + "impid": "imp_id", + "exp": 300, + "price": 3.33, + "crid": "creativeId", + "mtype": 1, + "ext": { + "origbidcpm": 3.33, + "prebid": { + "type": "banner", + "meta": { + "adaptercode": "adsinteractive" + } + } + } + } + ], + "seat": "adsinteractive", + "group": 0 + } + ], + "cur": "USD", + "ext": { + "responsetimemillis": { + "adsinteractive": "{{ adsinteractive.response_time_ms }}" + }, + "prebid": { + "auctiontimestamp": 0 + }, + "tmaxrequest": 5000 + } +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/epsilon/alias/test-epsilon-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/epsilon/alias/test-epsilon-bid-request.json index 2361f71fef6..3194ea7ef95 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/epsilon/alias/test-epsilon-bid-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/epsilon/alias/test-epsilon-bid-request.json @@ -9,8 +9,8 @@ "h": 600 }, "bidfloorcur": "USD", - "displaymanager": "prebid-s2s", - "displaymanagerver": "2.0.0", + "displaymanager": "prebid-s2s-java", + "displaymanagerver": "${json-unit.ignore}", "ext": { "tid": "${json-unit.any-string}", "bidder": { diff --git a/src/test/resources/org/prebid/server/it/openrtb2/epsilon/test-epsilon-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/epsilon/test-epsilon-bid-request.json index 875ab261bbb..783946c68e4 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/epsilon/test-epsilon-bid-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/epsilon/test-epsilon-bid-request.json @@ -9,8 +9,8 @@ "h": 600 }, "bidfloorcur": "USD", - "displaymanager": "prebid-s2s", - "displaymanagerver": "2.0.0", + "displaymanager": "prebid-s2s-java", + "displaymanagerver": "${json-unit.ignore}", "ext": { "tid": "${json-unit.any-string}", "bidder": { 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 8bbbef8c2e4..95c85edaf23 100644 --- a/src/test/resources/org/prebid/server/it/test-application.properties +++ b/src/test/resources/org/prebid/server/it/test-application.properties @@ -585,6 +585,8 @@ adapters.teqblaze.aliases.appStockSSP.enabled=true adapters.teqblaze.aliases.appStockSSP.endpoint=http://localhost:8090/appstockssp-exchange adapters.teqblaze.aliases.gravite.enabled=true adapters.teqblaze.aliases.gravite.endpoint=http://localhost:8090/gravite-exchange +adapters.teqblaze.aliases.adsinteractive.enabled=true +adapters.teqblaze.aliases.adsinteractive.endpoint=http://localhost:8090/adsinteractive-exchange adapters.teqblaze.aliases.progx.enabled=true adapters.teqblaze.aliases.progx.endpoint=http://localhost:8090/progx-exchange/ adapters.theadx.enabled=true