diff --git a/src/main/java/org/prebid/server/bidder/missena/MissenaAdRequest.java b/src/main/java/org/prebid/server/bidder/missena/MissenaAdRequest.java index 2f9722b2c82..f01c6a81e79 100644 --- a/src/main/java/org/prebid/server/bidder/missena/MissenaAdRequest.java +++ b/src/main/java/org/prebid/server/bidder/missena/MissenaAdRequest.java @@ -2,10 +2,12 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.iab.openrtb.request.BidRequest; +import com.iab.openrtb.request.Eid; import lombok.Builder; import lombok.Value; import java.math.BigDecimal; +import java.util.List; @Value @Builder(toBuilder = true) @@ -16,6 +18,11 @@ public class MissenaAdRequest { String currency; + Boolean debug; + + @JsonProperty("userEids") + List userEids; + BigDecimal floor; String floorCurrency; diff --git a/src/main/java/org/prebid/server/bidder/missena/MissenaAdResponse.java b/src/main/java/org/prebid/server/bidder/missena/MissenaAdResponse.java index 6a34c31efbf..acec2fa0199 100644 --- a/src/main/java/org/prebid/server/bidder/missena/MissenaAdResponse.java +++ b/src/main/java/org/prebid/server/bidder/missena/MissenaAdResponse.java @@ -16,6 +16,10 @@ public class MissenaAdResponse { String currency; + Integer width; + + Integer height; + @JsonProperty("requestId") String requestId; } diff --git a/src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java b/src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java index 4cfaa156e9b..1194d57444e 100644 --- a/src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java +++ b/src/main/java/org/prebid/server/bidder/missena/MissenaBidder.java @@ -3,11 +3,14 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.iab.openrtb.request.BidRequest; import com.iab.openrtb.request.Device; +import com.iab.openrtb.request.Eid; import com.iab.openrtb.request.Imp; import com.iab.openrtb.request.Site; +import com.iab.openrtb.request.User; import com.iab.openrtb.response.Bid; import io.vertx.core.MultiMap; import io.vertx.core.http.HttpMethod; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.prebid.server.bidder.Bidder; import org.prebid.server.bidder.model.BidderBid; @@ -21,6 +24,7 @@ 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.ExtUser; import org.prebid.server.proto.openrtb.ext.request.missena.ExtImpMissena; import org.prebid.server.proto.openrtb.ext.response.BidType; import org.prebid.server.util.BidderUtil; @@ -42,6 +46,9 @@ public class MissenaBidder implements Bidder { private static final String USD_CURRENCY = "USD"; private static final String EUR_CURRENCY = "EUR"; private static final String PUBLISHER_ID_MACRO = "PublisherID"; + private static final String VERSION_NAME = "prebid-server-java"; + private static final String VERSION_UNKNOWN = "unknown"; + private static final String VERSION_SEPARATOR = "@"; private final Uri endpointUrl; private final JacksonMapper mapper; @@ -91,22 +98,25 @@ private HttpRequest makeHttpRequest(BidRequest request, Imp im final Price floorInfo = resolveBidFloor(imp, request, requestCurrency); final MissenaUserParams userParams = MissenaUserParams.builder() + .apiKey(extImp.getApiKey()) .formats(extImp.getFormats()) .placement(extImp.getPlacement()) - .testMode(extImp.getTestMode()) + .sample(extImp.getSample()) .settings(extImp.getSettings()) .build(); final MissenaAdRequest missenaAdRequest = MissenaAdRequest.builder() .adUnit(imp.getId()) .currency(requestCurrency) + .debug(Objects.equals(request.getTest(), 1) ? Boolean.TRUE : null) + .userEids(resolveUserEids(request.getUser())) .floor(floorInfo.getValue()) .floorCurrency(floorInfo.getCurrency()) .idempotencyKey(request.getId()) .requestId(request.getId()) .timeout(request.getTmax()) .params(userParams) - .version(prebidVersionProvider.getNameVersionRecord()) + .version(resolveVersion()) .bidRequest(request) .build(); @@ -120,6 +130,17 @@ private HttpRequest makeHttpRequest(BidRequest request, Imp im .build(); } + private String resolveVersion() { + final String version = StringUtils.substringAfter(prebidVersionProvider.getNameVersionRecord(), "/"); + return VERSION_NAME + VERSION_SEPARATOR + (StringUtils.isNotEmpty(version) ? version : VERSION_UNKNOWN); + } + + private static List resolveUserEids(User user) { + final ExtUser extUser = user != null ? user.getExt() : null; + final List eids = extUser != null ? extUser.getEids() : null; + return CollectionUtils.isNotEmpty(eids) ? eids : null; + } + private Price resolveBidFloor(Imp imp, BidRequest bidRequest, String targetCurrency) { final Price initialBidFloorPrice = Price.of(imp.getBidfloorcur(), imp.getBidfloor()); return BidderUtil.isValidPrice(initialBidFloorPrice) @@ -202,6 +223,8 @@ private BidderBid extractBid(BidRequest request, MissenaAdResponse response) { .impid(request.getImp().getFirst().getId()) .adm(response.getAd()) .crid(response.getRequestId()) + .w(response.getWidth()) + .h(response.getHeight()) .build(); return BidderBid.of(bid, BidType.banner, response.getCurrency()); diff --git a/src/main/java/org/prebid/server/bidder/missena/MissenaUserParams.java b/src/main/java/org/prebid/server/bidder/missena/MissenaUserParams.java index e63a704a60c..bc97b9242bc 100644 --- a/src/main/java/org/prebid/server/bidder/missena/MissenaUserParams.java +++ b/src/main/java/org/prebid/server/bidder/missena/MissenaUserParams.java @@ -1,7 +1,7 @@ package org.prebid.server.bidder.missena; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.databind.node.ObjectNode; // Changed import +import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.Builder; import lombok.Value; @@ -11,13 +11,14 @@ @Value public class MissenaUserParams { + @JsonProperty("apiKey") + String apiKey; + List formats; String placement; - @JsonProperty("test") - String testMode; + String sample; ObjectNode settings; } - diff --git a/src/main/java/org/prebid/server/proto/openrtb/ext/request/missena/ExtImpMissena.java b/src/main/java/org/prebid/server/proto/openrtb/ext/request/missena/ExtImpMissena.java index 0c3a8fd08ab..bf11d296186 100644 --- a/src/main/java/org/prebid/server/proto/openrtb/ext/request/missena/ExtImpMissena.java +++ b/src/main/java/org/prebid/server/proto/openrtb/ext/request/missena/ExtImpMissena.java @@ -18,8 +18,7 @@ public class ExtImpMissena { String placement; - @JsonProperty("test") - String testMode; + String sample; ObjectNode settings; } diff --git a/src/main/resources/static/bidder-params/missena.json b/src/main/resources/static/bidder-params/missena.json index be5217efdb1..69d0291cc36 100644 --- a/src/main/resources/static/bidder-params/missena.json +++ b/src/main/resources/static/bidder-params/missena.json @@ -13,9 +13,9 @@ "type": "string", "description": "Placement Type (Sticky, Header, ...)" }, - "test": { - "type": "string", - "description": "Test Mode" + "sample": { + "type": ["string", "null"], + "description": "Sample" }, "formats": { "type": "array", diff --git a/src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java b/src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java index b4025692372..441e1700023 100644 --- a/src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/missena/MissenaBidderTest.java @@ -4,11 +4,13 @@ import com.fasterxml.jackson.databind.node.ObjectNode; import com.iab.openrtb.request.BidRequest; import com.iab.openrtb.request.Device; +import com.iab.openrtb.request.Eid; import com.iab.openrtb.request.Imp; import com.iab.openrtb.request.Regs; import com.iab.openrtb.request.Site; import com.iab.openrtb.request.Source; import com.iab.openrtb.request.SupplyChain; +import com.iab.openrtb.request.Uid; import com.iab.openrtb.request.User; import com.iab.openrtb.response.Bid; import org.junit.jupiter.api.BeforeEach; @@ -33,7 +35,6 @@ import org.prebid.server.version.PrebidVersionProvider; import java.math.BigDecimal; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.function.UnaryOperator; @@ -41,6 +42,7 @@ import static java.util.Collections.singletonList; import static java.util.function.UnaryOperator.identity; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.tuple; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.BDDMockito.given; @@ -57,7 +59,8 @@ class MissenaBidderTest extends VertxTest { private static final String ENDPOINT_URL = "https://test-url.com/?t={PublisherID}"; - private static final String TEST_PBS_VERSION = "pbs-java/1.0"; + private static final String TEST_PBS_VERSION_RECORD = "pbs-java/1.0"; + private static final String TEST_EXPECTED_VERSION = "prebid-server-java@1.0"; @Mock(strictness = LENIENT) private CurrencyConversionService currencyConversionService; @@ -75,7 +78,7 @@ public void setUp() { currencyConversionService, prebidVersionProvider); - given(prebidVersionProvider.getNameVersionRecord()).willReturn(TEST_PBS_VERSION); + given(prebidVersionProvider.getNameVersionRecord()).willReturn(TEST_PBS_VERSION_RECORD); given(currencyConversionService.convertCurrency(any(), any(), anyString(), anyString())) .willAnswer(invocation -> invocation.getArgument(0)); } @@ -83,7 +86,7 @@ public void setUp() { @Test public void makeHttpRequestsShouldReturnErrorIfImpExtCouldNotBeParsed() { // given - final BidRequest bidRequest = givenBidRequest(imp -> imp.ext(givenInvalidImpExt())); + final BidRequest bidRequest = givenBidRequest(givenImp(imp -> imp.ext(givenInvalidImpExt()))); // when final Result>> result = target.makeHttpRequests(bidRequest); @@ -98,20 +101,26 @@ public void makeHttpRequestsShouldReturnErrorIfImpExtCouldNotBeParsed() { public void makeHttpRequestsShouldMakeRequestForFirstValidImp() { // given final ObjectNode settingsNode = mapper.createObjectNode().put("settingKey", "settingValue"); + final List userEids = List.of(Eid.builder() + .source("id-source") + .uids(List.of(Uid.builder().id("uid").atype(1).build())) + .build()); final BidRequest bidRequest = BidRequest.builder() .id("requestId") + .test(1) .tmax(500L) .cur(singletonList("USD")) .imp(List.of( givenImp(imp -> imp.id("impId1") - .ext(givenImpExt("apiKey1", "placementId1", "1", List.of("banner"), settingsNode))), + .ext(givenImpExt("apiKey1", "placementId1", "sample1", + List.of("banner"), settingsNode))), givenImp(imp -> imp.id("impId2") - .ext(givenImpExt("apiKey2", "placementId2", "0", null, null))))) + .ext(givenImpExt("apiKey2", "placementId2", "sample2", null, null))))) .site(Site.builder().page("http://test.com/page").domain("test.com").build()) .regs(Regs.builder().ext(ExtRegs.of(1, null, null, null)).build()) .user(User.builder().buyeruid("buyer1") - .ext(ExtUser.builder().consent("consentStr").build()).build()) + .ext(ExtUser.builder().consent("consentStr").eids(userEids).build()).build()) .source(Source.builder().schain(SupplyChain.of(1, null, null, null)).build()) .device(Device.builder().ua("test-ua").ip("123.123.123.123").build()) .build(); @@ -121,22 +130,25 @@ public void makeHttpRequestsShouldMakeRequestForFirstValidImp() { // then final MissenaUserParams expectedUserParams = MissenaUserParams.builder() + .apiKey("apiKey1") .formats(List.of("banner")) .placement("placementId1") - .testMode("1") + .sample("sample1") .settings(settingsNode) .build(); final MissenaAdRequest expectedPayload = MissenaAdRequest.builder() .adUnit("impId1") .currency("USD") + .debug(true) + .userEids(userEids) .floor(BigDecimal.valueOf(0.1)) .floorCurrency("USD") .idempotencyKey("requestId") .requestId("requestId") .timeout(500L) .params(expectedUserParams) - .version(TEST_PBS_VERSION) + .version(TEST_EXPECTED_VERSION) .bidRequest(bidRequest) .build(); @@ -149,12 +161,140 @@ public void makeHttpRequestsShouldMakeRequestForFirstValidImp() { .containsExactly(Collections.singleton("impId1")); } + @Test + public void makeHttpRequestsShouldPassOriginalBidRequestAsOrtb2() { + // given + final BidRequest bidRequest = givenBidRequest(givenImp(imp -> imp.ext(givenImpExt("apiKey")))); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1).first() + .extracting(HttpRequest::getPayload) + .extracting(MissenaAdRequest::getBidRequest) + .isEqualTo(bidRequest); + } + + @Test + public void makeHttpRequestsShouldPassUserEidsWhenPresent() { + // given + final List userEids = List.of(Eid.builder() + .source("id-source") + .uids(List.of(Uid.builder().id("uid").atype(1).build())) + .build()); + final BidRequest bidRequest = givenBidRequest( + request -> request.user(User.builder().ext(ExtUser.builder().eids(userEids).build()).build()), + givenImp(imp -> imp.ext(givenImpExt("apiKey")))); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1).first() + .extracting(HttpRequest::getPayload) + .extracting(MissenaAdRequest::getUserEids) + .isEqualTo(userEids); + } + + @Test + public void makeHttpRequestsShouldNotPassUserEidsWhenUserIsNull() { + // given + final BidRequest bidRequest = givenBidRequest( + request -> request.user(null), + givenImp(imp -> imp.ext(givenImpExt("apiKey")))); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1).first() + .extracting(HttpRequest::getPayload) + .extracting(MissenaAdRequest::getUserEids) + .isNull(); + } + + @Test + public void makeHttpRequestsShouldNotPassUserEidsWhenEidsAreEmpty() { + // given + final BidRequest bidRequest = givenBidRequest( + request -> request.user( + User.builder().ext(ExtUser.builder().eids(Collections.emptyList()).build()).build()), + givenImp(imp -> imp.ext(givenImpExt("apiKey")))); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1).first() + .extracting(HttpRequest::getPayload) + .extracting(MissenaAdRequest::getUserEids) + .isNull(); + } + + @Test + public void makeHttpRequestsShouldSetDebugWhenTestIsOne() { + // given + final BidRequest bidRequest = givenBidRequest( + request -> request.test(1), + givenImp(imp -> imp.ext(givenImpExt("apiKey")))); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1).first() + .extracting(HttpRequest::getPayload) + .extracting(MissenaAdRequest::getDebug) + .isEqualTo(true); + } + + @Test + public void makeHttpRequestsShouldNotSetDebugWhenTestIsNotOne() { + // given + final BidRequest bidRequest = givenBidRequest( + request -> request.test(0), + givenImp(imp -> imp.ext(givenImpExt("apiKey")))); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1).first() + .extracting(HttpRequest::getPayload) + .extracting(MissenaAdRequest::getDebug) + .isNull(); + } + + @Test + public void makeHttpRequestsShouldSendUnknownVersionWhenVersionRecordIsNull() { + // given + given(prebidVersionProvider.getNameVersionRecord()).willReturn(null); + final BidRequest bidRequest = givenBidRequest(givenImp(imp -> imp.ext(givenImpExt("apiKey")))); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).hasSize(1).first() + .extracting(HttpRequest::getPayload) + .extracting(MissenaAdRequest::getVersion) + .isEqualTo("prebid-server-java@unknown"); + } + @Test public void makeHttpRequestsShouldReturnErrorIfAllImpsAreInvalid() { // given final BidRequest bidRequest = givenBidRequest( - imp -> imp.ext(givenInvalidImpExt()), - imp -> imp.ext(givenInvalidImpExt())); + givenImp(imp -> imp.ext(givenInvalidImpExt())), + givenImp(imp -> imp.ext(givenInvalidImpExt()))); // when final Result>> result = target.makeHttpRequests(bidRequest); @@ -169,11 +309,11 @@ public void makeHttpRequestsShouldReturnErrorIfAllImpsAreInvalid() { @Test public void makeHttpRequestsShouldReturnExpectedHeadersWhenDeviceHasIpAndIpv6() { // given - final BidRequest bidRequest = givenBidRequest(identity()) - .toBuilder() - .site(Site.builder().page("http://page.com").build()) - .device(Device.builder().ua("ua").ip("ip").ipv6("ipv6").build()) - .build(); + final BidRequest bidRequest = givenBidRequest( + request -> request + .site(Site.builder().page("http://page.com").build()) + .device(Device.builder().ua("ua").ip("ip").ipv6("ipv6").build()), + givenImp(identity())); // when final Result>> result = target.makeHttpRequests(bidRequest); @@ -195,10 +335,9 @@ public void makeHttpRequestsShouldReturnExpectedHeadersWhenDeviceHasIpAndIpv6() @Test public void makeHttpRequestsShouldReturnExpectedHeadersWhenDeviceHasIpv6Only() { // given - final BidRequest bidRequest = givenBidRequest(identity()) - .toBuilder() - .device(Device.builder().ip(null).ipv6("ipv6").build()) - .build(); + final BidRequest bidRequest = givenBidRequest( + request -> request.device(Device.builder().ip(null).ipv6("ipv6").build()), + givenImp(identity())); // when final Result>> result = target.makeHttpRequests(bidRequest); @@ -244,7 +383,7 @@ public void makeHttpRequestsShouldConvertBidFloorCurrency() { @Test public void makeHttpRequestsShouldUseCorrectUri() { // given - final BidRequest bidRequest = givenBidRequest(imp -> imp.ext(givenImpExt("testApiKey"))); + final BidRequest bidRequest = givenBidRequest(givenImp(imp -> imp.ext(givenImpExt("testApiKey")))); // when final Result>> result = target.makeHttpRequests(bidRequest); @@ -260,7 +399,7 @@ public void makeHttpRequestsShouldUseCorrectUri() { public void makeBidsShouldReturnErrorIfResponseBodyCouldNotBeParsed() { // given final BidderCall httpCall = givenHttpCall("invalid"); - final BidRequest bidRequest = givenBidRequest(imp -> imp.id("impId1")); + final BidRequest bidRequest = givenBidRequest(givenImp(imp -> imp.id("impId1"))); // when final Result> result = target.makeBids(httpCall, bidRequest); @@ -281,10 +420,14 @@ public void makeBidsShouldReturnSingleBid() throws JsonProcessingException { .cpm(BigDecimal.TEN) .currency("USD") .ad("adm") + .width(320) + .height(100) .build(); final BidderCall httpCall = givenHttpCall(mapper.writeValueAsString(bidResponse)); - final BidRequest bidRequest = givenBidRequest(imp -> imp.id("impId")).toBuilder().id("requestId").build(); + final BidRequest bidRequest = givenBidRequest( + request -> request.id("requestId"), + givenImp(imp -> imp.id("impId"))); // when final Result> result = target.makeBids(httpCall, bidRequest); @@ -298,17 +441,48 @@ public void makeBidsShouldReturnSingleBid() throws JsonProcessingException { .price(BigDecimal.TEN) .adm("adm") .crid("id") + .w(320) + .h(100) .build(); assertThat(result.getValue()).hasSize(1) .containsOnly(BidderBid.of(expectedBid, BidType.banner, "USD")); } - private static BidRequest givenBidRequest(UnaryOperator... impCustomizers) { - final List imps = Arrays.stream(impCustomizers) - .map(MissenaBidderTest::givenImp) - .toList(); - return BidRequest.builder().imp(imps).cur(singletonList("USD")).build(); + @Test + public void makeBidsShouldReturnBidWithoutSizeWhenResponseHasNoSize() throws JsonProcessingException { + // given + final MissenaAdResponse bidResponse = MissenaAdResponse.builder() + .requestId("id") + .cpm(BigDecimal.TEN) + .currency("USD") + .ad("adm") + .build(); + + final BidderCall httpCall = givenHttpCall(mapper.writeValueAsString(bidResponse)); + final BidRequest bidRequest = givenBidRequest( + request -> request.id("requestId"), + givenImp(imp -> imp.id("impId"))); + + // when + final Result> result = target.makeBids(httpCall, bidRequest); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()) + .extracting(BidderBid::getBid) + .extracting(Bid::getW, Bid::getH) + .containsExactly(tuple(null, null)); + } + + private static BidRequest givenBidRequest(Imp... imps) { + return givenBidRequest(identity(), imps); + } + + private static BidRequest givenBidRequest(UnaryOperator bidRequestCustomizer, + Imp... imps) { + + return bidRequestCustomizer.apply(BidRequest.builder().imp(List.of(imps)).cur(singletonList("USD"))).build(); } private static Imp givenImp(UnaryOperator impCustomizer) { @@ -326,14 +500,14 @@ private static ObjectNode givenImpExt(String apiKey) { private static ObjectNode givenImpExt(String apiKey, String placement, - String testMode, + String sample, List formats, ObjectNode settings) { final ExtImpMissena extImpMissena = ExtImpMissena.builder() .apiKey(apiKey) .placement(placement) - .testMode(testMode) + .sample(sample) .formats(formats) .settings(settings) .build(); diff --git a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-request.json b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-request.json index cacda5b188c..89c82b49442 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-request.json @@ -11,7 +11,7 @@ "missena": { "apiKey": "apiKey", "placement": "placement", - "test": "test" + "sample": "sample" } } } diff --git a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-response.json b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-response.json index 344c58cb6e6..4b0511cc829 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-response.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-auction-missena-response.json @@ -10,6 +10,8 @@ "price": 10.2, "adm": "adm", "crid": "id", + "w": 320, + "h": 250, "ext": { "origbidcpm": 10.2, "origbidcur": "USD", diff --git a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json index 2feeee36d73..f5adf2e85c1 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-request.json @@ -5,8 +5,9 @@ "request_id": "request_id", "timeout": "${json-unit.any-number}", "params": { + "apiKey": "apiKey", "placement": "placement", - "test": "test" + "sample": "sample" }, "ortb2": { "id": "request_id", @@ -23,7 +24,7 @@ "bidder": { "apiKey": "apiKey", "placement": "placement", - "test": "test" + "sample": "sample" } } } diff --git a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-response.json b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-response.json index 4dece3dba9b..1c4c0cbfacd 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-response.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/missena/test-missena-bid-response.json @@ -2,5 +2,7 @@ "requestId": "id", "cpm": 10.2, "ad": "adm", - "currency": "USD" + "currency": "USD", + "width": 320, + "height": 250 }