Skip to content

Commit 2058dfc

Browse files
Net-burstsergseven
authored andcommitted
Make pr-richmedia-filter global properties optional (prebid#3612)
1 parent e8c27f7 commit 2058dfc

File tree

3 files changed

+49
-3
lines changed

3 files changed

+49
-3
lines changed

extra/modules/pb-richmedia-filter/src/main/java/org/prebid/server/hooks/modules/pb/richmedia/filter/config/PbRichmediaFilterModuleConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ public class PbRichmediaFilterModuleConfiguration {
2020

2121
@Bean
2222
PbRichmediaFilterModule pbRichmediaFilterModule(
23-
@Value("${hooks.modules.pb-richmedia-filter.filter-mraid}") Boolean filterMraid,
24-
@Value("${hooks.modules.pb-richmedia-filter.mraid-script-pattern}") String mraidScriptPattern) {
23+
@Value("${hooks.modules.pb-richmedia-filter.filter-mraid:false}") boolean filterMraid,
24+
@Value("${hooks.modules.pb-richmedia-filter.mraid-script-pattern:#{null}}") String mraidScriptPattern) {
2525

2626
final ObjectMapper mapper = ObjectMapperProvider.mapper();
2727
final PbRichMediaFilterProperties globalProperties = PbRichMediaFilterProperties.of(

src/test/groovy/org/prebid/server/functional/tests/module/ModuleBaseSpec.groovy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,14 @@ class ModuleBaseSpec extends BaseSpec {
3333
}
3434

3535
protected static Map<String, String> getRichMediaFilterSettings(String scriptPattern,
36-
boolean filterMraidEnabled = true,
36+
Boolean filterMraidEnabled = true,
3737
Endpoint endpoint = OPENRTB2_AUCTION) {
3838

3939
["hooks.${PB_RICHMEDIA_FILTER.code}.enabled" : true,
4040
"hooks.modules.${PB_RICHMEDIA_FILTER.code}.mraid-script-pattern": scriptPattern,
4141
"hooks.modules.${PB_RICHMEDIA_FILTER.code}.filter-mraid" : filterMraidEnabled,
4242
"hooks.host-execution-plan" : encode(ExecutionPlan.getSingleEndpointExecutionPlan(endpoint, [(ALL_PROCESSED_BID_RESPONSES): [PB_RICHMEDIA_FILTER]]))]
43+
.findAll { it.value != null }
4344
.collectEntries { key, value -> [(key.toString()): value.toString()] }
4445
}
4546

src/test/groovy/org/prebid/server/functional/tests/module/richmedia/RichMediaFilterSpec.groovy

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,51 @@ class RichMediaFilterSpec extends ModuleBaseSpec {
3535
.collectEntries { key, value -> [(key.toString()): value.toString()] })
3636
private final PrebidServerService pbsServiceWithDisabledMediaFilter = pbsServiceFactory.getService(getRichMediaFilterSettings(PATTERN_NAME, false))
3737

38+
def "PBS should process request without rich media module when host config have empty settings"() {
39+
given: "Prebid server with empty settings for module"
40+
def prebidServerService = pbsServiceFactory.getService(pbsConfig)
41+
42+
and: "BidRequest with stored response"
43+
def storedResponseId = PBSUtils.randomNumber
44+
def bidRequest = BidRequest.defaultBidRequest.tap {
45+
ext.prebid.returnAllBidStatus = true
46+
it.ext.prebid.trace = VERBOSE
47+
it.imp.first().ext.prebid.storedBidResponse = [new StoredBidResponse(id: storedResponseId, bidder: GENERIC)]
48+
}
49+
50+
and: "Stored bid response in DB"
51+
def storedBidResponse = BidResponse.getDefaultBidResponse(bidRequest).tap {
52+
it.seatbid[0].bid[0].adm = PBSUtils.randomString
53+
}
54+
def storedResponse = new StoredResponse(responseId: storedResponseId, storedBidResponse: storedBidResponse)
55+
storedResponseDao.save(storedResponse)
56+
57+
and: "Account in the DB"
58+
def account = new Account(uuid: bidRequest.getAccountId())
59+
accountDao.save(account)
60+
61+
when: "PBS processes auction request"
62+
def response = prebidServerService.sendAuctionRequest(bidRequest)
63+
64+
then: "Response header should contain seatbid"
65+
assert response.seatbid.size() == 1
66+
67+
and: "Response shouldn't contain errors of invalid creation"
68+
assert !response.ext.errors
69+
70+
and: "Response shouldn't contain analytics"
71+
assert !getAnalyticResults(response)
72+
73+
cleanup: "Stop and remove pbs container"
74+
pbsServiceFactory.removeContainer(pbsConfig)
75+
76+
where:
77+
pbsConfig << [getRichMediaFilterSettings(PBSUtils.randomString, null),
78+
getRichMediaFilterSettings(null, true),
79+
getRichMediaFilterSettings(null, false),
80+
getRichMediaFilterSettings(null, null)]
81+
}
82+
3883
def "PBS should process request without analytics when adm matches with pattern name and filter set to disabled in host config"() {
3984
given: "BidRequest with stored response"
4085
def storedResponseId = PBSUtils.randomNumber

0 commit comments

Comments
 (0)