Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
4c2fdee
WIP: initial commit
marki1an Jan 17, 2025
b005993
Add a positive test cases
marki1an Jan 21, 2025
1bbe3fc
Naming update
marki1an Jan 21, 2025
1d4e5d6
Merge remote-tracking branch 'refs/remotes/origin/master' into qaa/mu…
marki1an Feb 10, 2025
560a513
Refactor functional tests
marki1an Feb 13, 2025
cda98f6
Update naming
marki1an Feb 13, 2025
18cde43
Merge remote-tracking branch 'refs/remotes/origin/multiple-bidder-cod…
marki1an Mar 5, 2025
0c04b53
Update functional tests
marki1an Mar 8, 2025
dc3ef6b
Merge remote-tracking branch 'refs/remotes/origin/multiple-bidder-cod…
marki1an Mar 9, 2025
b5f2f1a
Add another tests case for alternate bidder code
marki1an Mar 10, 2025
7a6f1c6
Merge remote-tracking branch 'refs/remotes/origin/multiple-bidder-cod…
marki1an Mar 10, 2025
9f7cb87
Minor update
marki1an Mar 12, 2025
6e2634a
Merge remote-tracking branch 'refs/remotes/origin/multiple-bidder-cod…
marki1an Mar 12, 2025
b1b3f08
Minor update
marki1an Mar 13, 2025
4878a17
Merge remote-tracking branch 'refs/remotes/origin/multiple-bidder-cod…
marki1an Mar 13, 2025
8802e2f
Minor update
marki1an Mar 13, 2025
9662395
Merge remote-tracking branch 'refs/remotes/origin/multiple-bidder-cod…
marki1an Mar 13, 2025
806758f
Minor update
marki1an Mar 13, 2025
8eabab6
Merge remote-tracking branch 'refs/remotes/origin/multiple-bidder-cod…
marki1an Mar 13, 2025
30d82f1
Minor update
marki1an Mar 14, 2025
8db70a7
Update after review
marki1an Mar 18, 2025
04c0526
Update after review
marki1an Mar 19, 2025
748ece5
Update after review
marki1an Mar 19, 2025
dc523ce
Update after review
marki1an Mar 19, 2025
3332be4
Update after review
marki1an Mar 19, 2025
429c87f
Rename method
marki1an Mar 19, 2025
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 @@ -11,6 +11,7 @@ enum BidderName {
BOGUS("bogus"),
ALIAS("alias"),
ALIAS_CAMEL_CASE("AlIaS"),
ALIAS_UPPER_CASE("ALIAS"),
GENERIC_CAMEL_CASE("GeNerIc"),
GENERIC("generic"),
GENER_X("gener_x"),
Expand All @@ -25,7 +26,10 @@ enum BidderName {
ADKERNEL("adkernel"),
IX("ix"),
GRID("grid"),
MEDIANET("medianet")
MEDIANET("medianet"),
AMX("amx"),
AMX_CAMEL_CASE("AmX"),
AMX_UPPER_CASE("AMX"),

@JsonValue
final String value
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
package org.prebid.server.functional.model.bidder

import com.fasterxml.jackson.annotation.JsonProperty

class GeneralBidderAdapter extends Generic {

String siteId
List<Integer> size
String sid
@JsonProperty("ds")
String demandSource
@JsonProperty("bc")
BidderName bidderCode
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ class AccountConfig {
AccountSetting settings
@JsonProperty("cookie_sync")
AccountCookieSyncConfig cookieSyncSnakeCase
AlternateBidderCodes alternateBidderCodes
@JsonProperty("alternate_bidder_codes")
AlternateBidderCodes alternateBidderCodesSnakeCase

static getDefaultAccountConfig() {
new AccountConfig(status: AccountStatus.ACTIVE)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package org.prebid.server.functional.model.config

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

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

Boolean enabled
Map<BidderName, BidderConfig> bidders
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
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.EqualsAndHashCode
import groovy.transform.ToString
import org.prebid.server.functional.model.bidder.BidderName

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

Boolean enabled
List<BidderName> allowedBidderCodes
@JsonProperty("allowedbiddercodes")
List<BidderName> allowedBidderCodesLowerCase
@JsonProperty("allowed_bidder_codes")
List<BidderName> allowedBidderCodesSnakeCase
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package org.prebid.server.functional.model.request.auction

import com.fasterxml.jackson.annotation.JsonProperty
import org.prebid.server.functional.model.bidder.BidderAdapter
import org.prebid.server.functional.model.bidder.BidderName

class Amx implements BidderAdapter {

@JsonProperty("ct")
Integer creativeType
@JsonProperty("startdelay")
Integer startDelay
@JsonProperty("ds")
String demandSource
@JsonProperty("bc")
BidderName bidderCode
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import org.prebid.server.functional.model.bidder.Rubicon
class Bidder {

Generic alias
@JsonProperty("ALIAS")
Generic aliasUpperCase
Generic generic
@JsonProperty("gener_x")
Generic generX
Expand All @@ -26,6 +28,9 @@ class Bidder {
Openx openxAlias
Adrino adrino
Generic nativo
Amx amx
@JsonProperty("AMX")
Amx amxUpperCase

static Bidder getDefaultBidder() {
new Bidder().tap {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
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.ToString
import org.prebid.server.functional.model.ChannelType
import org.prebid.server.functional.model.bidder.BidderName
import org.prebid.server.functional.model.config.AlternateBidderCodes

@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
@ToString(includeNames = true, ignoreNulls = true)
Expand Down Expand Up @@ -41,6 +43,8 @@ class Prebid {
PrebidAnalytics analytics
StoredAuctionResponse storedAuctionResponse
PaaFormat paaFormat
@JsonProperty("alternatebiddercodes")
AlternateBidderCodes alternateBidderCodes

static class Channel {

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

import com.fasterxml.jackson.annotation.JsonProperty
import groovy.transform.ToString
import org.prebid.server.functional.model.Currency
import org.prebid.server.functional.model.bidder.BidderName

@ToString(includeNames = true, ignoreNulls = true)
class BidExt {
Expand All @@ -10,4 +12,12 @@ class BidExt {
BigDecimal origbidcpm
Currency origbidcur
DsaResponse dsa
@JsonProperty("ct")
Integer creativeType
@JsonProperty("startdelay")
Integer startDelay
@JsonProperty("ds")
String demandSource
@JsonProperty("bc")
BidderName bidderCode
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ enum ErrorType {
ALIAS("alias"),
TARGETING("targeting"),
IX("ix"),
OPENX("openx")
OPENX("openx"),
AMX("amx"),
AMX_UPPER_CASE("AMX"),

@JsonValue
final String value
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
package org.prebid.server.functional.model.response.auction

import com.fasterxml.jackson.annotation.JsonProperty
import groovy.transform.ToString
import org.prebid.server.functional.model.bidder.BidderName
import org.prebid.server.functional.model.request.auction.RendererData

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

String adapterCode
@JsonProperty("adaptercode")
BidderName adapterCode
List<String> advertiserDomains
Integer advertiserId
String advertiserName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ class AliasSpec extends BaseSpec {
then: "Request should fail with error"
def exception = thrown(PrebidServerException)
assert exception.responseBody.contains("Invalid request format: request.ext.prebid.aliasgvlids. " +
"vendorId ${validId} refers to unknown bidder alias: ${bidderName}")
"vendorId ${validId} refers to unknown bidder alias: ${bidderName.toLowerCase()}")
}

def "PBS should return an error when GVL ID alias value is lower that one"() {
Expand All @@ -126,7 +126,7 @@ class AliasSpec extends BaseSpec {
then: "Request should fail with error"
def exception = thrown(PrebidServerException)
assert exception.responseBody.contains("Invalid request format: request.ext.prebid.aliasgvlids. " +
"Invalid vendorId ${invalidId} for alias: ${bidderName}. Choose a different vendorId, or remove this entry.")
"Invalid vendorId ${invalidId} for alias: ${bidderName.toLowerCase()}. Choose a different vendorId, or remove this entry.")

where:
invalidId << [PBSUtils.randomNegativeNumber, 0]
Expand All @@ -145,7 +145,7 @@ class AliasSpec extends BaseSpec {
then: "Request should fail with an error"
def exception = thrown(PrebidServerException)
assert exception.statusCode == BAD_REQUEST.code()
assert exception.responseBody == "Invalid request format: request.ext.prebid.aliases.$randomString " +
assert exception.responseBody == "Invalid request format: request.ext.prebid.aliases.${randomString.toLowerCase()} " +
"refers to unknown bidder: $BOGUS.value"
}

Expand Down
Loading