Skip to content

Commit 855f129

Browse files
authored
Tests: Add profiles (#4056)
1 parent 1cbf5df commit 855f129

34 files changed

+1836
-9
lines changed

src/test/groovy/org/prebid/server/functional/model/config/AccountAuctionConfig.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class AccountAuctionConfig {
2626
AccountCacheConfig cache
2727
AccountRankingConfig ranking
2828
AccountPriceFloorsConfig priceFloors
29+
AccountProfilesConfigs profiles
2930
Targeting targeting
3031
PaaFormat paaformat
3132
@JsonProperty("preferredmediatype")
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.prebid.server.functional.model.config
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty
4+
import com.fasterxml.jackson.databind.PropertyNamingStrategies
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming
6+
import groovy.transform.ToString
7+
8+
@ToString(includeNames = true, ignoreNulls = true)
9+
@JsonNaming(PropertyNamingStrategies.KebabCaseStrategy)
10+
class AccountProfilesConfigs {
11+
12+
Integer limit
13+
Boolean failOnUnknown
14+
15+
@JsonProperty("fail_on_unknown")
16+
Boolean failOnUnknownSnakeCase
17+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package org.prebid.server.functional.model.db
2+
3+
import groovy.transform.ToString
4+
import jakarta.persistence.Column
5+
import jakarta.persistence.Convert
6+
import jakarta.persistence.Entity
7+
import jakarta.persistence.Id
8+
import jakarta.persistence.Table
9+
import org.prebid.server.functional.model.db.typeconverter.ImpConfigTypeConverter
10+
import org.prebid.server.functional.model.db.typeconverter.ProfileMergePrecedenceConvert
11+
import org.prebid.server.functional.model.db.typeconverter.ProfileTypeConvert
12+
import org.prebid.server.functional.model.request.auction.Imp
13+
import org.prebid.server.functional.model.request.profile.ImpProfile
14+
import org.prebid.server.functional.model.request.profile.ProfileMergePrecedence
15+
import org.prebid.server.functional.model.request.profile.ProfileType
16+
17+
@Entity
18+
@Table(name = "profiles")
19+
@ToString(includeNames = true)
20+
class StoredProfileImp {
21+
22+
@Id
23+
@Column(name = "profileId")
24+
String profileName
25+
@Column(name = "accountId")
26+
String accountId
27+
@Column(name = "mergePrecedence")
28+
@Convert(converter = ProfileMergePrecedenceConvert)
29+
ProfileMergePrecedence mergePrecedence
30+
@Column(name = "type")
31+
@Convert(converter = ProfileTypeConvert)
32+
ProfileType type
33+
@Column(name = "profile")
34+
@Convert(converter = ImpConfigTypeConverter)
35+
Imp impBody
36+
37+
static StoredProfileImp getProfile(ImpProfile profile) {
38+
new StoredProfileImp().tap {
39+
it.profileName = profile.id
40+
it.accountId = profile.accountId
41+
it.mergePrecedence = profile.mergePrecedence
42+
it.type = profile.type
43+
it.impBody = profile.body
44+
}
45+
}
46+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package org.prebid.server.functional.model.db
2+
3+
import groovy.transform.ToString
4+
import jakarta.persistence.Column
5+
import jakarta.persistence.Convert
6+
import jakarta.persistence.Entity
7+
import jakarta.persistence.Id
8+
import jakarta.persistence.Table
9+
import org.prebid.server.functional.model.db.typeconverter.ProfileMergePrecedenceConvert
10+
import org.prebid.server.functional.model.db.typeconverter.ProfileTypeConvert
11+
import org.prebid.server.functional.model.db.typeconverter.BidRequestConfigTypeConverter
12+
import org.prebid.server.functional.model.request.auction.BidRequest
13+
import org.prebid.server.functional.model.request.profile.ProfileMergePrecedence
14+
import org.prebid.server.functional.model.request.profile.RequestProfile
15+
import org.prebid.server.functional.model.request.profile.ProfileType
16+
17+
@Entity
18+
@Table(name = "profiles")
19+
@ToString(includeNames = true)
20+
class StoredProfileRequest {
21+
22+
@Id
23+
@Column(name = "profileId")
24+
String profileName
25+
@Column(name = "accountId")
26+
String accountId
27+
@Column(name = "mergePrecedence")
28+
@Convert(converter = ProfileMergePrecedenceConvert)
29+
ProfileMergePrecedence mergePrecedence
30+
@Column(name = "type")
31+
@Convert(converter = ProfileTypeConvert)
32+
ProfileType type
33+
@Column(name = "profile")
34+
@Convert(converter = BidRequestConfigTypeConverter)
35+
BidRequest requestBody
36+
37+
static StoredProfileRequest getProfile(RequestProfile profile) {
38+
new StoredProfileRequest().tap {
39+
it.profileName = profile.id
40+
it.accountId = profile.accountId
41+
it.mergePrecedence = profile.mergePrecedence
42+
it.type = profile.type
43+
it.requestBody = profile.body
44+
}
45+
}
46+
}

src/test/groovy/org/prebid/server/functional/model/db/StoredRequest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import jakarta.persistence.Entity
77
import jakarta.persistence.GeneratedValue
88
import jakarta.persistence.Id
99
import jakarta.persistence.Table
10-
import org.prebid.server.functional.model.db.typeconverter.StoredRequestConfigTypeConverter
10+
import org.prebid.server.functional.model.db.typeconverter.BidRequestConfigTypeConverter
1111
import org.prebid.server.functional.model.request.amp.AmpRequest
1212
import org.prebid.server.functional.model.request.auction.BidRequest
1313

@@ -27,7 +27,7 @@ class StoredRequest {
2727
@Column(name = "reqId")
2828
String requestId
2929
@Column(name = "requestData")
30-
@Convert(converter = StoredRequestConfigTypeConverter)
30+
@Convert(converter = BidRequestConfigTypeConverter)
3131
BidRequest requestData
3232

3333
static StoredRequest getStoredRequest(AmpRequest ampRequest, BidRequest storedRequest) {

src/test/groovy/org/prebid/server/functional/model/db/StoredResponse.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import jakarta.persistence.GeneratedValue
88
import jakarta.persistence.Id
99
import jakarta.persistence.Table
1010
import org.prebid.server.functional.model.db.typeconverter.StoredAuctionResponseConfigTypeConverter
11-
import org.prebid.server.functional.model.db.typeconverter.StoredBidResponseConfigTypeConverter
11+
import org.prebid.server.functional.model.db.typeconverter.BidResponseConfigTypeConverter
1212
import org.prebid.server.functional.model.response.auction.BidResponse
1313
import org.prebid.server.functional.model.response.auction.SeatBid
1414

@@ -29,6 +29,6 @@ class StoredResponse {
2929
@Convert(converter = StoredAuctionResponseConfigTypeConverter)
3030
SeatBid storedAuctionResponse
3131
@Column(name = "storedBidResponse")
32-
@Convert(converter = StoredBidResponseConfigTypeConverter)
32+
@Convert(converter = BidResponseConfigTypeConverter)
3333
BidResponse storedBidResponse
3434
}

src/test/groovy/org/prebid/server/functional/model/db/typeconverter/StoredRequestConfigTypeConverter.groovy renamed to src/test/groovy/org/prebid/server/functional/model/db/typeconverter/BidRequestConfigTypeConverter.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import jakarta.persistence.AttributeConverter
44
import org.prebid.server.functional.model.request.auction.BidRequest
55
import org.prebid.server.functional.util.ObjectMapperWrapper
66

7-
class StoredRequestConfigTypeConverter implements AttributeConverter<BidRequest, String>, ObjectMapperWrapper {
7+
class BidRequestConfigTypeConverter implements AttributeConverter<BidRequest, String>, ObjectMapperWrapper {
88

99
@Override
1010
String convertToDatabaseColumn(BidRequest bidRequest) {

src/test/groovy/org/prebid/server/functional/model/db/typeconverter/StoredBidResponseConfigTypeConverter.groovy renamed to src/test/groovy/org/prebid/server/functional/model/db/typeconverter/BidResponseConfigTypeConverter.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import jakarta.persistence.AttributeConverter
44
import org.prebid.server.functional.model.response.auction.BidResponse
55
import org.prebid.server.functional.util.ObjectMapperWrapper
66

7-
class StoredBidResponseConfigTypeConverter implements AttributeConverter<BidResponse, String>, ObjectMapperWrapper {
7+
class BidResponseConfigTypeConverter implements AttributeConverter<BidResponse, String>, ObjectMapperWrapper {
88

99
@Override
1010
String convertToDatabaseColumn(BidResponse bidResponse) {
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.prebid.server.functional.model.db.typeconverter
2+
3+
import jakarta.persistence.AttributeConverter
4+
import org.prebid.server.functional.model.request.profile.ProfileMergePrecedence
5+
6+
class ProfileMergePrecedenceConvert implements AttributeConverter<ProfileMergePrecedence, String> {
7+
8+
@Override
9+
String convertToDatabaseColumn(ProfileMergePrecedence profileMergePrecedence) {
10+
profileMergePrecedence?.value
11+
}
12+
13+
@Override
14+
ProfileMergePrecedence convertToEntityAttribute(String value) {
15+
value ? ProfileMergePrecedence.forValue(value) : null
16+
}
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.prebid.server.functional.model.db.typeconverter
2+
3+
import jakarta.persistence.AttributeConverter
4+
import org.prebid.server.functional.model.request.profile.ProfileType
5+
6+
class ProfileTypeConvert implements AttributeConverter<ProfileType, String> {
7+
8+
@Override
9+
String convertToDatabaseColumn(ProfileType profileMergePrecedence) {
10+
profileMergePrecedence?.value
11+
}
12+
13+
@Override
14+
ProfileType convertToEntityAttribute(String value) {
15+
value ? ProfileType.forValue(value) : null
16+
}
17+
}

0 commit comments

Comments
 (0)