Skip to content

Commit 6aeb12a

Browse files
committed
Change test order
1 parent 2db652e commit 6aeb12a

File tree

1 file changed

+157
-151
lines changed

1 file changed

+157
-151
lines changed

src/test/java/org/prebid/server/bidder/yandex/YandexBidderTest.java

Lines changed: 157 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ public void creationShouldFailOnInvalidEndpointUrl() {
4949
assertThatIllegalArgumentException().isThrownBy(() -> new YandexBidder("invalid_url", jacksonMapper));
5050
}
5151

52+
// ========== makeHttpRequest* tests ==========
53+
5254
@Test
5355
public void makeHttpRequestsShouldReturnErrorIfImpExtCouldNotBeParsed() {
5456
// given
@@ -263,6 +265,159 @@ public void makeHttpRequestsShouldModifyVideoParameters() {
263265
.containsOnly(tuple(1, 120, singletonList(3)));
264266
}
265267

268+
@Test
269+
public void makeHttpRequestsShouldSetExpectedHeaders() {
270+
// given
271+
final BidRequest bidRequest = givenBidRequest(identity(),
272+
requestBuilder -> requestBuilder.site(Site.builder().id("1").page("https://example.com/path?query=value").build())
273+
.device(Device.builder().ua("UA").language("EN").ip("127.0.0.1").build()));
274+
275+
// when
276+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
277+
278+
// then
279+
assertThat(result.getErrors()).isEmpty();
280+
assertThat(result.getValue().getFirst().getHeaders())
281+
.extracting(Map.Entry::getKey, Map.Entry::getValue)
282+
.containsOnly(tuple("Accept-Language", "EN"),
283+
tuple("User-Agent", "UA"),
284+
tuple("X-Forwarded-For", "127.0.0.1"),
285+
tuple("X-Real-Ip", "127.0.0.1"),
286+
tuple("Content-Type", "application/json;charset=utf-8"),
287+
tuple("Accept", "application/json"),
288+
tuple("x-openrtb-version", "2.5"),
289+
tuple("Referer", "https://example.com/path?query=value"));
290+
}
291+
292+
@Test
293+
public void makeHttpRequestsShouldCreateCorrectURL() {
294+
// given
295+
final BidRequest bidRequest = BidRequest.builder()
296+
.imp(singletonList(givenImp(impBuilder -> impBuilder.id("blockA").ext(givenImpExt(1)))))
297+
.site(Site.builder().id("1").page("https://example.com/path?query=value").build())
298+
.cur(asList("EUR", "USD"))
299+
.build();
300+
// when
301+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
302+
303+
// then
304+
assertThat(result.getErrors()).isEmpty();
305+
assertThat(result.getValue()).extracting(HttpRequest::getUri)
306+
.containsExactly("https://test.endpoint.com/?"
307+
+ "target-ref=https%3A%2F%2Fexample.com%2Fpath%3Fquery%3Dvalue&ssp-cur=EUR");
308+
}
309+
310+
@Test
311+
public void makeHttpRequestsShouldSupportMultiFormatImpression() {
312+
// given
313+
final BidRequest bidRequest = BidRequest.builder()
314+
.site(Site.builder().id("1").build())
315+
.imp(singletonList(
316+
Imp.builder().id("multiFormatImp")
317+
.banner(Banner.builder().w(300).h(600).build())
318+
.video(Video.builder().w(300).h(600).build())
319+
.xNative(Native.builder().build())
320+
.ext(givenImpExt(1))
321+
.build()))
322+
.build();
323+
324+
// when
325+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
326+
327+
// then
328+
assertThat(result.getErrors()).isEmpty();
329+
assertThat(result.getValue()).hasSize(1);
330+
331+
final Imp modifiedImp = result.getValue().getFirst().getPayload().getImp().getFirst();
332+
assertThat(modifiedImp.getBanner()).isNotNull();
333+
assertThat(modifiedImp.getVideo()).isNotNull();
334+
assertThat(modifiedImp.getXNative()).isNotNull();
335+
assertThat(modifiedImp.getDisplaymanager()).isEqualTo("prebid.java");
336+
assertThat(modifiedImp.getDisplaymanagerver()).isEqualTo("1.1");
337+
}
338+
339+
@Test
340+
public void makeHttpRequestsShouldSupportMultiFormatImpressionWithPartialErrors() {
341+
// given
342+
final BidRequest bidRequest = BidRequest.builder()
343+
.site(Site.builder().id("1").build())
344+
.imp(singletonList(
345+
Imp.builder().id("multiFormatImpWithErrors")
346+
.banner(Banner.builder().w(0).h(0).build()) // Invalid banner
347+
.video(Video.builder().w(300).h(600).build()) // Valid video
348+
.xNative(Native.builder().build()) // Valid native
349+
.ext(givenImpExt(1))
350+
.build()))
351+
.build();
352+
353+
// when
354+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
355+
356+
// then
357+
assertThat(result.getErrors()).containsExactly(
358+
BidderError.badInput("Invalid sizes provided for Banner 0x0"));
359+
assertThat(result.getValue()).isEmpty();
360+
}
361+
362+
@Test
363+
public void makeHttpRequestsShouldReturnErrorWhenNoValidFormats() {
364+
// given
365+
final BidRequest bidRequest = BidRequest.builder()
366+
.site(Site.builder().id("1").build())
367+
.imp(singletonList(
368+
Imp.builder().id("noValidFormats")
369+
.banner(Banner.builder().w(0).h(0).build()) // Invalid banner
370+
.video(Video.builder().w(0).h(0).build()) // Invalid video
371+
.ext(givenImpExt(1))
372+
.build()))
373+
.build();
374+
375+
// when
376+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
377+
378+
// then
379+
assertThat(result.getErrors())
380+
.containsExactly(BidderError.badInput("Invalid sizes provided for Banner 0x0"));
381+
assertThat(result.getValue()).isEmpty();
382+
}
383+
384+
@Test
385+
public void makeHttpRequestsShouldSetDisplayManagerAndVersionForAllImpTypes() {
386+
// given
387+
final BidRequest bidRequest = BidRequest.builder()
388+
.site(Site.builder().id("1").build())
389+
.imp(asList(
390+
Imp.builder().id("bannerImp")
391+
.banner(Banner.builder().w(300).h(600).build())
392+
.ext(givenImpExt(1))
393+
.build(),
394+
Imp.builder().id("videoImp")
395+
.video(Video.builder().w(300).h(600).build())
396+
.ext(givenImpExt(2))
397+
.build(),
398+
Imp.builder().id("nativeImp")
399+
.xNative(Native.builder().build())
400+
.ext(givenImpExt(3))
401+
.build()))
402+
.build();
403+
404+
// when
405+
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
406+
407+
// then
408+
assertThat(result.getErrors()).isEmpty();
409+
assertThat(result.getValue()).hasSize(3)
410+
.extracting(HttpRequest::getPayload)
411+
.flatExtracting(BidRequest::getImp)
412+
.extracting(Imp::getDisplaymanager, Imp::getDisplaymanagerver)
413+
.containsOnly(
414+
tuple("prebid.java", "1.1"),
415+
tuple("prebid.java", "1.1"),
416+
tuple("prebid.java", "1.1"));
417+
}
418+
419+
// ========== makeBids* tests ==========
420+
266421
@Test
267422
public void makeBidsShouldReturnErrorIfResponseBodyCouldNotBeParsed() {
268423
// given
@@ -458,156 +613,7 @@ public void makeBidsShouldReturnCorrectBidTypeForMultiFormatImpression() throws
458613
assertThat(result.getValue().getFirst().getType()).isEqualTo(video); // Video has highest priority
459614
}
460615

461-
@Test
462-
public void makeHttpRequestsShouldSetExpectedHeaders() {
463-
// given
464-
final BidRequest bidRequest = givenBidRequest(identity(),
465-
requestBuilder -> requestBuilder.site(Site.builder().id("1").page("https://example.com/path?query=value").build())
466-
.device(Device.builder().ua("UA").language("EN").ip("127.0.0.1").build()));
467-
468-
// when
469-
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
470-
471-
// then
472-
assertThat(result.getErrors()).isEmpty();
473-
assertThat(result.getValue().getFirst().getHeaders())
474-
.extracting(Map.Entry::getKey, Map.Entry::getValue)
475-
.containsOnly(tuple("Accept-Language", "EN"),
476-
tuple("User-Agent", "UA"),
477-
tuple("X-Forwarded-For", "127.0.0.1"),
478-
tuple("X-Real-Ip", "127.0.0.1"),
479-
tuple("Content-Type", "application/json;charset=utf-8"),
480-
tuple("Accept", "application/json"),
481-
tuple("x-openrtb-version", "2.5"),
482-
tuple("Referer", "https://example.com/path?query=value"));
483-
}
484-
485-
@Test
486-
public void makeHttpRequestsShouldCreateCorrectURL() {
487-
// given
488-
final BidRequest bidRequest = BidRequest.builder()
489-
.imp(singletonList(givenImp(impBuilder -> impBuilder.id("blockA").ext(givenImpExt(1)))))
490-
.site(Site.builder().id("1").page("https://example.com/path?query=value").build())
491-
.cur(asList("EUR", "USD"))
492-
.build();
493-
// when
494-
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
495-
496-
// then
497-
assertThat(result.getErrors()).isEmpty();
498-
assertThat(result.getValue()).extracting(HttpRequest::getUri)
499-
.containsExactly("https://test.endpoint.com/?"
500-
+ "target-ref=https%3A%2F%2Fexample.com%2Fpath%3Fquery%3Dvalue&ssp-cur=EUR");
501-
}
502-
503-
@Test
504-
public void makeHttpRequestsShouldSupportMultiFormatImpression() {
505-
// given
506-
final BidRequest bidRequest = BidRequest.builder()
507-
.site(Site.builder().id("1").build())
508-
.imp(singletonList(
509-
Imp.builder().id("multiFormatImp")
510-
.banner(Banner.builder().w(300).h(600).build())
511-
.video(Video.builder().w(300).h(600).build())
512-
.xNative(Native.builder().build())
513-
.ext(givenImpExt(1))
514-
.build()))
515-
.build();
516-
517-
// when
518-
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
519-
520-
// then
521-
assertThat(result.getErrors()).isEmpty();
522-
assertThat(result.getValue()).hasSize(1);
523-
524-
final Imp modifiedImp = result.getValue().getFirst().getPayload().getImp().getFirst();
525-
assertThat(modifiedImp.getBanner()).isNotNull();
526-
assertThat(modifiedImp.getVideo()).isNotNull();
527-
assertThat(modifiedImp.getXNative()).isNotNull();
528-
assertThat(modifiedImp.getDisplaymanager()).isEqualTo("prebid.java");
529-
assertThat(modifiedImp.getDisplaymanagerver()).isEqualTo("1.1");
530-
}
531-
532-
@Test
533-
public void makeHttpRequestsShouldSupportMultiFormatImpressionWithPartialErrors() {
534-
// given
535-
final BidRequest bidRequest = BidRequest.builder()
536-
.site(Site.builder().id("1").build())
537-
.imp(singletonList(
538-
Imp.builder().id("multiFormatImpWithErrors")
539-
.banner(Banner.builder().w(0).h(0).build()) // Invalid banner
540-
.video(Video.builder().w(300).h(600).build()) // Valid video
541-
.xNative(Native.builder().build()) // Valid native
542-
.ext(givenImpExt(1))
543-
.build()))
544-
.build();
545-
546-
// when
547-
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
548-
549-
// then
550-
assertThat(result.getErrors()).containsExactly(
551-
BidderError.badInput("Invalid sizes provided for Banner 0x0"));
552-
assertThat(result.getValue()).isEmpty();
553-
}
554-
555-
@Test
556-
public void makeHttpRequestsShouldReturnErrorWhenNoValidFormats() {
557-
// given
558-
final BidRequest bidRequest = BidRequest.builder()
559-
.site(Site.builder().id("1").build())
560-
.imp(singletonList(
561-
Imp.builder().id("noValidFormats")
562-
.banner(Banner.builder().w(0).h(0).build()) // Invalid banner
563-
.video(Video.builder().w(0).h(0).build()) // Invalid video
564-
.ext(givenImpExt(1))
565-
.build()))
566-
.build();
567-
568-
// when
569-
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
570-
571-
// then
572-
assertThat(result.getErrors())
573-
.containsExactly(BidderError.badInput("Invalid sizes provided for Banner 0x0"));
574-
assertThat(result.getValue()).isEmpty();
575-
}
576-
577-
@Test
578-
public void makeHttpRequestsShouldSetDisplayManagerAndVersionForAllImpTypes() {
579-
// given
580-
final BidRequest bidRequest = BidRequest.builder()
581-
.site(Site.builder().id("1").build())
582-
.imp(asList(
583-
Imp.builder().id("bannerImp")
584-
.banner(Banner.builder().w(300).h(600).build())
585-
.ext(givenImpExt(1))
586-
.build(),
587-
Imp.builder().id("videoImp")
588-
.video(Video.builder().w(300).h(600).build())
589-
.ext(givenImpExt(2))
590-
.build(),
591-
Imp.builder().id("nativeImp")
592-
.xNative(Native.builder().build())
593-
.ext(givenImpExt(3))
594-
.build()))
595-
.build();
596-
597-
// when
598-
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
599-
600-
// then
601-
assertThat(result.getErrors()).isEmpty();
602-
assertThat(result.getValue()).hasSize(3)
603-
.extracting(HttpRequest::getPayload)
604-
.flatExtracting(BidRequest::getImp)
605-
.extracting(Imp::getDisplaymanager, Imp::getDisplaymanagerver)
606-
.containsOnly(
607-
tuple("prebid.java", "1.1"),
608-
tuple("prebid.java", "1.1"),
609-
tuple("prebid.java", "1.1"));
610-
}
616+
// ========== Helper methods ==========
611617

612618
private static BidRequest givenBidRequest(
613619
Function<Imp.ImpBuilder, Imp.ImpBuilder> impCustomizer,
@@ -644,4 +650,4 @@ private static BidderCall<BidRequest> givenBidderCall(BidRequest bidRequest, Str
644650
HttpResponse.of(200, null, body),
645651
null);
646652
}
647-
}
653+
}

0 commit comments

Comments
 (0)