Skip to content

Commit c7477c7

Browse files
authored
Fix flaky functional test (#4009)
1 parent c8c0c13 commit c7477c7

File tree

2 files changed

+18
-13
lines changed

2 files changed

+18
-13
lines changed

src/test/groovy/org/prebid/server/functional/testcontainers/scaffolding/Bidder.groovy

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,23 @@ import static org.mockserver.model.JsonPathBody.jsonPath
1919

2020
class Bidder extends NetworkScaffolding {
2121

22-
private static final String AUCTION_ENDPOINT = "/auction"
23-
24-
Bidder(MockServerContainer mockServerContainer) {
25-
super(mockServerContainer, AUCTION_ENDPOINT)
22+
Bidder(MockServerContainer mockServerContainer, String endpoint = "/auction") {
23+
super(mockServerContainer, endpoint)
2624
}
2725

2826
@Override
2927
protected HttpRequest getRequest(String bidRequestId) {
30-
request().withPath(AUCTION_ENDPOINT)
28+
request().withPath(endpoint)
3129
.withBody(jsonPath("\$[?(@.id == '$bidRequestId')]"))
3230
}
3331

3432
@Override
3533
protected HttpRequest getRequest() {
36-
request().withPath(AUCTION_ENDPOINT)
34+
request().withPath(endpoint)
3735
}
3836

3937
HttpRequest getRequest(String bidRequestId, String requestMatchPath) {
40-
request().withPath(AUCTION_ENDPOINT)
38+
request().withPath(endpoint)
4139
.withBody(jsonPath("\$[?(@.$requestMatchPath == '$bidRequestId')]"))
4240
}
4341

src/test/groovy/org/prebid/server/functional/tests/TargetingSpec.groovy

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import org.prebid.server.functional.model.response.auction.Prebid
3434
import org.prebid.server.functional.model.response.auction.SeatBid
3535
import org.prebid.server.functional.service.PrebidServerException
3636
import org.prebid.server.functional.service.PrebidServerService
37+
import org.prebid.server.functional.testcontainers.scaffolding.Bidder
3738
import org.prebid.server.functional.util.PBSUtils
3839

3940
import java.math.RoundingMode
@@ -1613,9 +1614,11 @@ class TargetingSpec extends BaseSpec {
16131614

16141615
def "PBS should assign bid ranks across all seatbids combined when the request contains imps with multiple bidders"() {
16151616
given: "PBS config with openX bidder"
1617+
def endpoint = '/openx-auction'
16161618
def pbsConfig = ["adapters.openx.enabled" : "true",
1617-
"adapters.openx.endpoint": "$networkServiceContainer.rootUri/auction".toString()]
1619+
"adapters.openx.endpoint": "$networkServiceContainer.rootUri$endpoint".toString()]
16181620
def prebidServerService = pbsServiceFactory.getService(pbsConfig)
1621+
def openxBidder = new Bidder(networkServiceContainer, endpoint)
16191622

16201623
and: "Bid request with multiple bidders"
16211624
def bidRequest = BidRequest.getDefaultBidRequest().tap {
@@ -1640,12 +1643,15 @@ class TargetingSpec extends BaseSpec {
16401643
it.dealid = PBSUtils.randomNumber
16411644
it.price = bidPrice
16421645
}
1643-
def bidResponse = BidResponse.getDefaultBidResponse(bidRequest).tap {
1644-
it.seatbid = [new SeatBid(bid: [genericBid], seat: GENERIC),
1645-
new SeatBid(bid: [openxBid], seat: OPENX)]
1646+
def bidResponseGeneric = BidResponse.getDefaultBidResponse(bidRequest).tap {
1647+
it.seatbid = [new SeatBid(bid: [genericBid], seat: GENERIC)]
1648+
}
1649+
def bidResponseOpenx = BidResponse.getDefaultBidResponse(bidRequest).tap {
1650+
it.seatbid = [new SeatBid(bid: [openxBid], seat: OPENX)]
16461651
}
16471652
and: "Set bidder response"
1648-
bidder.setResponse(bidRequest.id, bidResponse)
1653+
bidder.setResponse(bidRequest.id, bidResponseGeneric)
1654+
openxBidder.setResponse(bidRequest.id, bidResponseOpenx)
16491655

16501656
when: "PBS processes auction request"
16511657
def response = prebidServerService.sendAuctionRequest(bidRequest)
@@ -1654,8 +1660,9 @@ class TargetingSpec extends BaseSpec {
16541660
assert response.seatbid.findAll { it.seat == OPENX }.bid.ext.prebid.rank.flatten() == [MAIN_RANK]
16551661
assert response.seatbid.findAll { it.seat == GENERIC }.bid.ext.prebid.rank.flatten() == [SUBORDINATE_RANK]
16561662

1657-
cleanup: "Stop and remove pbs container"
1663+
cleanup: "Stop and remove pbs container and bidder response"
16581664
pbsServiceFactory.removeContainer(pbsConfig)
1665+
openxBidder.reset()
16591666
}
16601667

16611668
def "PBS should assign bid ranks for each imp separately when request has multiple imps and multiBid is configured"() {

0 commit comments

Comments
 (0)