Skip to content

Commit c6ddf01

Browse files
committed
Refactoring functional tests
1 parent 30d7cc3 commit c6ddf01

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+426
-383
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package org.prebid.server.functional.model.config
33
import com.fasterxml.jackson.databind.PropertyNamingStrategies
44
import com.fasterxml.jackson.databind.annotation.JsonNaming
55
import groovy.transform.ToString
6-
import org.prebid.server.functional.model.ModuleName
76

87
@ToString(includeNames = true, ignoreNulls = true)
98
@JsonNaming(PropertyNamingStrategies.KebabCaseStrategy)

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

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package org.prebid.server.functional.model.config
22

33
import groovy.transform.ToString
4-
import org.prebid.server.functional.model.ModuleName
54

65
@ToString(includeNames = true, ignoreNulls = true)
76
class EndpointExecutionPlan {
87

98
Map<Stage, StageExecutionPlan> stages
109

1110
static EndpointExecutionPlan getModuleEndpointExecutionPlan(ModuleName name, List<Stage> stages) {
12-
new EndpointExecutionPlan(stages: stages.collectEntries {
13-
it -> [(it): StageExecutionPlan.getModuleStageExecutionPlan(name, it)] } as Map<Stage, StageExecutionPlan>)
11+
new EndpointExecutionPlan(stages: stages.collectEntries {
12+
it -> [(it): StageExecutionPlan.getModuleStageExecutionPlan(name, it)]
13+
} as Map<Stage, StageExecutionPlan>)
1414
}
1515

1616
static EndpointExecutionPlan getModulesEndpointExecutionPlan(Map<Stage, List<ModuleName>> modulesStages) {
@@ -24,4 +24,17 @@ class EndpointExecutionPlan {
2424
} as Map<Stage, StageExecutionPlan>
2525
)
2626
}
27+
28+
static EndpointExecutionPlan getModuleEndpointExecutionPlan(List<ModuleHookImplementation> modulesHooks) {
29+
Map<Stage, StageExecutionPlan> stages = [:]
30+
modulesHooks.each { moduleHook ->
31+
def stage = Stage.forValue(moduleHook)
32+
if (!stages.containsKey(stage)) {
33+
stages[stage] = StageExecutionPlan.getModuleStageExecutionPlan([moduleHook])
34+
} else {
35+
stages[stage].addGroup(moduleHook)
36+
}
37+
}
38+
new EndpointExecutionPlan(stages: stages)
39+
}
2740
}

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonProperty
44
import com.fasterxml.jackson.databind.PropertyNamingStrategies
55
import com.fasterxml.jackson.databind.annotation.JsonNaming
66
import groovy.transform.ToString
7-
import org.prebid.server.functional.model.ModuleName
87

98
@ToString(includeNames = true, ignoreNulls = true)
109
@JsonNaming(PropertyNamingStrategies.KebabCaseStrategy)
@@ -16,6 +15,13 @@ class ExecutionGroup {
1615
@JsonProperty("hook_sequence")
1716
List<HookId> hookSequenceSnakeCase
1817

18+
static ExecutionGroup getModuleExecutionGroup(ModuleHookImplementation moduleHook) {
19+
new ExecutionGroup().tap {
20+
timeout = 100
21+
hookSequence = [new HookId(moduleCode: ModuleName.forValue(moduleHook).code, hookImplCode: moduleHook.code)]
22+
}
23+
}
24+
1925
static ExecutionGroup getModuleExecutionGroup(ModuleName name, Stage stage) {
2026
new ExecutionGroup().tap {
2127
timeout = 100

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,20 @@ package org.prebid.server.functional.model.config
33
import com.fasterxml.jackson.databind.PropertyNamingStrategies
44
import com.fasterxml.jackson.databind.annotation.JsonNaming
55
import groovy.transform.ToString
6-
import org.prebid.server.functional.model.ModuleName
6+
7+
import static org.prebid.server.functional.model.config.Endpoint.OPENRTB2_AUCTION
78

89
@ToString(includeNames = true, ignoreNulls = true)
910
@JsonNaming(PropertyNamingStrategies.LowerCaseStrategy)
1011
class ExecutionPlan {
1112

12-
List<AbTest> abTests
13+
List<ModularityAbTest> abTests
1314
Map<Endpoint, EndpointExecutionPlan> endpoints
1415

16+
static ExecutionPlan getSingleEndpointExecutionPlan(List<ModuleHookImplementation> moduleHook, Endpoint endpoint = OPENRTB2_AUCTION) {
17+
new ExecutionPlan(endpoints: [(endpoint): EndpointExecutionPlan.getModuleEndpointExecutionPlan(moduleHook)])
18+
}
19+
1520
static ExecutionPlan getSingleEndpointExecutionPlan(Endpoint endpoint, ModuleName moduleName, List<Stage> stage) {
1621
new ExecutionPlan(endpoints: [(endpoint): EndpointExecutionPlan.getModuleEndpointExecutionPlan(moduleName, stage)])
1722
}

src/test/groovy/org/prebid/server/functional/model/config/AbTest.groovy renamed to src/test/groovy/org/prebid/server/functional/model/config/ModularityAbTest.groovy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import groovy.transform.ToString
77

88
@ToString(includeNames = true, ignoreNulls = true)
99
@JsonNaming(PropertyNamingStrategies.KebabCaseStrategy)
10-
class AbTest {
10+
class ModularityAbTest {
1111

1212
Boolean enabled
1313
String moduleCode
@@ -21,8 +21,8 @@ class AbTest {
2121
@JsonProperty("log_analytics_tag")
2222
Boolean logAnalyticsTagSnakeCase
2323

24-
static AbTest getDefault(String moduleCode, List<Integer> accounts = null) {
25-
new AbTest(enabled: true,
24+
static ModularityAbTest getDefault(String moduleCode, List<Integer> accounts = null) {
25+
new ModularityAbTest(enabled: true,
2626
moduleCode: moduleCode,
2727
accounts: accounts,
2828
percentActive: 0,

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.prebid.server.functional.model.config
22

33
import com.fasterxml.jackson.annotation.JsonValue
4-
import org.prebid.server.functional.model.ModuleName
54

65
//TODO remove if module hooks implementation codes will become consistent
76
enum ModuleHookImplementation {

src/test/groovy/org/prebid/server/functional/model/ModuleName.groovy renamed to src/test/groovy/org/prebid/server/functional/model/config/ModuleName.groovy

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.prebid.server.functional.model
1+
package org.prebid.server.functional.model.config
22

33
import com.fasterxml.jackson.annotation.JsonValue
44

@@ -15,4 +15,8 @@ enum ModuleName {
1515
ModuleName(String code) {
1616
this.code = code
1717
}
18+
19+
static ModuleName forValue(ModuleHookImplementation moduleHook) {
20+
values().find { moduleHook.code.contains(it.code) }
21+
}
1822
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ enum Stage {
2424
this.metricValue = metricValue
2525
}
2626

27+
static Stage forValue(ModuleHookImplementation moduleHook) {
28+
values().find { moduleHook.code.contains(it.value) }
29+
}
30+
2731
@Override
2832
String toString() {
2933
value

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package org.prebid.server.functional.model.config
22

33
import groovy.transform.ToString
4-
import org.prebid.server.functional.model.ModuleName
54

65
@ToString(includeNames = true, ignoreNulls = true)
76
class StageExecutionPlan {
@@ -11,4 +10,13 @@ class StageExecutionPlan {
1110
static StageExecutionPlan getModuleStageExecutionPlan(ModuleName name, Stage stage) {
1211
new StageExecutionPlan(groups: [ExecutionGroup.getModuleExecutionGroup(name, stage)])
1312
}
13+
14+
static StageExecutionPlan getModuleStageExecutionPlan(List<ModuleHookImplementation> modulesHooks) {
15+
new StageExecutionPlan(groups: modulesHooks.collect { ExecutionGroup.getModuleExecutionGroup(it) })
16+
}
17+
18+
StageExecutionPlan addGroup(ModuleHookImplementation moduleHook) {
19+
(groups ?: (groups = [])).add(ExecutionGroup.getModuleExecutionGroup(moduleHook))
20+
this
21+
}
1422
}

src/test/groovy/org/prebid/server/functional/model/request/auction/UserExtData.groovy

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ import org.prebid.server.functional.util.PBSUtils
77
class UserExtData {
88

99
List<String> keywords
10-
String buyeruid
11-
List<String> buyeruids
10+
String buyerUid
11+
List<String> buyerUids
1212
Geo geo
1313

1414
static UserExtData getFPDUserExtData() {
1515
new UserExtData().tap {
1616
keywords = [PBSUtils.randomString]
17-
buyeruid = PBSUtils.randomString
18-
buyeruids = [PBSUtils.randomString]
17+
buyerUid = PBSUtils.randomString
18+
buyerUids = [PBSUtils.randomString]
1919
}
2020
}
2121
}

0 commit comments

Comments
 (0)