44import com .iab .openrtb .request .Banner ;
55import com .iab .openrtb .request .BidRequest ;
66import com .iab .openrtb .request .Imp ;
7- import com .iab .openrtb .request .Native ;
87import com .iab .openrtb .request .Publisher ;
98import com .iab .openrtb .request .Site ;
109import com .iab .openrtb .request .Video ;
2726import java .util .function .Function ;
2827
2928import static java .util .Collections .singletonList ;
29+ import static java .util .function .UnaryOperator .identity ;
3030import static org .assertj .core .api .Assertions .assertThat ;
3131import static org .assertj .core .api .Assertions .assertThatIllegalArgumentException ;
32+ import static org .prebid .server .proto .openrtb .ext .response .BidType .audio ;
3233import static org .prebid .server .proto .openrtb .ext .response .BidType .banner ;
3334import static org .prebid .server .proto .openrtb .ext .response .BidType .video ;
3435import static org .prebid .server .proto .openrtb .ext .response .BidType .xNative ;
@@ -66,7 +67,7 @@ public void makeHttpRequestsShouldReturnErrorIfImpExtCouldNotBeParsed() {
6667 public void makeHttpRequestsShouldCreateCorrectURL () {
6768 // given
6869 final BidRequest bidRequest = BidRequest .builder ()
69- .imp (singletonList (givenImp (Function . identity ())))
70+ .imp (singletonList (givenImp (identity ())))
7071 .build ();
7172
7273 // when
@@ -83,7 +84,7 @@ public void makeHttpRequestsShouldCreateCorrectURL() {
8384 public void makeHttpRequestsShouldUpdateSiteObjectIfPresent () {
8485 // given
8586 final BidRequest bidRequest = BidRequest .builder ()
86- .imp (singletonList (givenImp (Function . identity ())))
87+ .imp (singletonList (givenImp (identity ())))
8788 .site (Site .builder ()
8889 .domain ("www.foo.com" )
8990 .publisher (Publisher .builder ().domain ("foo.com" ).build ())
@@ -110,7 +111,7 @@ public void makeHttpRequestsShouldUpdateSiteObjectIfPresent() {
110111 public void makeHttpRequestsShouldCreateRequestForEveryValidImp () {
111112 // given
112113 final BidRequest bidRequest = BidRequest .builder ()
113- .imp (Arrays .asList (givenImp (Function . identity ()),
114+ .imp (Arrays .asList (givenImp (identity ()),
114115 givenImp (impBuilder -> impBuilder .id ("456" ))
115116 ))
116117 .build ();
@@ -196,33 +197,46 @@ public void makeBidsShouldReturnEmptyListIfBidResponseSeatBidIsNull() throws Jso
196197 }
197198
198199 @ Test
199- public void makeBidsShouldReturnBannerBidIfBannerIsPresent () throws JsonProcessingException {
200+ public void makeBidsShouldReturnBannerBidIfMarkupTypeIsBanner () throws JsonProcessingException {
200201 // given
201202 final BidderCall <BidRequest > httpCall = givenHttpCall (
202- BidRequest .builder ()
203- .imp (singletonList (Imp .builder ().id ("123" ).banner (Banner .builder ().build ()).build ()))
204- .build (),
203+ BidRequest .builder ().build (),
205204 mapper .writeValueAsString (
206- givenBidResponse (bidBuilder -> bidBuilder .impid ( "123" ))));
205+ givenBidResponse (bidBuilder -> bidBuilder .mtype ( 1 ))));
207206
208207 // when
209208 final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
210209
211210 // then
212211 assertThat (result .getErrors ()).isEmpty ();
213212 assertThat (result .getValue ())
214- .containsOnly (BidderBid .of (Bid .builder ().impid ( "123" ).build (), banner , "EUR" ));
213+ .containsOnly (BidderBid .of (Bid .builder ().mtype ( 1 ).build (), banner , "EUR" ));
215214 }
216215
217216 @ Test
218- public void makeBidsShouldReturnBannerBidByDefault () throws JsonProcessingException {
217+ public void makeBidsShouldReturnAudioBidIfMarkupTypeIsAudio () throws JsonProcessingException {
219218 // given
220219 final BidderCall <BidRequest > httpCall = givenHttpCall (
221- BidRequest .builder ()
222- .imp (singletonList (Imp .builder ().id ("123" ).banner (Banner .builder ().build ()).build ()))
223- .build (),
220+ BidRequest .builder ().build (),
224221 mapper .writeValueAsString (
225- givenBidResponse (Function .identity ())));
222+ givenBidResponse (bidBuilder -> bidBuilder .mtype (3 ))));
223+
224+ // when
225+ final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
226+
227+ // then
228+ assertThat (result .getErrors ()).isEmpty ();
229+ assertThat (result .getValue ())
230+ .containsOnly (BidderBid .of (Bid .builder ().mtype (3 ).build (), audio , "EUR" ));
231+ }
232+
233+ @ Test
234+ public void makeBidsShouldReturnBannerBidIfMarkupTypeIsNull () throws JsonProcessingException {
235+ // given
236+ final BidderCall <BidRequest > httpCall = givenHttpCall (
237+ BidRequest .builder ().build (),
238+ mapper .writeValueAsString (
239+ givenBidResponse (identity ())));
226240
227241 // when
228242 final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
@@ -234,41 +248,54 @@ public void makeBidsShouldReturnBannerBidByDefault() throws JsonProcessingExcept
234248 }
235249
236250 @ Test
237- public void makeBidsShouldReturnVideoBidIfVideoIsPresent () throws JsonProcessingException {
251+ public void makeBidsShouldReturnBannerBidIfMarkupTypeOutOfBounds () throws JsonProcessingException {
252+ // given
253+ final BidderCall <BidRequest > httpCall = givenHttpCall (
254+ BidRequest .builder ().build (),
255+ mapper .writeValueAsString (
256+ givenBidResponse (bidBuilder -> bidBuilder .mtype (5 ))));
257+
258+ // when
259+ final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
260+
261+ // then
262+ assertThat (result .getErrors ()).isEmpty ();
263+ assertThat (result .getValue ())
264+ .containsOnly (BidderBid .of (Bid .builder ().mtype (5 ).build (), banner , "EUR" ));
265+ }
266+
267+ @ Test
268+ public void makeBidsShouldReturnVideoBidIfMarkupTypeIsVideo () throws JsonProcessingException {
238269 // given
239270 final BidderCall <BidRequest > httpCall = givenHttpCall (
240- BidRequest .builder ()
241- .imp (singletonList (Imp .builder ().id ("123" ).video (Video .builder ().build ()).build ()))
242- .build (),
271+ BidRequest .builder ().build (),
243272 mapper .writeValueAsString (
244- givenBidResponse (bidBuilder -> bidBuilder .impid ( "123" ))));
273+ givenBidResponse (bidBuilder -> bidBuilder .mtype ( 2 ))));
245274
246275 // when
247276 final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
248277
249278 // then
250279 assertThat (result .getErrors ()).isEmpty ();
251280 assertThat (result .getValue ())
252- .containsOnly (BidderBid .of (Bid .builder ().impid ( "123" ).build (), video , "EUR" ));
281+ .containsOnly (BidderBid .of (Bid .builder ().mtype ( 2 ).build (), video , "EUR" ));
253282 }
254283
255284 @ Test
256- public void makeBidsShouldReturnNativeBidIfNativeIsPresent () throws JsonProcessingException {
285+ public void makeBidsShouldReturnNativeBidIfMarkupTypeIsNative () throws JsonProcessingException {
257286 // given
258287 final BidderCall <BidRequest > httpCall = givenHttpCall (
259- BidRequest .builder ()
260- .imp (singletonList (Imp .builder ().id ("123" ).xNative (Native .builder ().build ()).build ()))
261- .build (),
288+ BidRequest .builder ().build (),
262289 mapper .writeValueAsString (
263- givenBidResponse (bidBuilder -> bidBuilder .impid ( "123" ))));
290+ givenBidResponse (bidBuilder -> bidBuilder .mtype ( 4 ))));
264291
265292 // when
266293 final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
267294
268295 // then
269296 assertThat (result .getErrors ()).isEmpty ();
270297 assertThat (result .getValue ())
271- .containsOnly (BidderBid .of (Bid .builder ().impid ( "123" ).build (), xNative , "EUR" ));
298+ .containsOnly (BidderBid .of (Bid .builder ().mtype ( 4 ).build (), xNative , "EUR" ));
272299 }
273300
274301 private static Imp givenImp (Function <Imp .ImpBuilder , Imp .ImpBuilder > impCustomizer ) {
0 commit comments