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 @@ -3,9 +3,9 @@ package org.prebid.server.functional.model.config
import groovy.transform.ToString
import org.prebid.server.functional.model.request.auction.ActivityType

import static org.prebid.server.functional.model.config.DataActivity.INVALID
import static org.prebid.server.functional.model.config.LogicalRestrictedRule.LogicalOperation.OR
import static org.prebid.server.functional.model.config.UsNationalPrivacySection.GPC
import static org.prebid.server.functional.model.privacy.gpp.GppDataActivity.INVALID

@ToString(includeNames = true, ignoreNulls = true)
class ActivityConfig {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package org.prebid.server.functional.model.config

enum ConfigCase {

CAMEL_CASE, KEBAB_CASE, SNAKE_CASE
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ import com.fasterxml.jackson.databind.JsonDeserializer
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import groovy.transform.ToString
import org.prebid.server.functional.model.privacy.gpp.GppDataActivity

@ToString(includeNames = true, ignoreNulls = true)
@JsonDeserialize(using = EqualityValueRuleDeserialize.class)
class EqualityValueRule extends ValueRestrictedRule {

EqualityValueRule(UsNationalPrivacySection privacySection, DataActivity value) {
EqualityValueRule(UsNationalPrivacySection privacySection, GppDataActivity value) {
super(privacySection, value)
}

Expand All @@ -22,7 +23,7 @@ class EqualityValueRule extends ValueRestrictedRule {
EqualityValueRule deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException {
JsonNode node = jsonParser.getCodec().readTree(jsonParser)
def privacySection = UsNationalPrivacySection.valueFromText(node?.get(0)?.get(JSON_LOGIC_VALUE_FIELD)?.textValue())
def value = DataActivity.fromInt(node?.get(1)?.asInt())
def value = GppDataActivity.fromInt(node?.get(1)?.asInt())
return new EqualityValueRule(privacySection, value)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ import com.fasterxml.jackson.annotation.JsonProperty
import groovy.transform.ToString
import org.prebid.server.functional.model.request.GppSectionId

import static org.prebid.server.functional.model.config.ConfigCase.CAMEL_CASE
import static org.prebid.server.functional.model.config.ConfigCase.KEBAB_CASE
import static org.prebid.server.functional.model.config.ConfigCase.SNAKE_CASE

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

Expand Down Expand Up @@ -31,31 +35,23 @@ class GppModuleConfig {

static GppModuleConfig getDefaultModuleConfig(ActivityConfig activityConfig = ActivityConfig.configWithDefaultRestrictRules,
List<GppSectionId> sids = [GppSectionId.US_NAT_V1],
Boolean normalizeFlags = true) {
new GppModuleConfig().tap {
it.activityConfig = [activityConfig]
it.sids = sids
it.normalizeFlags = normalizeFlags
}
}

static GppModuleConfig getDefaultModuleConfigSnakeCase(ActivityConfig activityConfig = ActivityConfig.configWithDefaultRestrictRules,
List<GppSectionId> sids = [GppSectionId.US_NAT_V1],
Boolean normalizeFlags = true) {
new GppModuleConfig().tap {
it.activityConfigSnakeCase = [activityConfig]
it.sids = sids
it.normalizeFlagsSnakeCase = normalizeFlags
}
}

static GppModuleConfig getDefaultModuleConfigKebabCase(ActivityConfig activityConfig = ActivityConfig.configWithDefaultRestrictRules,
List<GppSectionId> sids = [GppSectionId.US_NAT_V1],
Boolean normalizeFlags = true) {
new GppModuleConfig().tap {
it.activityConfigKebabCase = [activityConfig]
it.sids = sids
it.normalizeFlagsKebabCase = normalizeFlags
Boolean normalizeFlags = true,
ConfigCase configCase = CAMEL_CASE) {
new GppModuleConfig(sids: sids).tap {
switch (configCase) {
case CAMEL_CASE -> {
it.activityConfig = [activityConfig]
it.normalizeFlags = normalizeFlags
}
case KEBAB_CASE -> {
it.activityConfigKebabCase = [activityConfig]
it.normalizeFlagsKebabCase = normalizeFlags
}
case SNAKE_CASE -> {
it.activityConfigSnakeCase = [activityConfig]
it.normalizeFlagsSnakeCase = normalizeFlags
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ import com.fasterxml.jackson.databind.JsonDeserializer
import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import groovy.transform.ToString
import org.prebid.server.functional.model.privacy.gpp.GppDataActivity

@ToString(includeNames = true, ignoreNulls = true)
@JsonDeserialize(using = InequalityValueRuleDeserialize.class)
class InequalityValueRule extends ValueRestrictedRule {

InequalityValueRule(UsNationalPrivacySection privacySection, DataActivity value) {
InequalityValueRule(UsNationalPrivacySection privacySection, GppDataActivity value) {
super(privacySection, value)
}

Expand All @@ -22,7 +23,7 @@ class InequalityValueRule extends ValueRestrictedRule {
InequalityValueRule deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException, JacksonException {
JsonNode node = jsonParser.getCodec().readTree(jsonParser)
def privacySection = UsNationalPrivacySection.valueFromText(node?.get(0)?.get(JSON_LOGIC_VALUE_FIELD)?.textValue())
def value = DataActivity.fromInt(node?.get(1)?.asInt())
def value = GppDataActivity.fromInt(node?.get(1)?.asInt())
return new InequalityValueRule(privacySection, value)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,21 @@ import com.fasterxml.jackson.databind.JsonSerializer
import com.fasterxml.jackson.databind.SerializerProvider
import com.fasterxml.jackson.databind.annotation.JsonSerialize
import groovy.transform.ToString
import org.prebid.server.functional.model.privacy.gpp.GppDataActivity

@ToString(includeNames = true, ignoreNulls = true)
@JsonSerialize(using = ValueRestrictedRuleSerializer.class)
@JsonIgnoreProperties(ignoreUnknown = true)
abstract class ValueRestrictedRule {

protected UsNationalPrivacySection privacySection
protected DataActivity value
protected GppDataActivity value

protected static final String JSON_LOGIC_VALUE_FIELD = "var"

ValueRestrictedRule(UsNationalPrivacySection privacySection, DataActivity dataActivity) {
ValueRestrictedRule(UsNationalPrivacySection privacySection, GppDataActivity value) {
this.privacySection = privacySection
this.value = dataActivity
this.value = value
}

static class ValueRestrictedRuleSerializer extends JsonSerializer<ValueRestrictedRule> {
Expand All @@ -30,7 +31,7 @@ abstract class ValueRestrictedRule {
jsonGenerator.writeStartObject()
jsonGenerator.writeStringField(JSON_LOGIC_VALUE_FIELD, valueRestrictedRule.privacySection.value)
jsonGenerator.writeEndObject()
jsonGenerator.writeObject(valueRestrictedRule.value.dataActivityBits)
jsonGenerator.writeObject(valueRestrictedRule.value.value)
jsonGenerator.writeEndArray()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonValue

enum GppDataActivity {

INVALID(-1),
NOT_APPLICABLE(0),
NO_CONSENT(1),
CONSENT(2)
Expand All @@ -14,4 +15,9 @@ enum GppDataActivity {
GppDataActivity(int value) {
this.value = value
}

static GppDataActivity fromInt(int dataActivityBits) {
values().find { it.value == dataActivityBits }
?: { throw new IllegalArgumentException("Invalid dataActivityBits: ${dataActivityBits}") } as GppDataActivity
}
}
Original file line number Diff line number Diff line change
@@ -1,29 +1,20 @@
package org.prebid.server.functional.model.privacy.gpp

import org.prebid.server.functional.util.PBSUtils

class UsCaliforniaV1ChildSensitiveData {

GppDataActivity childUnder13
GppDataActivity childFrom13to16
GppDataActivity toSellUnder16
GppDataActivity toShareUnder16

static UsCaliforniaV1ChildSensitiveData getDefault(GppDataActivity childUnder13 = GppDataActivity.NOT_APPLICABLE,
GppDataActivity childFrom13to16 = GppDataActivity.NOT_APPLICABLE) {

new UsCaliforniaV1ChildSensitiveData().tap {
it.childUnder13 = childUnder13
it.childFrom13to16 = childFrom13to16
}
}

static UsCaliforniaV1ChildSensitiveData getRandom(List<GppDataActivity> excludedActivities) {
new UsCaliforniaV1ChildSensitiveData().tap {
it.childUnder13 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
it.childFrom13to16 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
it.toSellUnder16 = childUnder13
it.toShareUnder16 = childFrom13to16
}
}

List<Integer> getContentList() {
[childFrom13to16, childUnder13]*.value.collect { it ?: 0 }
[toShareUnder16, toSellUnder16]*.value.collect { it ?: 0 }
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.prebid.server.functional.model.privacy.gpp

import org.prebid.server.functional.util.PBSUtils

class UsColoradoV1ChildSensitiveData {

GppDataActivity childSensitive
Expand All @@ -12,12 +10,6 @@ class UsColoradoV1ChildSensitiveData {
}
}

static UsColoradoV1ChildSensitiveData getRandom(List<GppDataActivity> excludedActivities) {
new UsColoradoV1ChildSensitiveData().tap {
it.childSensitive = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
}
}

Integer getContentList() {
this.childSensitive.value
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
package org.prebid.server.functional.model.privacy.gpp

import org.prebid.server.functional.util.PBSUtils

class UsConnecticutV1ChildSensitiveData {

GppDataActivity childUnder13
GppDataActivity childFrom13to16
GppDataActivity childFrom16to18
GppDataActivity childFrom13to16Targeted

static UsConnecticutV1ChildSensitiveData getDefault(GppDataActivity childUnder13 = GppDataActivity.NOT_APPLICABLE,
GppDataActivity childFrom13to16 = GppDataActivity.NOT_APPLICABLE,
Expand All @@ -15,19 +13,11 @@ class UsConnecticutV1ChildSensitiveData {
new UsConnecticutV1ChildSensitiveData().tap {
it.childUnder13 = childUnder13
it.childFrom13to16 = childFrom13to16
it.childFrom16to18 = childFrom16to18
}
}

static UsConnecticutV1ChildSensitiveData getRandom(List<GppDataActivity> excludedActivities = []) {
new UsConnecticutV1ChildSensitiveData().tap {
it.childUnder13 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
it.childFrom13to16 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
it.childFrom16to18 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
it.childFrom13to16Targeted = childFrom16to18
}
}

List<Integer> getContentList() {
[childFrom13to16, childUnder13, childFrom16to18]*.value.collect { it ?: 0 }
[childUnder13, childFrom13to16, childFrom13to16Targeted]*.value.collect { it ?: 0 }
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.prebid.server.functional.model.privacy.gpp

import org.prebid.server.functional.util.PBSUtils

class UsNationalV1ChildSensitiveData {

GppDataActivity childUnder13
Expand All @@ -16,13 +14,6 @@ class UsNationalV1ChildSensitiveData {
}
}

static UsNationalV1ChildSensitiveData getRandom(List<GppDataActivity> excludedActivities) {
new UsNationalV1ChildSensitiveData().tap {
it.childUnder13 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
it.childFrom13to16 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
}
}

List<Integer> getContentList() {
[childFrom13to16, childUnder13]*.value.collect { it ?: 0 }
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.prebid.server.functional.model.privacy.gpp

import org.prebid.server.functional.util.PBSUtils

class UsNationalV2ChildSensitiveData extends UsNationalV1ChildSensitiveData {

GppDataActivity childFrom16to17
Expand All @@ -17,14 +15,6 @@ class UsNationalV2ChildSensitiveData extends UsNationalV1ChildSensitiveData {
}
}

static UsNationalV2ChildSensitiveData getRandom(List<GppDataActivity> excludedActivities) {
new UsNationalV2ChildSensitiveData().tap {
it.childUnder13 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
it.childFrom13to16 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
it.childFrom16to17 = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
}
}

List<Integer> getContentList() {
[childFrom13to16, childUnder13, childFrom16to17]*.value.collect { it ?: 0 }
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.prebid.server.functional.model.privacy.gpp

import org.prebid.server.functional.util.PBSUtils

class UsUtahV1ChildSensitiveData {

GppDataActivity childSensitive
Expand All @@ -13,12 +11,6 @@ class UsUtahV1ChildSensitiveData {
}
}

static UsUtahV1ChildSensitiveData getRandom(List<GppDataActivity> excludedActivities) {
new UsUtahV1ChildSensitiveData().tap {
it.childSensitive = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
}
}

Integer getContentList() {
childSensitive.value
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package org.prebid.server.functional.model.privacy.gpp

import org.prebid.server.functional.util.PBSUtils

class UsVirginiaV1ChildSensitiveData {

GppDataActivity childSensitive
Expand All @@ -13,12 +11,6 @@ class UsVirginiaV1ChildSensitiveData {
}
}

static UsVirginiaV1ChildSensitiveData getRandom(List<GppDataActivity> excludedActivities = []) {
new UsVirginiaV1ChildSensitiveData().tap {
it.childSensitive = PBSUtils.getRandomEnum(GppDataActivity, excludedActivities)
}
}

Integer getContentList() {
childSensitive.value
}
Expand Down
Loading
Loading