Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ class AccountAuctionConfig {
AccountCacheConfig cache
AccountRankingConfig ranking
AccountPriceFloorsConfig priceFloors
AccountProfilesConfigs profiles
Targeting targeting
PaaFormat paaformat
@JsonProperty("preferredmediatype")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.prebid.server.functional.model.config

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

@ToString(includeNames = true, ignoreNulls = true)
@JsonNaming(PropertyNamingStrategies.KebabCaseStrategy)
class AccountProfilesConfigs {

Integer limit
Boolean failOnUnknown

@JsonProperty("fail_on_unknown")
Boolean failOnUnknownSnakeCase
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package org.prebid.server.functional.model.db

import groovy.transform.ToString
import jakarta.persistence.Column
import jakarta.persistence.Convert
import jakarta.persistence.Entity
import jakarta.persistence.Id
import jakarta.persistence.Table
import org.prebid.server.functional.model.db.typeconverter.ImpConfigTypeConverter
import org.prebid.server.functional.model.db.typeconverter.ProfileMergePrecedenceConvert
import org.prebid.server.functional.model.db.typeconverter.ProfileTypeConvert
import org.prebid.server.functional.model.request.auction.Imp
import org.prebid.server.functional.model.request.profile.ImpProfile
import org.prebid.server.functional.model.request.profile.ProfileMergePrecedence
import org.prebid.server.functional.model.request.profile.ProfileType

@Entity
@Table(name = "profiles")
@ToString(includeNames = true)
class StoredProfileImp {

@Id
@Column(name = "profileId")
String profileName
@Column(name = "accountId")
String accountId
@Column(name = "mergePrecedence")
@Convert(converter = ProfileMergePrecedenceConvert)
ProfileMergePrecedence mergePrecedence
@Column(name = "type")
@Convert(converter = ProfileTypeConvert)
ProfileType type
@Column(name = "profile")
@Convert(converter = ImpConfigTypeConverter)
Imp impBody

static StoredProfileImp getProfile(ImpProfile profile) {
new StoredProfileImp().tap {
it.profileName = profile.id
it.accountId = profile.accountId
it.mergePrecedence = profile.mergePrecedence
it.type = profile.type
it.impBody = profile.body
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package org.prebid.server.functional.model.db

import groovy.transform.ToString
import jakarta.persistence.Column
import jakarta.persistence.Convert
import jakarta.persistence.Entity
import jakarta.persistence.Id
import jakarta.persistence.Table
import org.prebid.server.functional.model.db.typeconverter.ProfileMergePrecedenceConvert
import org.prebid.server.functional.model.db.typeconverter.ProfileTypeConvert
import org.prebid.server.functional.model.db.typeconverter.BidRequestConfigTypeConverter
import org.prebid.server.functional.model.request.auction.BidRequest
import org.prebid.server.functional.model.request.profile.ProfileMergePrecedence
import org.prebid.server.functional.model.request.profile.RequestProfile
import org.prebid.server.functional.model.request.profile.ProfileType

@Entity
@Table(name = "profiles")
@ToString(includeNames = true)
class StoredProfileRequest {

@Id
@Column(name = "profileId")
String profileName
@Column(name = "accountId")
String accountId
@Column(name = "mergePrecedence")
@Convert(converter = ProfileMergePrecedenceConvert)
ProfileMergePrecedence mergePrecedence
@Column(name = "type")
@Convert(converter = ProfileTypeConvert)
ProfileType type
@Column(name = "profile")
@Convert(converter = BidRequestConfigTypeConverter)
BidRequest requestBody

static StoredProfileRequest getProfile(RequestProfile profile) {
new StoredProfileRequest().tap {
it.profileName = profile.id
it.accountId = profile.accountId
it.mergePrecedence = profile.mergePrecedence
it.type = profile.type
it.requestBody = profile.body
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import jakarta.persistence.Entity
import jakarta.persistence.GeneratedValue
import jakarta.persistence.Id
import jakarta.persistence.Table
import org.prebid.server.functional.model.db.typeconverter.StoredRequestConfigTypeConverter
import org.prebid.server.functional.model.db.typeconverter.BidRequestConfigTypeConverter
import org.prebid.server.functional.model.request.amp.AmpRequest
import org.prebid.server.functional.model.request.auction.BidRequest

Expand All @@ -27,7 +27,7 @@ class StoredRequest {
@Column(name = "reqId")
String requestId
@Column(name = "requestData")
@Convert(converter = StoredRequestConfigTypeConverter)
@Convert(converter = BidRequestConfigTypeConverter)
BidRequest requestData

static StoredRequest getStoredRequest(AmpRequest ampRequest, BidRequest storedRequest) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import jakarta.persistence.GeneratedValue
import jakarta.persistence.Id
import jakarta.persistence.Table
import org.prebid.server.functional.model.db.typeconverter.StoredAuctionResponseConfigTypeConverter
import org.prebid.server.functional.model.db.typeconverter.StoredBidResponseConfigTypeConverter
import org.prebid.server.functional.model.db.typeconverter.BidResponseConfigTypeConverter
import org.prebid.server.functional.model.response.auction.BidResponse
import org.prebid.server.functional.model.response.auction.SeatBid

Expand All @@ -29,6 +29,6 @@ class StoredResponse {
@Convert(converter = StoredAuctionResponseConfigTypeConverter)
SeatBid storedAuctionResponse
@Column(name = "storedBidResponse")
@Convert(converter = StoredBidResponseConfigTypeConverter)
@Convert(converter = BidResponseConfigTypeConverter)
BidResponse storedBidResponse
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import jakarta.persistence.AttributeConverter
import org.prebid.server.functional.model.request.auction.BidRequest
import org.prebid.server.functional.util.ObjectMapperWrapper

class StoredRequestConfigTypeConverter implements AttributeConverter<BidRequest, String>, ObjectMapperWrapper {
class BidRequestConfigTypeConverter implements AttributeConverter<BidRequest, String>, ObjectMapperWrapper {

@Override
String convertToDatabaseColumn(BidRequest bidRequest) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import jakarta.persistence.AttributeConverter
import org.prebid.server.functional.model.response.auction.BidResponse
import org.prebid.server.functional.util.ObjectMapperWrapper

class StoredBidResponseConfigTypeConverter implements AttributeConverter<BidResponse, String>, ObjectMapperWrapper {
class BidResponseConfigTypeConverter implements AttributeConverter<BidResponse, String>, ObjectMapperWrapper {

@Override
String convertToDatabaseColumn(BidResponse bidResponse) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.prebid.server.functional.model.db.typeconverter

import jakarta.persistence.AttributeConverter
import org.prebid.server.functional.model.request.profile.ProfileMergePrecedence

class ProfileMergePrecedenceConvert implements AttributeConverter<ProfileMergePrecedence, String> {

@Override
String convertToDatabaseColumn(ProfileMergePrecedence profileMergePrecedence) {
profileMergePrecedence?.value
}

@Override
ProfileMergePrecedence convertToEntityAttribute(String value) {
value ? ProfileMergePrecedence.forValue(value) : null
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.prebid.server.functional.model.db.typeconverter

import jakarta.persistence.AttributeConverter
import org.prebid.server.functional.model.request.profile.ProfileType

class ProfileTypeConvert implements AttributeConverter<ProfileType, String> {

@Override
String convertToDatabaseColumn(ProfileType profileMergePrecedence) {
profileMergePrecedence?.value
}

@Override
ProfileType convertToEntityAttribute(String value) {
value ? ProfileType.forValue(value) : null
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package org.prebid.server.functional.model.filesystem

import groovy.transform.ToString
import org.prebid.server.functional.model.config.AccountConfig

@ToString(includeNames = true, ignoreNulls = true)
class FileSystemAccountsConfig {

List<AccountConfig> accounts
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
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 Banner {

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
import org.prebid.server.functional.model.bidder.AppNexus

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

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

import groovy.transform.ToString
import org.prebid.server.functional.util.PBSUtils

@ToString(includeNames = true, ignoreNulls = true)
class Device {
Expand Down Expand Up @@ -38,4 +39,16 @@ class Device {
String macsha1
String macmd5
DeviceExt ext

static Device getDefault() {
new Device().tap {
didsha1 = PBSUtils.randomString
didmd5 = PBSUtils.randomString
dpidsha1 = PBSUtils.randomString
ifa = PBSUtils.randomString
macsha1 = PBSUtils.randomString
macmd5 = PBSUtils.randomString
dpidmd5 = PBSUtils.randomString
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.prebid.server.functional.model.request.auction
import com.fasterxml.jackson.annotation.JsonProperty
import groovy.transform.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.util.PBSUtils

@EqualsAndHashCode
@ToString(includeNames = true, ignoreNulls = true)
Expand All @@ -25,4 +26,11 @@ class Format {
height = 250
}
}

static Format getRandomFormat() {
new Format().tap {
weight = PBSUtils.randomNumber
height = PBSUtils.randomNumber
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ class ImpExtPrebid {
Map<BidderName, Imp> imp
String adUnitCode
PrebidOptions options

@JsonProperty("profiles")
List<String> profileNames

static ImpExtPrebid getDefaultImpExtPrebid() {
new ImpExtPrebid().tap {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ class Prebid {
PaaFormat paaFormat
@JsonProperty("alternatebiddercodes")
AlternateBidderCodes alternateBidderCodes
@JsonProperty("profiles")
List<String> profileNames

static class Channel {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ 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

@EqualsAndHashCode
@ToString(includeNames = true, ignoreNulls = true)
@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
class Site {
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
import org.prebid.server.functional.util.PBSUtils

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

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

import groovy.transform.ToString
import org.prebid.server.functional.model.request.auction.Imp
import org.prebid.server.functional.util.PBSUtils

import static ProfileMergePrecedence.PROFILE

@ToString(includeNames = true, ignoreNulls = true)
class ImpProfile extends Profile<Imp> {

static ImpProfile getProfile(String accountId = PBSUtils.randomNumber.toString(),
Imp imp = Imp.defaultImpression,
String name = PBSUtils.randomString,
ProfileMergePrecedence mergePrecedence = PROFILE) {

new ImpProfile().tap {
it.accountId = accountId
it.id = name
it.type = ProfileType.IMP
it.mergePrecedence = mergePrecedence
it.body = imp
it.accountId = accountId
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package org.prebid.server.functional.model.request.profile

import com.fasterxml.jackson.annotation.JsonIgnore
import com.fasterxml.jackson.annotation.JsonProperty

abstract class Profile<T> {

@JsonIgnore
String accountId
@JsonIgnore
String id
ProfileType type
@JsonProperty("mergeprecedence")
ProfileMergePrecedence mergePrecedence
T body

String getRecordName() {
"${accountId}-${id}"
}

String getFileName() {
"${recordName}.json"
}
}
Loading