Skip to content

Commit 70547eb

Browse files
authored
Tests: Eidpermissions Request Validation Update (#3688)
* Tests: Eidpermissions Request Validation Update
1 parent 465d762 commit 70547eb

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

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

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,17 @@ import org.prebid.server.functional.util.PBSUtils
1616
import static org.prebid.server.functional.model.bidder.BidderName.ALIAS
1717
import static org.prebid.server.functional.model.bidder.BidderName.GENERIC
1818
import static org.prebid.server.functional.model.bidder.BidderName.OPENX
19+
import static org.prebid.server.functional.model.bidder.BidderName.UNKNOWN
1920
import static org.prebid.server.functional.model.bidder.BidderName.WILDCARD
21+
import static org.prebid.server.functional.model.request.auction.DebugCondition.DISABLED
22+
import static org.prebid.server.functional.model.request.auction.DebugCondition.ENABLED
2023
import static org.prebid.server.functional.model.response.auction.ErrorType.PREBID
2124
import static org.prebid.server.functional.testcontainers.Dependencies.getNetworkServiceContainer
2225

2326
class EidsSpec extends BaseSpec {
2427

2528
private static final String EMPTY_STRING = ""
29+
private static final String RANDOM_SOURCE_ID = PBSUtils.randomString
2630

2731
def "PBS shouldn't populate user.id from user.ext data"() {
2832
given: "Default basic BidRequest with generic bidder"
@@ -91,6 +95,68 @@ class EidsSpec extends BaseSpec {
9195
assert !bidderRequest.user.eids
9296
}
9397

98+
def "PBS eids shouldn't include warning for unknown bidder when test and debug disabled"() {
99+
given: "Default bid request with generic bidder"
100+
def bidRequest = BidRequest.defaultBidRequest.tap {
101+
user = requestUser
102+
ext.prebid.data = new ExtRequestPrebidData(eidpermissions: [new EidPermission(source: RANDOM_SOURCE_ID, bidders: [UNKNOWN])])
103+
it.ext.prebid.debug = DISABLED
104+
it.test = DISABLED
105+
}
106+
107+
when: "PBS processes auction request"
108+
def bidResponse = defaultPbsService.sendAuctionRequest(bidRequest)
109+
110+
then: "Bidder request shouldn't contain requested eids"
111+
def bidderRequest = bidder.getBidderRequest(bidRequest.id)
112+
assert !bidderRequest.user.eids
113+
114+
and: "Bid response shouldn't contain warning"
115+
assert !bidResponse.ext.warnings
116+
117+
where:
118+
requestUser << [new User(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)]),
119+
new User(ext: new UserExt(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)])),
120+
new User(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)],
121+
ext: new UserExt(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)]))]
122+
}
123+
124+
def "PBS eids should include warning for unknown bidder when request in debug mode"() {
125+
given: "Default bid request with generic bidder"
126+
def bidRequest = BidRequest.defaultBidRequest.tap {
127+
user = requestUser
128+
ext.prebid.data = new ExtRequestPrebidData(eidpermissions: [new EidPermission(source: RANDOM_SOURCE_ID, bidders: [UNKNOWN])])
129+
it.ext.prebid.debug = debug
130+
it.test = test
131+
}
132+
133+
when: "PBS processes auction request"
134+
def bidResponse = defaultPbsService.sendAuctionRequest(bidRequest)
135+
136+
then: "Bidder request shouldn't contain requested eids"
137+
def bidderRequest = bidder.getBidderRequest(bidRequest.id)
138+
assert !bidderRequest.user.eids
139+
140+
and: "Bid response should contain warning"
141+
assert bidResponse.ext.warnings[PREBID]?.code == [999]
142+
assert bidResponse.ext.warnings[PREBID]?.message ==
143+
["request.ext.prebid.data.eidPermissions[].bidders[] unrecognized biddercode: '$UNKNOWN'"]
144+
145+
where:
146+
debug | test | requestUser
147+
DISABLED | ENABLED | new User(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)])
148+
DISABLED | ENABLED | new User(ext: new UserExt(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)]))
149+
DISABLED | ENABLED | new User(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)], ext: new UserExt(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)]))
150+
151+
ENABLED | DISABLED | new User(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)])
152+
ENABLED | DISABLED | new User(ext: new UserExt(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)]))
153+
ENABLED | DISABLED | new User(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)], ext: new UserExt(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)]))
154+
155+
ENABLED | ENABLED | new User(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)])
156+
ENABLED | ENABLED | new User(ext: new UserExt(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)]))
157+
ENABLED | ENABLED | new User(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)], ext: new UserExt(eids: [Eid.getDefaultEid(RANDOM_SOURCE_ID)]))
158+
}
159+
94160
def "PBs eid permissions should affect only specified on source"() {
95161
given: "PBs with openx bidder"
96162
def pbsService = pbsServiceFactory.getService(

0 commit comments

Comments
 (0)