diff --git a/src/main/java/org/prebid/server/bidder/rise/RiseBidder.java b/src/main/java/org/prebid/server/bidder/rise/RiseBidder.java index 05a5dafa212..11967f78e85 100644 --- a/src/main/java/org/prebid/server/bidder/rise/RiseBidder.java +++ b/src/main/java/org/prebid/server/bidder/rise/RiseBidder.java @@ -132,6 +132,7 @@ private static BidType resolveBidType(Bid bid) throws PreBidException { return switch (markupType) { case 1 -> BidType.banner; case 2 -> BidType.video; + case 4 -> BidType.xNative; default -> throw new PreBidException("Unsupported MType: %s, for bid: %s".formatted(markupType, bid.getId())); }; diff --git a/src/main/resources/bidder-config/rise.yaml b/src/main/resources/bidder-config/rise.yaml index 12fc11eb92e..f8244da16f8 100644 --- a/src/main/resources/bidder-config/rise.yaml +++ b/src/main/resources/bidder-config/rise.yaml @@ -2,14 +2,17 @@ adapters: rise: endpoint: https://pbs.yellowblue.io/pbs modifying-vast-xml-allowed: true + endpoint-compression: gzip meta-info: maintainer-email: rise-prog-dev@risecodes.com app-media-types: - banner - video + - native site-media-types: - banner - video + - native supported-vendors: vendor-id: 1043 usersync: diff --git a/src/test/java/org/prebid/server/bidder/rise/RiseBidderTest.java b/src/test/java/org/prebid/server/bidder/rise/RiseBidderTest.java index eb9f661d046..ade89a7e95a 100644 --- a/src/test/java/org/prebid/server/bidder/rise/RiseBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/rise/RiseBidderTest.java @@ -28,6 +28,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.prebid.server.proto.openrtb.ext.response.BidType.banner; import static org.prebid.server.proto.openrtb.ext.response.BidType.video; +import static org.prebid.server.proto.openrtb.ext.response.BidType.xNative; public class RiseBidderTest extends VertxTest { @@ -214,6 +215,21 @@ public void makeBidsShouldReturnVideoBidIfMTypeIsTwo() throws JsonProcessingExce assertThat(result.getValue()).containsOnly(BidderBid.of(Bid.builder().mtype(2).build(), video, "USD")); } + @Test + public void makeBidsShouldReturnNativeBidIfMTypeIsFour() throws JsonProcessingException { + // given + final BidderCall httpCall = givenHttpCall( + BidRequest.builder().imp(singletonList(Imp.builder().id("123").build())).build(), + mapper.writeValueAsString(givenBidResponse(Bid.builder().mtype(4).build()))); + + // when + final Result> result = target.makeBids(httpCall, null); + + // then + assertThat(result.getErrors()).isEmpty(); + assertThat(result.getValue()).containsOnly(BidderBid.of(Bid.builder().mtype(4).build(), xNative, "USD")); + } + @Test public void makeBidsShouldReturnErrorsForBidsThatDoesNotContainMType() throws JsonProcessingException { // given