Skip to content

Commit fb04e9f

Browse files
refactor tests after review
1 parent ae6260f commit fb04e9f

File tree

2 files changed

+27
-35
lines changed

2 files changed

+27
-35
lines changed

src/main/java/org/prebid/server/bidder/showheroes/ShowheroesBidder.java

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -122,22 +122,15 @@ private static ExtRequestPrebidChannel getPrebidChannel(BidRequest bidRequest) {
122122
private Imp modifyImp(BidRequest bidRequest, Imp imp, ExtRequestPrebidChannel prebidChannel) {
123123
final ExtImpShowheroes extImpShowheroes = parseImpExt(imp);
124124

125-
final Imp.ImpBuilder impBuilder = imp.toBuilder();
126-
127-
if (prebidChannel != null && imp.getDisplaymanager() == null) {
128-
impBuilder.displaymanager(prebidChannel.getName());
129-
impBuilder.displaymanagerver(prebidChannel.getVersion());
130-
}
131-
132-
impBuilder.ext(modifyImpExt(imp, extImpShowheroes));
133-
134-
if (!shouldConvertFloor(imp)) {
135-
return impBuilder.build();
136-
}
137-
138-
return impBuilder
139-
.bidfloorcur(BID_CURRENCY)
140-
.bidfloor(resolveBidFloor(bidRequest, imp))
125+
final boolean shouldSetDisplayManager = prebidChannel != null && imp.getDisplaymanager() == null;
126+
final boolean shouldConvertFloor = shouldConvertFloor(imp);
127+
128+
return imp.toBuilder()
129+
.displaymanager(shouldSetDisplayManager ? prebidChannel.getName() : imp.getDisplaymanager())
130+
.displaymanagerver(shouldSetDisplayManager ? prebidChannel.getVersion() : imp.getDisplaymanagerver())
131+
.bidfloorcur(shouldConvertFloor ? BID_CURRENCY : imp.getBidfloorcur())
132+
.bidfloor(shouldConvertFloor ? resolveBidFloor(bidRequest, imp) : imp.getBidfloor())
133+
.ext(modifyImpExt(imp, extImpShowheroes))
141134
.build();
142135
}
143136

@@ -187,7 +180,7 @@ public Result<List<BidderBid>> makeBids(BidderCall<BidRequest> httpCall, BidRequ
187180
try {
188181
final BidResponse bidResponse = mapper.decodeValue(httpCall.getResponse().getBody(), BidResponse.class);
189182
return Result.of(extractBids(bidResponse), Collections.emptyList());
190-
} catch (DecodeException | PreBidException e) {
183+
} catch (DecodeException e) {
191184
return Result.withError(BidderError.badServerResponse(e.getMessage()));
192185
}
193186

@@ -209,7 +202,7 @@ private List<BidderBid> extractBids(BidResponse bidResponse) {
209202
.toList();
210203
}
211204

212-
private BidType getBidType(Bid bid) {
205+
private static BidType getBidType(Bid bid) {
213206
return switch (bid.getMtype()) {
214207
case 1 -> BidType.banner;
215208
case 2 -> BidType.video;

src/test/java/org/prebid/server/bidder/showheroes/ShowheroesBidderTest.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828

2929
import java.math.BigDecimal;
3030
import java.util.List;
31-
import java.util.Set;
3231
import java.util.function.Function;
3332

3433
import static org.mockito.ArgumentMatchers.any;
@@ -78,9 +77,12 @@ public void creationShouldFailOnInvalidEndpointUrl() {
7877
@Test
7978
public void makeHttpRequestsShouldReturnErrorIfImpExtCouldNotBeParsed() {
8079
// given
81-
final BidRequest bidRequest = givenBidRequest(
82-
impBuilder -> impBuilder
83-
.ext(mapper.valueToTree(ExtPrebid.of(null, mapper.createArrayNode()))));
80+
final BidRequest bidRequest = BidRequest.builder()
81+
.site(Site.builder().page("https://test-example.com").build())
82+
.imp(singletonList(Imp.builder()
83+
.ext(mapper.valueToTree(ExtPrebid.of(null, mapper.createArrayNode())))
84+
.build()))
85+
.build();
8486

8587
// when
8688
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
@@ -104,6 +106,7 @@ public void makeHttpRequestsShouldReturnErrorWhenSitePageIsEmpty() {
104106

105107
// then
106108
assertThat(result.getErrors()).hasSize(1);
109+
assertThat(result.getErrors().get(0).getMessage()).isEqualTo("BidRequest.site.page is required");
107110
assertThat(result.getValue()).isEmpty();
108111
}
109112

@@ -120,13 +123,14 @@ public void makeHttpRequestsShouldReturnErrorWhenAppBundleIsEmpty() {
120123

121124
// then
122125
assertThat(result.getErrors()).hasSize(1);
126+
assertThat(result.getErrors().get(0).getMessage()).isEqualTo("BidRequest.app.bundle is required");
123127
assertThat(result.getValue()).isEmpty();
124128
}
125129

126130
@Test
127131
public void makeHttpRequestsShouldCreateCorrectURL() {
128132
// given
129-
final BidRequest bidRequest = givenBidRequest(identity());
133+
final BidRequest bidRequest = givenBidRequest();
130134

131135
// when
132136
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
@@ -140,7 +144,7 @@ public void makeHttpRequestsShouldCreateCorrectURL() {
140144
@Test
141145
public void makeHttpRequestsShouldReturnPbsVersion() {
142146
// given
143-
final BidRequest bidRequest = givenBidRequest(identity());
147+
final BidRequest bidRequest = givenBidRequest();
144148

145149
// when
146150
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
@@ -221,19 +225,16 @@ public void makeHttpRequestsShouldCreateSingleRequestForAllImps() {
221225
// then
222226
assertThat(result.getErrors()).isEmpty();
223227
assertThat(result.getValue()).hasSize(1)
224-
.extracting(HttpRequest::getImpIds)
225-
.containsOnly(Set.of("imp1", "imp2"));
226-
227-
final BidRequest outgoingRequest = result.getValue().get(0).getPayload();
228-
assertThat(outgoingRequest.getImp()).hasSize(2)
228+
.extracting(HttpRequest::getPayload)
229+
.flatExtracting(BidRequest::getImp)
229230
.extracting(Imp::getId)
230231
.containsExactly("imp1", "imp2");
231232
}
232233

233234
@Test
234235
public void makeHttpRequestsShouldSetCorrectHeaders() {
235236
// given
236-
final BidRequest bidRequest = givenBidRequest(identity());
237+
final BidRequest bidRequest = givenBidRequest();
237238

238239
// when
239240
final Result<List<HttpRequest<BidRequest>>> result = target.makeHttpRequests(bidRequest);
@@ -299,8 +300,7 @@ public void makeBidsShouldReturnVideoBidByDefaultWhenMtypeIsUnknown() throws Jso
299300
// then
300301
assertThat(result.getErrors()).isEmpty();
301302
assertThat(result.getValue())
302-
.extracting(BidderBid::getBid, BidderBid::getType)
303-
.containsExactly(tuple(Bid.builder().impid("123").mtype(99).build(), video));
303+
.containsOnly(BidderBid.of(Bid.builder().impid("123").mtype(99).build(), video, null));
304304
}
305305

306306
@Test
@@ -327,10 +327,10 @@ public void makeBidsShouldReturnMultipleBids() throws JsonProcessingException {
327327
tuple(Bid.builder().impid("456").mtype(2).price(BigDecimal.TEN).build(), video));
328328
}
329329

330-
private static BidRequest givenBidRequest(Function<Imp.ImpBuilder, Imp.ImpBuilder> impCustomizer) {
330+
private static BidRequest givenBidRequest() {
331331
return BidRequest.builder()
332332
.site(Site.builder().page("https://test-example.com").build())
333-
.imp(singletonList(givenImp(impCustomizer)))
333+
.imp(singletonList(givenImp(identity())))
334334
.build();
335335
}
336336

@@ -359,4 +359,3 @@ private static BidderCall<BidRequest> givenHttpCall(BidResponse bidResponse)
359359
null);
360360
}
361361
}
362-

0 commit comments

Comments
 (0)