prebid.js 6.26.0 → 6.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/adWMGAnalyticsAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adfBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
- package/dist/adlooxAdServerVideo.js +1 -1
- package/dist/adlooxAnalyticsAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/adoceanBidAdapter.js +1 -1
- package/dist/adomikAnalyticsAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adxpremiumAnalyticsAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/akamaiDapRtdProvider.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/audiencerunBidAdapter.js +1 -1
- package/dist/automatadBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/colossussspBidAdapter.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/datablocksAnalyticsAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningAnalyticsAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/ftrackIdSystem.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/hadronRtdProvider.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/incrxBidAdapter.js +1 -0
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/inskinBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/invisiblyAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoAnalyticsAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/koblerBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/mantisBidAdapter.js +1 -1
- package/dist/marsmediaAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediakeysBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/medianetRtdProvider.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/merkleIdSystem.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/naveggIdSystem.js +1 -1
- package/dist/not-for-prod/prebid.js +178 -176
- package/dist/novatiqIdSystem.js +1 -1
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/oneVideoBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxAnalyticsAdapter.js +1 -1
- package/dist/optimonAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +3 -3
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/pubCommonId.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubperfAnalyticsAdapter.js +1 -1
- package/dist/pubstackAnalyticsAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pulsepointAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/realvuAnalyticsAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/relevantAnalyticsAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rivrAnalyticsAdapter.js +1 -1
- package/dist/roxotAnalyticsAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/scaleableAnalyticsAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharedIdSystem.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/slimcutBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/sonobiAnalyticsAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sortableAnalyticsAdapter.js +1 -1
- package/dist/sortableBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/spotxBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/staqAnalyticsAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -0
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/telariaBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/trustxBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/integrationExamples/gpt/akamaidap_segments_example.html +5 -3
- package/modules/.submodules.json +1 -0
- package/modules/adfBidAdapter.js +0 -3
- package/modules/adlooxAnalyticsAdapter.js +9 -5
- package/modules/adlooxAnalyticsAdapter.md +3 -3
- package/modules/adlooxRtdProvider.js +3 -5
- package/modules/adlooxRtdProvider.md +2 -2
- package/modules/adoceanBidAdapter.js +29 -1
- package/modules/adyoulikeBidAdapter.js +3 -0
- package/modules/akamaiDapRtdProvider.js +469 -139
- package/modules/akamaiDapRtdProvider.md +5 -3
- package/modules/automatadBidAdapter.js +9 -5
- package/modules/colossussspBidAdapter.js +17 -17
- package/modules/conversantBidAdapter.js +2 -2
- package/modules/criteoBidAdapter.js +1 -1
- package/modules/ftrackIdSystem.js +5 -8
- package/modules/gdprEnforcement.js +15 -9
- package/modules/gridBidAdapter.js +4 -0
- package/modules/hadronAnalyticsAdapter.js +5 -1
- package/modules/hadronRtdProvider.js +15 -13
- package/modules/incrxBidAdapter.js +87 -0
- package/modules/{vertozBidAdapter.md → incrxBidAdapter.md} +6 -6
- package/modules/inskinBidAdapter.js +4 -3
- package/modules/insticatorBidAdapter.js +109 -42
- package/modules/ixBidAdapter.js +3 -2
- package/modules/ixBidAdapter.md +1 -1
- package/modules/kargoBidAdapter.js +32 -1
- package/modules/koblerBidAdapter.js +54 -45
- package/modules/koblerBidAdapter.md +12 -17
- package/modules/mantisBidAdapter.js +4 -8
- package/modules/medianetBidAdapter.js +2 -2
- package/modules/medianetRtdProvider.js +4 -6
- package/modules/merkleIdSystem.js +43 -31
- package/modules/naveggIdSystem.js +3 -2
- package/modules/novatiqIdSystem.js +6 -1
- package/modules/pubCommonId.js +2 -1
- package/modules/pubmaticAnalyticsAdapter.js +49 -33
- package/modules/relaidoBidAdapter.js +0 -3
- package/modules/sharedIdSystem.js +5 -11
- package/modules/slimcutBidAdapter.js +2 -2
- package/modules/spotxBidAdapter.js +1 -1
- package/modules/synacormediaBidAdapter.js +11 -2
- package/modules/taboolaBidAdapter.js +265 -0
- package/modules/taboolaBidAdapter.md +49 -0
- package/modules/telariaBidAdapter.js +3 -3
- package/modules/userId/eids.js +25 -5
- package/modules/zeta_global_sspBidAdapter.js +3 -2
- package/package.json +1 -1
- package/src/AnalyticsAdapter.js +5 -1
- package/src/adloader.js +6 -1
- package/src/storageManager.js +5 -4
- package/test/mocks/analyticsStub.js +13 -0
- package/test/mocks/xhr.js +22 -0
- package/test/spec/AnalyticsAdapter_spec.js +4 -0
- package/test/spec/modules/adfBidAdapter_spec.js +1 -1
- package/test/spec/modules/adoceanBidAdapter_spec.js +25 -1
- package/test/spec/modules/adriverIdSystem_spec.js +7 -3
- package/test/spec/modules/adyoulikeBidAdapter_spec.js +16 -1
- package/test/spec/modules/akamaiDapRtdProvider_spec.js +457 -109
- package/test/spec/modules/automatadBidAdapter_spec.js +4 -0
- package/test/spec/modules/conversantBidAdapter_spec.js +36 -5
- package/test/spec/modules/datablocksBidAdapter_spec.js +9 -8
- package/test/spec/modules/eids_spec.js +48 -3
- package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +4 -4
- package/test/spec/modules/ftrackIdSystem_spec.js +11 -22
- package/test/spec/modules/gdprEnforcement_spec.js +100 -53
- package/test/spec/modules/gridBidAdapter_spec.js +11 -0
- package/test/spec/modules/incrxBidAdapter_spec.js +100 -0
- package/test/spec/modules/insticatorBidAdapter_spec.js +46 -1
- package/test/spec/modules/ixBidAdapter_spec.js +1 -1
- package/test/spec/modules/kargoBidAdapter_spec.js +27 -0
- package/test/spec/modules/koblerBidAdapter_spec.js +160 -124
- package/test/spec/modules/medianetRtdProvider_spec.js +146 -0
- package/test/spec/modules/merkleIdSystem_spec.js +58 -37
- package/test/spec/modules/naveggIdSystem_spec.js +25 -1
- package/test/spec/modules/proxistoreBidAdapter_spec.js +0 -2
- package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +117 -0
- package/test/spec/modules/sovrnBidAdapter_spec.js +253 -264
- package/test/spec/modules/synacormediaBidAdapter_spec.js +74 -0
- package/test/spec/modules/taboolaBidAdapter_spec.js +455 -0
- package/test/spec/modules/userId_spec.js +27 -1
- package/test/spec/modules/vidazooBidAdapter_spec.js +9 -4
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +4 -2
- package/test/test_deps.js +1 -0
|
@@ -7,9 +7,8 @@ import sinon from 'sinon';
|
|
|
7
7
|
let expect = require('chai').expect;
|
|
8
8
|
|
|
9
9
|
const CONFIG_PARAMS = {
|
|
10
|
-
endpoint:
|
|
11
|
-
|
|
12
|
-
sv_cid: '5344_04531',
|
|
10
|
+
endpoint: undefined,
|
|
11
|
+
ssp_ids: ['ssp-1'],
|
|
13
12
|
sv_pubid: '11314',
|
|
14
13
|
sv_domain: 'www.testDomain.com',
|
|
15
14
|
sv_session: 'testsession'
|
|
@@ -38,6 +37,42 @@ function mockResponse(
|
|
|
38
37
|
}
|
|
39
38
|
|
|
40
39
|
describe('Merkle System', function () {
|
|
40
|
+
describe('merkleIdSystem.decode()', function() {
|
|
41
|
+
it('provides multiple Merkle IDs (EID) from a stored object', function() {
|
|
42
|
+
let storage = {
|
|
43
|
+
merkleId: [{
|
|
44
|
+
id: 'some-random-id-value', ext: { enc: 1, keyID: 16, idName: 'pamId', ssp: 'ssp1' }
|
|
45
|
+
}, {
|
|
46
|
+
id: 'another-random-id-value',
|
|
47
|
+
ext: {
|
|
48
|
+
enc: 1,
|
|
49
|
+
idName: 'pamId',
|
|
50
|
+
third: 4,
|
|
51
|
+
ssp: 'ssp2'
|
|
52
|
+
}
|
|
53
|
+
}],
|
|
54
|
+
_svsid: 'some-identifier'
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
expect(merkleIdSubmodule.decode(storage)).to.deep.equal({
|
|
58
|
+
merkleId: storage.merkleId
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('can decode legacy stored object', function() {
|
|
63
|
+
let merkleId = {'pam_id': {'id': 'testmerkleId', 'keyID': 1}};
|
|
64
|
+
|
|
65
|
+
expect(merkleIdSubmodule.decode(merkleId)).to.deep.equal({
|
|
66
|
+
merkleId: {'id': 'testmerkleId', 'keyID': 1}
|
|
67
|
+
});
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
it('returns undefined', function() {
|
|
71
|
+
let merkleId = {};
|
|
72
|
+
expect(merkleIdSubmodule.decode(merkleId)).to.be.undefined;
|
|
73
|
+
})
|
|
74
|
+
});
|
|
75
|
+
|
|
41
76
|
describe('Merkle System getId()', function () {
|
|
42
77
|
const callbackSpy = sinon.spy();
|
|
43
78
|
let sandbox;
|
|
@@ -59,60 +94,32 @@ describe('Merkle System', function () {
|
|
|
59
94
|
ajaxStub.restore();
|
|
60
95
|
});
|
|
61
96
|
|
|
62
|
-
it('getId() should fail on missing
|
|
63
|
-
let config = {
|
|
64
|
-
params: {
|
|
65
|
-
...CONFIG_PARAMS,
|
|
66
|
-
vendor: undefined
|
|
67
|
-
},
|
|
68
|
-
storage: STORAGE_PARAMS
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
let submoduleCallback = merkleIdSubmodule.getId(config, undefined);
|
|
72
|
-
expect(submoduleCallback).to.be.undefined;
|
|
73
|
-
expect(utils.logError.args[0][0]).to.exist.and.to.equal('User ID - merkleId submodule requires a valid vendor to be defined');
|
|
74
|
-
});
|
|
75
|
-
|
|
76
|
-
it('getId() should fail on missing vendor', function () {
|
|
77
|
-
let config = {
|
|
78
|
-
params: {
|
|
79
|
-
...CONFIG_PARAMS,
|
|
80
|
-
vendor: undefined
|
|
81
|
-
},
|
|
82
|
-
storage: STORAGE_PARAMS
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
let submoduleCallback = merkleIdSubmodule.getId(config, undefined);
|
|
86
|
-
expect(submoduleCallback).to.be.undefined;
|
|
87
|
-
expect(utils.logError.args[0][0]).to.exist.and.to.equal('User ID - merkleId submodule requires a valid vendor to be defined');
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
it('getId() should fail on missing sv_cid', function () {
|
|
97
|
+
it('getId() should fail on missing sv_pubid', function () {
|
|
91
98
|
let config = {
|
|
92
99
|
params: {
|
|
93
100
|
...CONFIG_PARAMS,
|
|
94
|
-
|
|
101
|
+
sv_pubid: undefined
|
|
95
102
|
},
|
|
96
103
|
storage: STORAGE_PARAMS
|
|
97
104
|
};
|
|
98
105
|
|
|
99
106
|
let submoduleCallback = merkleIdSubmodule.getId(config, undefined);
|
|
100
107
|
expect(submoduleCallback).to.be.undefined;
|
|
101
|
-
expect(utils.logError.args[0][0]).to.exist.and.to.equal('User ID - merkleId submodule requires a valid
|
|
108
|
+
expect(utils.logError.args[0][0]).to.exist.and.to.equal('User ID - merkleId submodule requires a valid sv_pubid string to be defined');
|
|
102
109
|
});
|
|
103
110
|
|
|
104
|
-
it('getId() should fail on missing
|
|
111
|
+
it('getId() should fail on missing ssp_ids', function () {
|
|
105
112
|
let config = {
|
|
106
113
|
params: {
|
|
107
114
|
...CONFIG_PARAMS,
|
|
108
|
-
|
|
115
|
+
ssp_ids: undefined
|
|
109
116
|
},
|
|
110
117
|
storage: STORAGE_PARAMS
|
|
111
118
|
};
|
|
112
119
|
|
|
113
120
|
let submoduleCallback = merkleIdSubmodule.getId(config, undefined);
|
|
114
121
|
expect(submoduleCallback).to.be.undefined;
|
|
115
|
-
expect(utils.logError.args[0][0]).to.exist.and.to.equal('User ID - merkleId submodule requires a valid
|
|
122
|
+
expect(utils.logError.args[0][0]).to.exist.and.to.equal('User ID - merkleId submodule requires a valid ssp_ids array to be defined');
|
|
116
123
|
});
|
|
117
124
|
|
|
118
125
|
it('getId() should warn on missing endpoint', function () {
|
|
@@ -140,6 +147,20 @@ describe('Merkle System', function () {
|
|
|
140
147
|
submoduleCallback(callbackSpy);
|
|
141
148
|
expect(callbackSpy.calledOnce).to.be.true;
|
|
142
149
|
});
|
|
150
|
+
|
|
151
|
+
it('getId() does not handle consent strings', function () {
|
|
152
|
+
let config = {
|
|
153
|
+
params: {
|
|
154
|
+
...CONFIG_PARAMS,
|
|
155
|
+
ssp_ids: []
|
|
156
|
+
},
|
|
157
|
+
storage: STORAGE_PARAMS
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
let submoduleCallback = merkleIdSubmodule.getId(config, { gdprApplies: true });
|
|
161
|
+
expect(submoduleCallback).to.be.undefined;
|
|
162
|
+
expect(utils.logError.args[0][0]).to.exist.and.to.equal('User ID - merkleId submodule does not currently handle consent strings');
|
|
163
|
+
});
|
|
143
164
|
});
|
|
144
165
|
|
|
145
166
|
describe('Merkle System extendId()', function () {
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { naveggIdSubmodule, storage } from 'modules/naveggIdSystem.js';
|
|
2
2
|
|
|
3
3
|
describe('naveggId', function () {
|
|
4
|
+
let sandbox;
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
sandbox = sinon.sandbox.create();
|
|
7
|
+
sandbox.stub(storage, 'getDataFromLocalStorage');
|
|
8
|
+
});
|
|
9
|
+
afterEach(() => {
|
|
10
|
+
sandbox.restore();
|
|
11
|
+
});
|
|
12
|
+
|
|
4
13
|
it('should NOT find navegg id', function () {
|
|
5
14
|
let id = naveggIdSubmodule.getId();
|
|
6
15
|
|
|
@@ -14,8 +23,23 @@ describe('naveggId', function () {
|
|
|
14
23
|
})
|
|
15
24
|
|
|
16
25
|
it('getId() should return "test-nvggid" id from local storage NAVEGG_ID', function() {
|
|
17
|
-
|
|
26
|
+
storage.getDataFromLocalStorage.callsFake(() => 'test-ninvggidd')
|
|
27
|
+
|
|
18
28
|
let id = naveggIdSubmodule.getId();
|
|
19
29
|
expect(id).to.be.deep.equal({id: 'test-ninvggidd'})
|
|
20
30
|
})
|
|
31
|
+
|
|
32
|
+
it('getId() should return "test-nvggid" id from local storage NAV0', function() {
|
|
33
|
+
storage.getDataFromLocalStorage.callsFake(() => 'nvgid-nav0')
|
|
34
|
+
|
|
35
|
+
let id = naveggIdSubmodule.getId();
|
|
36
|
+
expect(id).to.be.deep.equal({id: 'nvgid-nav0'})
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
it('getId() should return "test-nvggid" id from local storage NVG0', function() {
|
|
40
|
+
storage.getDataFromLocalStorage.callsFake(() => 'nvgid-nvg0')
|
|
41
|
+
|
|
42
|
+
let id = naveggIdSubmodule.getId();
|
|
43
|
+
expect(id).to.be.deep.equal({id: 'nvgid-nvg0'})
|
|
44
|
+
})
|
|
21
45
|
});
|
|
@@ -124,8 +124,6 @@ describe('ProxistoreBidAdapter', function () {
|
|
|
124
124
|
bid.params['bidFloor'] = 1;
|
|
125
125
|
let req = spec.buildRequests([bid], bidderRequest);
|
|
126
126
|
data = JSON.parse(req.data);
|
|
127
|
-
// eslint-disable-next-line no-console
|
|
128
|
-
console.log(data.bids[0]);
|
|
129
127
|
expect(data.bids[0].floor).equal(1);
|
|
130
128
|
bid.getFloor = function () {
|
|
131
129
|
return { currency: 'USD', floor: 1.0 };
|
|
@@ -164,6 +164,8 @@ const MOCK = {
|
|
|
164
164
|
'bids': [
|
|
165
165
|
{
|
|
166
166
|
'bidder': 'pubmatic',
|
|
167
|
+
'adapterCode': 'pubmatic',
|
|
168
|
+
'bidderCode': 'pubmatic',
|
|
167
169
|
'params': {
|
|
168
170
|
'publisherId': '1001',
|
|
169
171
|
'video': {
|
|
@@ -181,6 +183,8 @@ const MOCK = {
|
|
|
181
183
|
},
|
|
182
184
|
{
|
|
183
185
|
'bidder': 'pubmatic',
|
|
186
|
+
'adapterCode': 'pubmatic',
|
|
187
|
+
'bidderCode': 'pubmatic',
|
|
184
188
|
'params': {
|
|
185
189
|
'publisherId': '1001',
|
|
186
190
|
'kgpv': 'this-is-a-kgpv'
|
|
@@ -940,6 +944,7 @@ describe('pubmatic analytics adapter', function () {
|
|
|
940
944
|
|
|
941
945
|
it('Logger: best case + win tracker in case of Bidder Aliases', function() {
|
|
942
946
|
MOCK.BID_REQUESTED['bids'][0]['bidder'] = 'pubmatic_alias';
|
|
947
|
+
MOCK.BID_REQUESTED['bids'][0]['bidderCode'] = 'pubmatic_alias';
|
|
943
948
|
adapterManager.aliasRegistry['pubmatic_alias'] = 'pubmatic';
|
|
944
949
|
|
|
945
950
|
sandbox.stub($$PREBID_GLOBAL$$, 'getHighestCpmBids').callsFake((key) => {
|
|
@@ -1051,5 +1056,117 @@ describe('pubmatic analytics adapter', function () {
|
|
|
1051
1056
|
expect(data.en).to.equal('1.23');
|
|
1052
1057
|
expect(data.piid).to.equal('partnerImpressionID-1');
|
|
1053
1058
|
});
|
|
1059
|
+
|
|
1060
|
+
it('Logger: best case + win tracker in case of GroupM as alternate bidder', function() {
|
|
1061
|
+
MOCK.BID_REQUESTED['bids'][0]['bidderCode'] = 'groupm';
|
|
1062
|
+
sandbox.stub($$PREBID_GLOBAL$$, 'getHighestCpmBids').callsFake((key) => {
|
|
1063
|
+
return [MOCK.BID_RESPONSE[0], MOCK.BID_RESPONSE[1]]
|
|
1064
|
+
});
|
|
1065
|
+
|
|
1066
|
+
config.setConfig({
|
|
1067
|
+
testGroupId: 15
|
|
1068
|
+
});
|
|
1069
|
+
|
|
1070
|
+
events.emit(AUCTION_INIT, MOCK.AUCTION_INIT);
|
|
1071
|
+
events.emit(BID_REQUESTED, MOCK.BID_REQUESTED);
|
|
1072
|
+
events.emit(BID_RESPONSE, MOCK.BID_RESPONSE[0]);
|
|
1073
|
+
events.emit(BID_RESPONSE, MOCK.BID_RESPONSE[1]);
|
|
1074
|
+
events.emit(BIDDER_DONE, MOCK.BIDDER_DONE);
|
|
1075
|
+
events.emit(AUCTION_END, MOCK.AUCTION_END);
|
|
1076
|
+
events.emit(SET_TARGETING, MOCK.SET_TARGETING);
|
|
1077
|
+
events.emit(BID_WON, MOCK.BID_WON[0]);
|
|
1078
|
+
events.emit(BID_WON, MOCK.BID_WON[1]);
|
|
1079
|
+
|
|
1080
|
+
clock.tick(2000 + 1000);
|
|
1081
|
+
expect(requests.length).to.equal(3); // 1 logger and 2 win-tracker
|
|
1082
|
+
let request = requests[2]; // logger is executed late, trackers execute first
|
|
1083
|
+
expect(request.url).to.equal('https://t.pubmatic.com/wl?pubid=9999');
|
|
1084
|
+
let data = getLoggerJsonFromRequest(request.requestBody);
|
|
1085
|
+
expect(data.pubid).to.equal('9999');
|
|
1086
|
+
expect(data.pid).to.equal('1111');
|
|
1087
|
+
expect(data.pdvid).to.equal('20');
|
|
1088
|
+
expect(data.iid).to.equal('25c6d7f5-699a-4bfc-87c9-996f915341fa');
|
|
1089
|
+
expect(data.to).to.equal('3000');
|
|
1090
|
+
expect(data.purl).to.equal('http://www.test.com/page.html');
|
|
1091
|
+
expect(data.orig).to.equal('www.test.com');
|
|
1092
|
+
expect(data.tst).to.equal(1519767016);
|
|
1093
|
+
expect(data.tgid).to.equal(15);
|
|
1094
|
+
expect(data.s).to.be.an('array');
|
|
1095
|
+
expect(data.s.length).to.equal(2);
|
|
1096
|
+
|
|
1097
|
+
// slot 1
|
|
1098
|
+
expect(data.s[0].sn).to.equal('/19968336/header-bid-tag-0');
|
|
1099
|
+
expect(data.s[0].sz).to.deep.equal(['640x480']);
|
|
1100
|
+
expect(data.s[0].ps).to.be.an('array');
|
|
1101
|
+
expect(data.s[0].ps.length).to.equal(1);
|
|
1102
|
+
expect(data.s[0].ps[0].pn).to.equal('pubmatic');
|
|
1103
|
+
expect(data.s[0].ps[0].bc).to.equal('groupm');
|
|
1104
|
+
expect(data.s[0].ps[0].bidid).to.equal('2ecff0db240757');
|
|
1105
|
+
expect(data.s[0].ps[0].piid).to.equal('partnerImpressionID-1');
|
|
1106
|
+
expect(data.s[0].ps[0].db).to.equal(0);
|
|
1107
|
+
expect(data.s[0].ps[0].kgpv).to.equal('/19968336/header-bid-tag-0');
|
|
1108
|
+
expect(data.s[0].ps[0].kgpsv).to.equal('/19968336/header-bid-tag-0');
|
|
1109
|
+
expect(data.s[0].ps[0].psz).to.equal('640x480');
|
|
1110
|
+
expect(data.s[0].ps[0].eg).to.equal(1.23);
|
|
1111
|
+
expect(data.s[0].ps[0].en).to.equal(1.23);
|
|
1112
|
+
expect(data.s[0].ps[0].di).to.equal('');
|
|
1113
|
+
expect(data.s[0].ps[0].dc).to.equal('');
|
|
1114
|
+
expect(data.s[0].ps[0].l1).to.equal(3214);
|
|
1115
|
+
expect(data.s[0].ps[0].l2).to.equal(0);
|
|
1116
|
+
expect(data.s[0].ps[0].ss).to.equal(0);
|
|
1117
|
+
expect(data.s[0].ps[0].t).to.equal(0);
|
|
1118
|
+
expect(data.s[0].ps[0].wb).to.equal(1);
|
|
1119
|
+
expect(data.s[0].ps[0].af).to.equal('video');
|
|
1120
|
+
expect(data.s[0].ps[0].ocpm).to.equal(1.23);
|
|
1121
|
+
expect(data.s[0].ps[0].ocry).to.equal('USD');
|
|
1122
|
+
|
|
1123
|
+
// slot 2
|
|
1124
|
+
expect(data.s[1].sn).to.equal('/19968336/header-bid-tag-1');
|
|
1125
|
+
expect(data.s[1].sz).to.deep.equal(['1000x300', '970x250', '728x90']);
|
|
1126
|
+
expect(data.s[1].ps).to.be.an('array');
|
|
1127
|
+
expect(data.s[1].ps.length).to.equal(1);
|
|
1128
|
+
expect(data.s[1].ps[0].pn).to.equal('pubmatic');
|
|
1129
|
+
expect(data.s[1].ps[0].bc).to.equal('pubmatic');
|
|
1130
|
+
expect(data.s[1].ps[0].bidid).to.equal('3bd4ebb1c900e2');
|
|
1131
|
+
expect(data.s[1].ps[0].piid).to.equal('partnerImpressionID-2');
|
|
1132
|
+
expect(data.s[1].ps[0].db).to.equal(0);
|
|
1133
|
+
expect(data.s[1].ps[0].kgpv).to.equal('this-is-a-kgpv');
|
|
1134
|
+
expect(data.s[1].ps[0].kgpsv).to.equal('this-is-a-kgpv');
|
|
1135
|
+
expect(data.s[1].ps[0].psz).to.equal('728x90');
|
|
1136
|
+
expect(data.s[1].ps[0].eg).to.equal(1.52);
|
|
1137
|
+
expect(data.s[1].ps[0].en).to.equal(1.52);
|
|
1138
|
+
expect(data.s[1].ps[0].di).to.equal('the-deal-id');
|
|
1139
|
+
expect(data.s[1].ps[0].dc).to.equal('PMP');
|
|
1140
|
+
expect(data.s[1].ps[0].mi).to.equal('matched-impression');
|
|
1141
|
+
expect(data.s[1].ps[0].adv).to.equal('example.com');
|
|
1142
|
+
expect(data.s[1].ps[0].l1).to.equal(3214);
|
|
1143
|
+
expect(data.s[1].ps[0].l2).to.equal(0);
|
|
1144
|
+
expect(data.s[1].ps[0].ss).to.equal(1);
|
|
1145
|
+
expect(data.s[1].ps[0].t).to.equal(0);
|
|
1146
|
+
expect(data.s[1].ps[0].wb).to.equal(1);
|
|
1147
|
+
expect(data.s[1].ps[0].af).to.equal('banner');
|
|
1148
|
+
expect(data.s[1].ps[0].ocpm).to.equal(1.52);
|
|
1149
|
+
expect(data.s[1].ps[0].ocry).to.equal('USD');
|
|
1150
|
+
|
|
1151
|
+
// tracker slot1
|
|
1152
|
+
let firstTracker = requests[0].url;
|
|
1153
|
+
expect(firstTracker.split('?')[0]).to.equal('https://t.pubmatic.com/wt');
|
|
1154
|
+
data = {};
|
|
1155
|
+
firstTracker.split('?')[1].split('&').map(e => e.split('=')).forEach(e => data[e[0]] = e[1]);
|
|
1156
|
+
expect(data.pubid).to.equal('9999');
|
|
1157
|
+
expect(decodeURIComponent(data.purl)).to.equal('http://www.test.com/page.html');
|
|
1158
|
+
expect(data.tst).to.equal('1519767014');
|
|
1159
|
+
expect(data.iid).to.equal('25c6d7f5-699a-4bfc-87c9-996f915341fa');
|
|
1160
|
+
expect(data.bidid).to.equal('2ecff0db240757');
|
|
1161
|
+
expect(data.pid).to.equal('1111');
|
|
1162
|
+
expect(data.pdvid).to.equal('20');
|
|
1163
|
+
expect(decodeURIComponent(data.slot)).to.equal('/19968336/header-bid-tag-0');
|
|
1164
|
+
expect(decodeURIComponent(data.kgpv)).to.equal('/19968336/header-bid-tag-0');
|
|
1165
|
+
expect(data.pn).to.equal('pubmatic');
|
|
1166
|
+
expect(data.bc).to.equal('groupm');
|
|
1167
|
+
expect(data.eg).to.equal('1.23');
|
|
1168
|
+
expect(data.en).to.equal('1.23');
|
|
1169
|
+
expect(data.piid).to.equal('partnerImpressionID-1');
|
|
1170
|
+
});
|
|
1054
1171
|
});
|
|
1055
1172
|
});
|