Skip to content
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package org.prebid.server.functional.model.request

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.model.ChannelType

@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class Channel {

ChannelType name
String version
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package org.prebid.server.functional.model.request.amp

import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.util.PBSUtils

@ToString(includeNames = true, ignoreNulls = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy)
@EqualsAndHashCode
class AmpRequest {

String tagId
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ package org.prebid.server.functional.model.request.auction
import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.model.Currency

@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class AdjustmentRule {

@JsonProperty('adjtype')
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package org.prebid.server.functional.model.request.auction

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.model.request.amp.AmpRequest

@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class Amp {

AmpRequest data
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package org.prebid.server.functional.model.request.auction

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class AppExt {

AppExtData data
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package org.prebid.server.functional.model.request.auction

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class AppExtData {

String language
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package org.prebid.server.functional.model.request.auction

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class AppPrebid {

String source
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.util.PBSUtils

@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class BidAdjustment {

Map<BidAdjustmentMediaType, BidAdjustmentRule> mediaType
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@ import com.fasterxml.jackson.annotation.JsonAnyGetter
import com.fasterxml.jackson.annotation.JsonAnySetter
import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.model.bidder.BidderName

@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class BidAdjustmentFactors {

@JsonAnySetter
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.annotation.JsonProperty
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class BidAdjustmentRule {

@JsonProperty('*')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@ToString(includeNames = true, ignoreNulls = true)
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy)
@EqualsAndHashCode
class ConsentedProvidersSettings {

String consentedProviders
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.annotation.JsonValue
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@ToString
@EqualsAndHashCode
class DeviceExt {

Atts atts
String cdep
DevicePrebid prebid

enum Atts {

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package org.prebid.server.functional.model.request.auction

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@EqualsAndHashCode
@ToString(includeNames = true, ignoreNulls = true)
class DevicePrebid {

Interstitial interstitial
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@EqualsAndHashCode
@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
@ToString(includeNames = true, ignoreNulls = true)
class ImpExtContextDataAdServer {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.annotation.JsonProperty
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@EqualsAndHashCode
@ToString(includeNames = true, ignoreNulls = true)
class Interstitial {

@JsonProperty("minwidthperc")
Integer minWidthPercentage
@JsonProperty("minheightperc")
Integer minHeightPercentage
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.model.bidder.BidderName

@ToString(includeNames = true, ignoreNulls = false)
@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
@EqualsAndHashCode
class MultiBid {

BidderName bidder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.ToString
import org.prebid.server.functional.model.ChannelType
import org.prebid.server.functional.model.bidder.BidderName
import org.prebid.server.functional.model.config.AlternateBidderCodes
import org.prebid.server.functional.model.request.Channel

@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
@ToString(includeNames = true, ignoreNulls = true)
Expand All @@ -26,6 +26,8 @@ class Prebid {
ExtRequestPrebidData data
List<ExtPrebidBidderConfig> bidderConfig
List<PrebidSchain> schains
List<String> noSale
Long auctionTimestamp
Amp amp
Channel channel
List<MultiBid> multibid
Expand All @@ -49,10 +51,7 @@ class Prebid {
List<String> profileNames
@JsonProperty("kvps")
Map<String, String> keyValuePairs

static class Channel {

ChannelType name
String version
}
Boolean supportDeals
String integration
Map<String, String> bidders
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@ package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.annotation.JsonNaming
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.model.Currency

@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class PrebidCurrency {

Map<Currency, Map<Currency, BigDecimal>> rates
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package org.prebid.server.functional.model.request.auction

import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString

@ToString(includeNames = true, ignoreNulls = true)
@EqualsAndHashCode
class UserTime {

Integer userdow
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,6 @@ class AmpFpdSpec extends BaseSpec {
def bidderRequest = bidder.getBidderRequest(ampStoredRequest.id)
assert ampStoredRequest.ext.prebid.bidderConfig[0].config.ortb2.site.domain == bidderRequest.site.domain
assert ampStoredRequest.ext.prebid.bidderConfig[0].config.ortb2.user.keywords == bidderRequest.user.keywords

and: "Bidder request shouldn't contain bidder config"
assert !bidderRequest.ext.prebid.bidderConfig
}

def "PBS should populate FPD from root when bidder was defined in prebid data"() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,37 +125,6 @@ class AuctionSpec extends BaseSpec {
"invalid-stored-impr" | { bidReq, storedReq -> bidReq.imp[0].ext.prebid.storedRequest = storedReq }
}

def "PBS should copy imp level passThrough to bidresponse.seatbid[].bid[].ext.prebid.passThrough when the passThrough is present"() {
given: "Default bid request with passThrough"
def randomString = PBSUtils.randomString
def passThrough = [(randomString): randomString]
def bidRequest = BidRequest.defaultBidRequest.tap {
imp[0].ext.prebid.passThrough = passThrough
}

when: "Requesting PBS auction"
def response = defaultPbsService.sendAuctionRequest(bidRequest)

then: "BidResponse should contain the same passThrough as on request"
assert response.seatbid.first().bid.first().ext.prebid.passThrough == passThrough
}

def "PBS should copy global level passThrough object to bidresponse.ext.prebid.passThrough when passThrough is present"() {
given: "Default bid request with passThrough"
def randomString = PBSUtils.randomString
def passThrough = [(randomString): randomString]
def bidRequest = BidRequest.defaultBidRequest.tap {
ext.prebid.passThrough = passThrough
}

when: "Requesting PBS auction"
defaultPbsService.sendAuctionRequest(bidRequest)

then: "BidResponse should contain the same passThrough as on request"
def bidderRequest = bidder.getBidderRequest(bidRequest.id)
assert bidderRequest.ext.prebid.passThrough == passThrough
}

def "PBS should populate bidder request buyeruid from buyeruids when buyeruids with appropriate bidder present in request"() {
given: "Bid request with buyeruids"
def buyeruid = PBSUtils.randomString
Expand All @@ -169,6 +138,9 @@ class AuctionSpec extends BaseSpec {
then: "Bidder request should contain buyeruid from the user.ext.prebid.buyeruids"
def bidderRequest = bidder.getBidderRequest(bidRequest.id)
assert bidderRequest?.user?.buyeruid == buyeruid

and: "Bidder request shouldn't contain user.ext.prebid.buyeruids"
assert !bidderRequest?.user?.ext?.prebid?.buyeruids
}

def "PBS shouldn't populate bidder request buyeruid from buyeruids when buyeruids without appropriate bidder present in request"() {
Expand Down Expand Up @@ -336,25 +308,6 @@ class AuctionSpec extends BaseSpec {
assert !bidderRequest.ext.prebid.aliases
}

def "PBS auction should pass ext.prebid.sdk requested to bidder request when sdk specified"() {
given: "Default bid request with aliases"
def bidRequest = BidRequest.defaultBidRequest.tap {
ext.prebid.sdk = new Sdk(renderers: [new Renderer(
name: PBSUtils.randomString,
version: PBSUtils.randomString,
data: new RendererData(any: PBSUtils.randomString))])
}

when: "Requesting PBS auction"
defaultPbsService.sendAuctionRequest(bidRequest)

then: "Bidder request should contain sdk value same in request"
def bidderRequest = bidder.getBidderRequest(bidRequest.id)
assert bidderRequest.ext.prebid.sdk.renderers.name == bidRequest.ext.prebid.sdk.renderers.name
assert bidderRequest.ext.prebid.sdk.renderers.version == bidRequest.ext.prebid.sdk.renderers.version
assert bidderRequest.ext.prebid.sdk.renderers.data.any == bidRequest.ext.prebid.sdk.renderers.data.any
}

def "PBS auction should pass meta object to bid response when meta specified "() {
given: "Default bid request with aliases"
def bidRequest = BidRequest.defaultBidRequest
Expand Down
Loading