4
4
import com .iab .openrtb .request .Banner ;
5
5
import com .iab .openrtb .request .BidRequest ;
6
6
import com .iab .openrtb .request .Imp ;
7
- import com .iab .openrtb .request .Native ;
8
7
import com .iab .openrtb .request .Publisher ;
9
8
import com .iab .openrtb .request .Site ;
10
9
import com .iab .openrtb .request .Video ;
27
26
import java .util .function .Function ;
28
27
29
28
import static java .util .Collections .singletonList ;
29
+ import static java .util .function .UnaryOperator .identity ;
30
30
import static org .assertj .core .api .Assertions .assertThat ;
31
31
import static org .assertj .core .api .Assertions .assertThatIllegalArgumentException ;
32
+ import static org .prebid .server .proto .openrtb .ext .response .BidType .audio ;
32
33
import static org .prebid .server .proto .openrtb .ext .response .BidType .banner ;
33
34
import static org .prebid .server .proto .openrtb .ext .response .BidType .video ;
34
35
import static org .prebid .server .proto .openrtb .ext .response .BidType .xNative ;
@@ -66,7 +67,7 @@ public void makeHttpRequestsShouldReturnErrorIfImpExtCouldNotBeParsed() {
66
67
public void makeHttpRequestsShouldCreateCorrectURL () {
67
68
// given
68
69
final BidRequest bidRequest = BidRequest .builder ()
69
- .imp (singletonList (givenImp (Function . identity ())))
70
+ .imp (singletonList (givenImp (identity ())))
70
71
.build ();
71
72
72
73
// when
@@ -83,7 +84,7 @@ public void makeHttpRequestsShouldCreateCorrectURL() {
83
84
public void makeHttpRequestsShouldUpdateSiteObjectIfPresent () {
84
85
// given
85
86
final BidRequest bidRequest = BidRequest .builder ()
86
- .imp (singletonList (givenImp (Function . identity ())))
87
+ .imp (singletonList (givenImp (identity ())))
87
88
.site (Site .builder ()
88
89
.domain ("www.foo.com" )
89
90
.publisher (Publisher .builder ().domain ("foo.com" ).build ())
@@ -110,7 +111,7 @@ public void makeHttpRequestsShouldUpdateSiteObjectIfPresent() {
110
111
public void makeHttpRequestsShouldCreateRequestForEveryValidImp () {
111
112
// given
112
113
final BidRequest bidRequest = BidRequest .builder ()
113
- .imp (Arrays .asList (givenImp (Function . identity ()),
114
+ .imp (Arrays .asList (givenImp (identity ()),
114
115
givenImp (impBuilder -> impBuilder .id ("456" ))
115
116
))
116
117
.build ();
@@ -196,33 +197,46 @@ public void makeBidsShouldReturnEmptyListIfBidResponseSeatBidIsNull() throws Jso
196
197
}
197
198
198
199
@ Test
199
- public void makeBidsShouldReturnBannerBidIfBannerIsPresent () throws JsonProcessingException {
200
+ public void makeBidsShouldReturnBannerBidIfMarkupTypeIsBanner () throws JsonProcessingException {
200
201
// given
201
202
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 (),
205
204
mapper .writeValueAsString (
206
- givenBidResponse (bidBuilder -> bidBuilder .impid ( "123" ))));
205
+ givenBidResponse (bidBuilder -> bidBuilder .mtype ( 1 ))));
207
206
208
207
// when
209
208
final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
210
209
211
210
// then
212
211
assertThat (result .getErrors ()).isEmpty ();
213
212
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" ));
215
214
}
216
215
217
216
@ Test
218
- public void makeBidsShouldReturnBannerBidByDefault () throws JsonProcessingException {
217
+ public void makeBidsShouldReturnAudioBidIfMarkupTypeIsAudio () throws JsonProcessingException {
219
218
// given
220
219
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 (),
224
221
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 ())));
226
240
227
241
// when
228
242
final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
@@ -234,41 +248,54 @@ public void makeBidsShouldReturnBannerBidByDefault() throws JsonProcessingExcept
234
248
}
235
249
236
250
@ 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 {
238
269
// given
239
270
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 (),
243
272
mapper .writeValueAsString (
244
- givenBidResponse (bidBuilder -> bidBuilder .impid ( "123" ))));
273
+ givenBidResponse (bidBuilder -> bidBuilder .mtype ( 2 ))));
245
274
246
275
// when
247
276
final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
248
277
249
278
// then
250
279
assertThat (result .getErrors ()).isEmpty ();
251
280
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" ));
253
282
}
254
283
255
284
@ Test
256
- public void makeBidsShouldReturnNativeBidIfNativeIsPresent () throws JsonProcessingException {
285
+ public void makeBidsShouldReturnNativeBidIfMarkupTypeIsNative () throws JsonProcessingException {
257
286
// given
258
287
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 (),
262
289
mapper .writeValueAsString (
263
- givenBidResponse (bidBuilder -> bidBuilder .impid ( "123" ))));
290
+ givenBidResponse (bidBuilder -> bidBuilder .mtype ( 4 ))));
264
291
265
292
// when
266
293
final Result <List <BidderBid >> result = target .makeBids (httpCall , null );
267
294
268
295
// then
269
296
assertThat (result .getErrors ()).isEmpty ();
270
297
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" ));
272
299
}
273
300
274
301
private static Imp givenImp (Function <Imp .ImpBuilder , Imp .ImpBuilder > impCustomizer ) {
0 commit comments