Skip to content

Commit 62d57f6

Browse files
IDNT-654: Logic to set gdprActionTimeout as actionTimeout in prebid … (#464)
* IDNT-654: Logic to set gdprActionTimeout as actionTimeout in prebid config * IDNT-654: Review comments resolved
1 parent 5d07ac9 commit 62d57f6

File tree

5 files changed

+44
-0
lines changed

5 files changed

+44
-0
lines changed

src_new/adapters/prebid.js

+6
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ var BID = require("../bid.js");
1010
var util = require("../util.js");
1111
var bidManager = require("../bidManager.js");
1212
var CONF = require("../conf.js");
13+
var COMMON_CONFIG = require("../common.config.js");
1314

1415
var parentAdapterID = CONSTANTS.COMMON.PARENT_ADAPTER_PREBID;
1516

@@ -830,6 +831,11 @@ function assignGdprConfigIfRequired(prebidConfig){
830831
allowAuctionWithoutConsent: CONFIG.getAwc(), // Auction without consent
831832
defaultGdprScope: true
832833
};
834+
var gdprActionTimeout = COMMON_CONFIG.getGdprActionTimeout()
835+
if (gdprActionTimeout) {
836+
util.log("GDPR IS ENABLED, TIMEOUT: " + prebidConfig["consentManagement"]['gdpr']['timeout'] +", ACTION TIMEOUT: "+ gdprActionTimeout);
837+
prebidConfig["consentManagement"]['gdpr']['actionTimeout'] = gdprActionTimeout;
838+
}
833839
}
834840
}
835841

src_new/common.config.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
var config = require("./conf.js");
2+
var CONSTANTS = require("./constants.js");
3+
4+
exports.getGdprActionTimeout = function() {
5+
var gdprActionTimeout = config[CONSTANTS.CONFIG.COMMON][CONSTANTS.CONFIG.GDPR_ACTION_TIMEOUT];
6+
return gdprActionTimeout ? window.parseInt(gdprActionTimeout) : 0;
7+
};

src_new/constants.js

+1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ exports.CONFIG = {
112112
"TIMEOUT_ADJUSTMENT": 50,
113113
"SSO_ENABLED": "ssoEnabled",
114114
"FLOOR_SOURCE": "floorSource",
115+
"GDPR_ACTION_TIMEOUT": "gdprActionTimeout",
115116
"PB_GLOBAL_VAR_NAMESPACE": "pbGlobalVarNamespace",
116117
"OW_GLOBAL_VAR_NAMESPACE": "owGlobalVarNamespace"
117118
};

src_new/controllers/idhub.js

+6
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
var CONFIG = require("../config.idhub.js");
66
var CONSTANTS = require("../constants.js");
77
var util = require("../util.idhub.js");
8+
var COMMON_CONFIG = require("../common.config.js");
89
var refThis = this;
910
var pbNameSpace = CONFIG.isIdentityOnly() ? CONSTANTS.COMMON.IH_NAMESPACE : CONSTANTS.COMMON.PREBID_NAMESPACE;
1011

@@ -47,6 +48,11 @@ refThis.setConfig = function(){
4748
allowAuctionWithoutConsent: CONFIG.getAwc(),
4849
defaultGdprScope: true
4950
};
51+
var gdprActionTimeout = COMMON_CONFIG.getGdprActionTimeout()
52+
if (gdprActionTimeout) {
53+
util.log("GDPR IS ENABLED, TIMEOUT: " + prebidConfig["consentManagement"]['gdpr']['timeout'] +", ACTION TIMEOUT: "+ gdprActionTimeout);
54+
prebidConfig["consentManagement"]['gdpr']['actionTimeout'] = gdprActionTimeout;
55+
}
5056
}
5157

5258
if (CONFIG.getCCPA()) {

test/common.config.spec.js

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
var CONF = require("../src_new/conf.js");
2+
var CONSTANTS = require("../src_new/constants.js");
3+
var COMMON_CONFIG = require("../src_new/common.config.js");
4+
5+
describe('COMMON CONFIG FILE', function () {
6+
describe('#getGdprActionTimeout', function () {
7+
it('is a function', function (done) {
8+
COMMON_CONFIG.getGdprActionTimeout.should.be.a('function');
9+
done();
10+
});
11+
12+
it('should return 5000, as it is set to 5000 when getGdprActionTimeout is called', function (done) {
13+
CONF[CONSTANTS.CONFIG.COMMON][CONSTANTS.CONFIG.GDPR_ACTION_TIMEOUT] = 5000;
14+
COMMON_CONFIG.getGdprActionTimeout().should.be.equal(5000);
15+
done();
16+
});
17+
18+
it('should return default value for gdpr action timeout which is 0, as it is NOT set', function (done) {
19+
delete CONF[CONSTANTS.CONFIG.COMMON][CONSTANTS.CONFIG.GDPR_ACTION_TIMEOUT];
20+
COMMON_CONFIG.getGdprActionTimeout().should.be.equal(0);
21+
done();
22+
});
23+
});
24+
});

0 commit comments

Comments
 (0)