Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPP4: Functional tests for full GPP support #2405

Merged
merged 26 commits into from
Aug 2, 2023
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
afe2d06
Add test architecture for gpp privacy module infrastructure
osulzhenko May 23, 2023
30760f1
Add functional tests for syncUsers activities with privacy module con…
osulzhenko May 26, 2023
a2359a2
Add functional tests for fetchBid activities with privacy module conf…
osulzhenko May 29, 2023
da1e725
Add functional tests for transmitUfpd activities with privacy module …
osulzhenko May 31, 2023
bdfec75
Add functional tests for transmitPreciseGeo activities with privacy m…
osulzhenko Jun 1, 2023
9b96fa5
Refactoring tests remove custom logic architecture
osulzhenko Jun 1, 2023
f938bfe
Add tests for metrics
osulzhenko Jun 2, 2023
5a2ff42
Minor update
osulzhenko Jun 6, 2023
43861d3
GPP Phase 3: Add functional tests for `TransmitTid` activity
osulzhenko Jun 7, 2023
5df415a
GPP Phase 4: Add functional tests for `TransmitTid` activity
osulzhenko Jun 9, 2023
7311788
Add test cases for invalid activities privacyRegulation config
osulzhenko Jun 9, 2023
8549889
Merge branch 'master' into tests-gpp-full-support
osulzhenko Jun 21, 2023
785ae76
Resolve conflicts with current master
osulzhenko Jun 22, 2023
1474e93
minor fixes and grouping tests
osulzhenko Jul 6, 2023
5f4025d
Merge branch 'master' into tests-gpp-full-support
osulzhenko Jul 10, 2023
7bc66f5
Resolve conflicts and structure test cases
osulzhenko Jul 6, 2023
155e39b
Merge branch 'add-usnat-privacy-module' into tests-gpp-full-support
osulzhenko Jul 26, 2023
3cee153
Merge branch 'add-usnat-privacy-module' into tests-gpp-full-support
osulzhenko Jul 26, 2023
7d1981d
Update tests with error response and fix iab property for US_GENERAL
osulzhenko Jul 26, 2023
194fb33
Merge branch 'add-usnat-privacy-module' into tests-gpp-full-support
osulzhenko Jul 27, 2023
72fdacd
update tests due to additional functional
osulzhenko Jul 30, 2023
e5dfb8d
add different GPP sids for tests
osulzhenko Jul 31, 2023
c744206
remove unused field
osulzhenko Jul 31, 2023
9ec9ea8
remove default USNat Disallow Logic test for FetchBid
osulzhenko Jul 31, 2023
684bafb
Update tests and fix formatting
osulzhenko Aug 1, 2023
7b1fdd7
Remove simple_gpc from FetchBid tests
osulzhenko Aug 1, 2023
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
@@ -0,0 +1,14 @@
package org.prebid.server.functional.model.config

import groovy.transform.ToString
import org.prebid.server.functional.model.request.GppSectionId
import org.prebid.server.functional.model.request.auction.PrivacyModule

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

PrivacyModule code
SidsConfig config
Boolean enabled
ModuleConfig moduleConfig
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ class AccountPrivacyConfig {
AccountCcpaConfig ccpa
@JsonProperty("allowactivities")
AllowActivities allowActivities
List<AccountGppConfig> modules
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package org.prebid.server.functional.model.config

import groovy.transform.ToString
import org.prebid.server.functional.model.request.GppSectionId

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

List<GppSectionId> sids
Boolean normalizeFlags

static ModuleConfig getDefaultModuleConfig(List<GppSectionId> sids = [GppSectionId.USP_NAT_V1],
Boolean normalizeFlags = true) {
new ModuleConfig().tap {
it.sids = sids
it.normalizeFlags = normalizeFlags
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package org.prebid.server.functional.model.config

import groovy.transform.ToString
import org.prebid.server.functional.model.request.GppSectionId

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

List<GppSectionId> skipSids
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,41 @@
package org.prebid.server.functional.model.request

import com.fasterxml.jackson.annotation.JsonValue
import com.iab.gpp.encoder.section.HeaderV1
import com.iab.gpp.encoder.section.TcfCaV1
import com.iab.gpp.encoder.section.TcfEuV2
import com.iab.gpp.encoder.section.UspCaV1
import com.iab.gpp.encoder.section.UspCoV1
import com.iab.gpp.encoder.section.UspCtV1
import com.iab.gpp.encoder.section.UspNatV1
import com.iab.gpp.encoder.section.UspUtV1
import com.iab.gpp.encoder.section.UspV1
import com.iab.gpp.encoder.section.UspVaV1

enum GppSectionId {

TCF_EU_V2("2"), USP_V1("6")
TCF_EU_V2(TcfEuV2.ID),
HEADER_V1(HeaderV1.ID),
TCF_CA_V1(TcfCaV1.ID),
USP_V1(UspV1.ID),
USP_NAT_V1(UspNatV1.ID),
USP_CA_V1(UspCaV1.ID),
USP_VA_V1(UspVaV1.ID),
USP_CO_V1(UspCoV1.ID),
USP_UT_V1(UspUtV1.ID),
USP_CT_V1(UspCtV1.ID)

final String value
@JsonValue
final Integer value

GppSectionId(String value) {
GppSectionId(Integer value) {
this.value = value
}

String getValue() {
value as String
}

Integer getIntValue(){
value.toInteger()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
package org.prebid.server.functional.model.request.auction

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

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

Condition condition
Boolean allow
@JsonProperty("privacyreg")
List<PrivacyModule> privacyRegulation

static ActivityRule getDefaultActivityRule(condition = Condition.baseCondition, allow = true) {
new ActivityRule().tap {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package org.prebid.server.functional.model.request.auction

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

@ToString(includeNames = true, ignoreNulls = true)
enum PrivacyModule {

IAB_TFC_EU("iab.tcfeu"),
IAB_US_GENERAL("iab.usgeneral"),
IAB_ALL("iab.*"),
CUSTOM_US_UTAH("custom.usutah"),
ALL("*")

@JsonValue
final String value

private PrivacyModule(String value) {
this.value = value
}
}
Loading