Skip to content

Commit d9d83bc

Browse files
committed
Increase tests coverage
1 parent ec35946 commit d9d83bc

File tree

2 files changed

+70
-4
lines changed

2 files changed

+70
-4
lines changed

src/test/groovy/org/prebid/server/functional/model/request/auction/UserExt.groovy

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package org.prebid.server.functional.model.request.auction
22

33
import com.fasterxml.jackson.annotation.JsonProperty
4+
import com.fasterxml.jackson.databind.PropertyNamingStrategies
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming
46
import groovy.transform.ToString
57

68
@ToString(includeNames = true, ignoreNulls = true)
9+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy)
710
class UserExt {
811

912
String consent
@@ -12,8 +15,9 @@ class UserExt {
1215
UserTime time
1316
UserExtData data
1417
UserExtPrebid prebid
15-
@JsonProperty("consented_providers_settings")
1618
ConsentedProvidersSettings consentedProvidersSettings
19+
@JsonProperty("ConsentedProvidersSettings")
20+
ConsentedProvidersSettings consentedProvidersSettingsKebabCase
1721

1822
static UserExt getFPDUserExt() {
1923
new UserExt(data: UserExtData.FPDUserExtData)

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

Lines changed: 65 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ import org.prebid.server.functional.model.db.StoredRequest
44
import org.prebid.server.functional.model.db.StoredResponse
55
import org.prebid.server.functional.model.request.amp.AmpRequest
66
import org.prebid.server.functional.model.request.auction.BidRequest
7+
import org.prebid.server.functional.model.request.auction.ConsentedProvidersSettings
78
import org.prebid.server.functional.model.request.auction.DistributionChannel
89
import org.prebid.server.functional.model.request.auction.Site
910
import org.prebid.server.functional.model.request.auction.StoredAuctionResponse
11+
import org.prebid.server.functional.model.request.auction.User
12+
import org.prebid.server.functional.model.request.auction.UserExt
1013
import org.prebid.server.functional.model.response.auction.SeatBid
1114
import org.prebid.server.functional.service.PrebidServerException
1215
import org.prebid.server.functional.util.PBSUtils
@@ -56,7 +59,7 @@ class AmpSpec extends BaseSpec {
5659
assert exception.responseBody == "Invalid request format: request.${channel.value.toLowerCase()} must not exist in AMP stored requests."
5760

5861
where:
59-
channel << [DistributionChannel.APP, DistributionChannel.DOOH]
62+
channel << [DistributionChannel.APP, DistributionChannel.DOOH]
6063
}
6164

6265
def "PBS should return info from the stored response when it's defined in the stored request"() {
@@ -189,7 +192,36 @@ class AmpSpec extends BaseSpec {
189192
}
190193

191194
and: "Save storedRequest into DB"
192-
def ampStoredRequest = BidRequest.defaultBidRequest
195+
def ampStoredRequest = BidRequest.defaultBidRequest.tap {
196+
user = new User(ext: new UserExt(
197+
consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString),
198+
consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString)))
199+
}
200+
def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest)
201+
storedRequestDao.save(storedRequest)
202+
203+
when: "PBS processes amp request"
204+
defaultPbsService.sendAmpRequest(ampRequest)
205+
206+
then: "Bidder request should contain addtl consent"
207+
def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id)
208+
assert bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders == randomAddtlConsent
209+
assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent
210+
}
211+
212+
def "PBS should pass addtl_consent to user.ext.ConsentedProvidersSettings.consented_providers"() {
213+
given: "Default amp request with addtlConsent"
214+
def randomAddtlConsent = PBSUtils.randomString
215+
def ampRequest = AmpRequest.defaultAmpRequest.tap {
216+
addtlConsent = randomAddtlConsent
217+
}
218+
219+
and: "Save storedRequest into DB"
220+
def ampStoredRequest = BidRequest.defaultBidRequest.tap {
221+
user = new User(ext: new UserExt(
222+
consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString),
223+
consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString)))
224+
}
193225
def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest)
194226
storedRequestDao.save(storedRequest)
195227

@@ -198,6 +230,7 @@ class AmpSpec extends BaseSpec {
198230

199231
then: "Bidder request should contain addtl consent"
200232
def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id)
233+
assert bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders == randomAddtlConsent
201234
assert bidderRequest.user.ext.consentedProvidersSettings.consentedProviders == randomAddtlConsent
202235
}
203236

@@ -208,7 +241,35 @@ class AmpSpec extends BaseSpec {
208241
}
209242

210243
and: "Save storedRequest into DB"
211-
def ampStoredRequest = BidRequest.defaultBidRequest
244+
def ampStoredRequest = BidRequest.defaultBidRequest.tap {
245+
user = new User(ext: new UserExt(
246+
consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString),
247+
consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString)))
248+
}
249+
def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest)
250+
storedRequestDao.save(storedRequest)
251+
252+
when: "PBS processes amp request"
253+
defaultPbsService.sendAmpRequest(ampRequest)
254+
255+
then: "Bidder request shouldn't contain addtl consent"
256+
def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id)
257+
assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders
258+
assert !bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders
259+
}
260+
261+
def "PBS shouldn't pass addtl_consent to user.ext.ConsentedProvidersSettings.consented_providers when addtl_consent not specified"() {
262+
given: "Default amp request without addtl_consent"
263+
def ampRequest = AmpRequest.defaultAmpRequest.tap {
264+
addtlConsent = null
265+
}
266+
267+
and: "Save storedRequest into DB"
268+
def ampStoredRequest = BidRequest.defaultBidRequest.tap {
269+
user = new User(ext: new UserExt(
270+
consentedProvidersSettingsKebabCase: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString),
271+
consentedProvidersSettings: new ConsentedProvidersSettings(consentedProviders: PBSUtils.randomString)))
272+
}
212273
def storedRequest = StoredRequest.getStoredRequest(ampRequest, ampStoredRequest)
213274
storedRequestDao.save(storedRequest)
214275

@@ -218,5 +279,6 @@ class AmpSpec extends BaseSpec {
218279
then: "Bidder request shouldn't contain addtl consent"
219280
def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id)
220281
assert !bidderRequest.user.ext.consentedProvidersSettings.consentedProviders
282+
assert !bidderRequest.user.ext.consentedProvidersSettingsKebabCase.consentedProviders
221283
}
222284
}

0 commit comments

Comments
 (0)