prebid.js 9.5.0 → 9.7.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/.github/PULL_REQUEST_TEMPLATE.md +1 -1
- package/.github/release-drafter.yml +4 -0
- package/README.md +4 -4
- package/dist/33acrossAnalyticsAdapter.js +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.js +1 -1
- package/dist/BTBidAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adagioUtils.js +1 -1
- package/dist/addefendBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adkernelBidAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/adqueryBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adstirBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.js +1 -1
- package/dist/aidemBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/cleanmedianetBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectIdSystem.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/connectionInfo.js +1 -0
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantAnalyticsAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailymotionBidAdapter.js +1 -1
- package/dist/dependencies.json +31 -2
- package/dist/docereeAdManagerBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/exadsBidAdapter.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/gamoshiBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/greenbidsRtdProvider.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/idImportLibrary.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/intentIqAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kimberliteBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/luceadBidAdapter.js +1 -1
- package/dist/mabidderBidAdapter.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/medianetBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/missenaBidAdapter.js +1 -1
- package/dist/mobianRtdProvider.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +174 -170
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openwebBidAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/optidigitalBidAdapter.js +1 -1
- package/dist/orbidderBidAdapter.js +1 -1
- package/dist/ortbConverter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/ownadxBidAdapter.js +1 -0
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prismaBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/publirBidAdapter.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/retailspotBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/riseUtils.js +1 -0
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smarthubBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/snigelBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/stnBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/telariaBidAdapter.js +1 -1
- package/dist/teqblazeUtils.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/uid2IdSystem.js +1 -1
- package/dist/uid2IdSystem_shared.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/viantOrtbBidAdapter.js +1 -1
- package/dist/vidazooUtils.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/wurflRtdProvider.js +1 -0
- package/dist/yahooAdsBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/integrationExamples/gpt/wurflRtdProvider_example.html +106 -0
- package/libraries/connectionInfo/connectionUtils.js +33 -0
- package/libraries/ortbConverter/processors/video.js +2 -24
- package/libraries/riseUtils/index.js +331 -0
- package/libraries/teqblazeUtils/bidderUtils.js +15 -11
- package/libraries/vidazooUtils/bidderUtils.js +16 -0
- package/modules/.submodules.json +3 -1
- package/modules/51DegreesRtdProvider.md +11 -7
- package/modules/adagioAnalyticsAdapter.js +101 -84
- package/modules/adagioAnalyticsAdapter.md +4 -0
- package/modules/adagioBidAdapter.js +14 -66
- package/modules/adkernelBidAdapter.js +2 -2
- package/modules/aidemBidAdapter.js +2 -0
- package/modules/appnexusBidAdapter.js +1 -1
- package/modules/cleanmedianetBidAdapter.js +1 -1
- package/modules/connectIdSystem.js +5 -3
- package/modules/dailymotionBidAdapter.js +19 -0
- package/modules/docereeAdManagerBidAdapter.js +9 -12
- package/modules/gamoshiBidAdapter.js +1 -1
- package/modules/greenbidsAnalyticsAdapter.js +7 -4
- package/modules/greenbidsRtdProvider.js +15 -5
- package/modules/id5IdSystem.js +14 -93
- package/modules/idImportLibrary.js +14 -6
- package/modules/insticatorBidAdapter.js +35 -31
- package/modules/kargoBidAdapter.js +11 -14
- package/modules/kimberliteBidAdapter.js +24 -7
- package/modules/kimberliteBidAdapter.md +30 -1
- package/modules/minutemediaBidAdapter.js +21 -398
- package/modules/mobianRtdProvider.js +28 -14
- package/modules/nexx360BidAdapter.js +3 -2
- package/modules/openwebBidAdapter.js +18 -396
- package/modules/ownadxBidAdapter.js +99 -0
- package/modules/prismaBidAdapter.js +1 -27
- package/modules/publirBidAdapter.js +20 -273
- package/modules/pubmaticBidAdapter.js +2 -1
- package/modules/resetdigitalBidAdapter.md +54 -45
- package/modules/riseBidAdapter.js +19 -400
- package/modules/sharethroughBidAdapter.js +5 -0
- package/modules/shinezBidAdapter.js +17 -361
- package/modules/smarthubBidAdapter.js +45 -177
- package/modules/stnBidAdapter.js +22 -398
- package/modules/telariaBidAdapter.js +2 -32
- package/modules/ttdBidAdapter.js +14 -32
- package/modules/uid2IdSystem_shared.js +51 -39
- package/modules/viantOrtbBidAdapter.js +1 -1
- package/modules/wurflRtdProvider.js +213 -0
- package/modules/wurflRtdProvider.md +67 -0
- package/package.json +1 -1
- package/src/adloader.js +1 -0
- package/src/prebid.js +6 -1
- package/src/video.js +78 -1
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +231 -141
- package/test/spec/modules/adagioBidAdapter_spec.js +32 -67
- package/test/spec/modules/appnexusBidAdapter_spec.js +0 -33
- package/test/spec/modules/cleanmedianetBidAdapter_spec.js +1 -1
- package/test/spec/modules/connectIdSystem_spec.js +27 -28
- package/test/spec/modules/dailymotionBidAdapter_spec.js +50 -0
- package/test/spec/modules/docereeAdManagerBidAdapter_spec.js +1 -0
- package/test/spec/modules/gamoshiBidAdapter_spec.js +1 -1
- package/test/spec/modules/id5IdSystem_spec.js +25 -98
- package/test/spec/modules/idImportLibrary_spec.js +14 -0
- package/test/spec/modules/insticatorBidAdapter_spec.js +8 -1
- package/test/spec/modules/kargoBidAdapter_spec.js +7 -8
- package/test/spec/modules/kimberliteBidAdapter_spec.js +137 -65
- package/test/spec/modules/mobianRtdProvider_spec.js +46 -43
- package/test/spec/modules/nexx360BidAdapter_spec.js +1 -1
- package/test/spec/modules/ownadxBidAdapter_spec.js +103 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +18 -0
- package/test/spec/modules/sharethroughBidAdapter_spec.js +35 -0
- package/test/spec/modules/smarthubBidAdapter_spec.js +6 -4
- package/test/spec/modules/ttdBidAdapter_spec.js +10 -1
- package/test/spec/modules/viantOrtbBidAdapter_spec.js +1 -1
- package/test/spec/modules/vidazooBidAdapter_spec.js +12 -4
- package/test/spec/modules/wurflRtdProvider_spec.js +324 -0
- package/test/spec/unit/pbjs_api_spec.js +11 -0
- package/test/spec/video_spec.js +103 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import adagioAnalyticsAdapter from 'modules/adagioAnalyticsAdapter.js';
|
|
2
|
-
import { expect } from 'chai';
|
|
3
|
-
import * as utils from 'src/utils.js';
|
|
4
|
-
import { server } from 'test/mocks/xhr.js';
|
|
5
1
|
import * as prebidGlobal from 'src/prebidGlobal.js';
|
|
2
|
+
import * as utils from 'src/utils.js';
|
|
3
|
+
import adagioAnalyticsAdapter, { _internal } from 'modules/adagioAnalyticsAdapter.js';
|
|
6
4
|
import { EVENTS } from 'src/constants.js';
|
|
5
|
+
import { expect } from 'chai';
|
|
6
|
+
import { server } from 'test/mocks/xhr.js';
|
|
7
7
|
|
|
8
8
|
let adapterManager = require('src/adapterManager').default;
|
|
9
9
|
let events = require('src/events');
|
|
@@ -14,30 +14,35 @@ describe('adagio analytics adapter - adagio.js', () => {
|
|
|
14
14
|
|
|
15
15
|
beforeEach(() => {
|
|
16
16
|
sandbox = sinon.createSandbox();
|
|
17
|
-
|
|
18
17
|
sandbox.stub(events, 'getEvents').returns([]);
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
sandbox.stub(prebidGlobal, 'getGlobal').returns({
|
|
20
|
+
installedModules: ['adagioRtdProvider', 'rtdModule']
|
|
21
|
+
});
|
|
21
22
|
|
|
22
23
|
adapterManager.registerAnalyticsAdapter({
|
|
23
24
|
code: 'adagio',
|
|
24
25
|
adapter: adagioAnalyticsAdapter
|
|
25
26
|
});
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
w.ADAGIO.queue = w.ADAGIO.queue || [];
|
|
28
|
+
_internal.getAdagioNs().pageviewId = 'a68e6d70-213b-496c-be0a-c468ff387106';
|
|
29
29
|
|
|
30
|
-
adagioQueuePushSpy = sandbox.spy(
|
|
30
|
+
adagioQueuePushSpy = sandbox.spy(_internal.getAdagioNs().queue, 'push');
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
afterEach(() => {
|
|
34
|
+
_internal.getAdagioNs().queue = [];
|
|
34
35
|
sandbox.restore();
|
|
35
36
|
});
|
|
36
37
|
|
|
37
38
|
describe('track', () => {
|
|
38
39
|
beforeEach(() => {
|
|
39
40
|
adapterManager.enableAnalytics({
|
|
40
|
-
provider: 'adagio'
|
|
41
|
+
provider: 'adagio',
|
|
42
|
+
options: {
|
|
43
|
+
organizationId: '1001',
|
|
44
|
+
site: 'test-com',
|
|
45
|
+
}
|
|
41
46
|
});
|
|
42
47
|
});
|
|
43
48
|
|
|
@@ -93,7 +98,6 @@ describe('adagio analytics adapter - adagio.js', () => {
|
|
|
93
98
|
|
|
94
99
|
// Step 1-3: Send events
|
|
95
100
|
Object.entries(testEvents).forEach(([ev, payload]) => events.emit(ev, payload));
|
|
96
|
-
|
|
97
101
|
function eventItem(eventName, args) {
|
|
98
102
|
return sinon.match({
|
|
99
103
|
action: 'pb-analytics-event',
|
|
@@ -108,79 +112,13 @@ describe('adagio analytics adapter - adagio.js', () => {
|
|
|
108
112
|
Object.entries(testEvents).forEach(([ev, payload]) => sinon.assert.calledWith(adagioQueuePushSpy, eventItem(ev, payload)));
|
|
109
113
|
});
|
|
110
114
|
});
|
|
111
|
-
|
|
112
|
-
describe('no track', () => {
|
|
113
|
-
beforeEach(() => {
|
|
114
|
-
sandbox.stub(utils, 'getWindowTop').throws();
|
|
115
|
-
|
|
116
|
-
adapterManager.enableAnalytics({
|
|
117
|
-
provider: 'adagio'
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
afterEach(() => {
|
|
122
|
-
adagioAnalyticsAdapter.disableAnalytics();
|
|
123
|
-
sandbox.restore();
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
it('builds and sends auction data', () => {
|
|
127
|
-
let bidRequest = {
|
|
128
|
-
bids: [{
|
|
129
|
-
adUnitCode: 'div-1',
|
|
130
|
-
params: {
|
|
131
|
-
features: {
|
|
132
|
-
siteId: '2',
|
|
133
|
-
placement: 'pave_top',
|
|
134
|
-
pagetype: 'article',
|
|
135
|
-
category: 'IAB12,IAB12-2',
|
|
136
|
-
device: '2',
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}, {
|
|
140
|
-
adUnitCode: 'div-2',
|
|
141
|
-
params: {
|
|
142
|
-
features: {
|
|
143
|
-
siteId: '2',
|
|
144
|
-
placement: 'ban_top',
|
|
145
|
-
pagetype: 'article',
|
|
146
|
-
category: 'IAB12,IAB12-2',
|
|
147
|
-
device: '2',
|
|
148
|
-
}
|
|
149
|
-
},
|
|
150
|
-
}],
|
|
151
|
-
};
|
|
152
|
-
let bidResponse = {
|
|
153
|
-
bidderCode: 'adagio',
|
|
154
|
-
width: 300,
|
|
155
|
-
height: 250,
|
|
156
|
-
statusMessage: 'Bid available',
|
|
157
|
-
cpm: 6.2189757658226075,
|
|
158
|
-
currency: '',
|
|
159
|
-
netRevenue: false,
|
|
160
|
-
adUnitCode: 'div-1',
|
|
161
|
-
timeToRespond: 132,
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
// Step 1: Send bid requested event
|
|
165
|
-
events.emit(EVENTS.BID_REQUESTED, bidRequest);
|
|
166
|
-
|
|
167
|
-
// Step 2: Send bid response event
|
|
168
|
-
events.emit(EVENTS.BID_RESPONSE, bidResponse);
|
|
169
|
-
|
|
170
|
-
// Step 3: Send auction end event
|
|
171
|
-
events.emit(EVENTS.AUCTION_END, {});
|
|
172
|
-
|
|
173
|
-
utils.getWindowTop.restore();
|
|
174
|
-
|
|
175
|
-
sandbox.assert.callCount(adagioQueuePushSpy, 0);
|
|
176
|
-
});
|
|
177
|
-
});
|
|
178
115
|
});
|
|
179
116
|
|
|
180
117
|
const AUCTION_ID = '25c6d7f5-699a-4bfc-87c9-996f915341fa';
|
|
181
|
-
const
|
|
118
|
+
const RTD_AUCTION_ID = '753b3784-12a1-44c2-9d08-d0e4ee910e69';
|
|
119
|
+
const RTD_AUCTION_ID_CACHE = '04d991be-8f7d-4491-930b-2b7eefb3c447';
|
|
182
120
|
const AUCTION_ID_CACHE = 'b43d24a0-13d4-406d-8176-3181402bafc4';
|
|
183
|
-
const
|
|
121
|
+
const SESSION_ID = 'c4f9e517-a592-45af-9560-ca191823d591';
|
|
184
122
|
|
|
185
123
|
const BID_ADAGIO = {
|
|
186
124
|
bidder: 'adagio',
|
|
@@ -254,14 +192,20 @@ const BID_CACHED = Object.assign({}, BID_ADAGIO, {
|
|
|
254
192
|
});
|
|
255
193
|
|
|
256
194
|
const PARAMS_ADG = {
|
|
257
|
-
organizationId: '1001',
|
|
258
|
-
site: 'test-com',
|
|
259
|
-
pageviewId: 'a68e6d70-213b-496c-be0a-c468ff387106',
|
|
260
195
|
environment: 'desktop',
|
|
196
|
+
};
|
|
197
|
+
|
|
198
|
+
const ORTB_DATA = {
|
|
261
199
|
pagetype: 'article',
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
const ADG_RTD = {
|
|
203
|
+
'uid': RTD_AUCTION_ID,
|
|
204
|
+
'session': {
|
|
205
|
+
'testName': 'test',
|
|
206
|
+
'testVersion': 'version',
|
|
207
|
+
'id': SESSION_ID,
|
|
208
|
+
}
|
|
265
209
|
};
|
|
266
210
|
|
|
267
211
|
const AUCTION_INIT_ANOTHER = {
|
|
@@ -301,7 +245,14 @@ const AUCTION_INIT_ANOTHER = {
|
|
|
301
245
|
...PARAMS_ADG
|
|
302
246
|
},
|
|
303
247
|
}, ],
|
|
304
|
-
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014'
|
|
248
|
+
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
|
|
249
|
+
'ortb2Imp': {
|
|
250
|
+
'ext': {
|
|
251
|
+
'data': {
|
|
252
|
+
'placement': 'pave_top',
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
},
|
|
305
256
|
}, {
|
|
306
257
|
'code': '/19968336/footer-bid-tag-1',
|
|
307
258
|
'mediaTypes': {
|
|
@@ -321,7 +272,14 @@ const AUCTION_INIT_ANOTHER = {
|
|
|
321
272
|
'publisherId': '1001'
|
|
322
273
|
},
|
|
323
274
|
} ],
|
|
324
|
-
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014'
|
|
275
|
+
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
|
|
276
|
+
'ortb2Imp': {
|
|
277
|
+
'ext': {
|
|
278
|
+
'data': {
|
|
279
|
+
'placement': 'pave_top',
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
},
|
|
325
283
|
} ],
|
|
326
284
|
'adUnitCodes': ['/19968336/header-bid-tag-1', '/19968336/footer-bid-tag-1'],
|
|
327
285
|
'bidderRequests': [ {
|
|
@@ -387,6 +345,18 @@ const AUCTION_INIT_ANOTHER = {
|
|
|
387
345
|
'timeout': 3000,
|
|
388
346
|
'refererInfo': {
|
|
389
347
|
'topmostLocation': 'http://www.test.com/page.html', 'reachedTop': true, 'numIframes': 0, 'stack': ['http://www.test.com/page.html']
|
|
348
|
+
},
|
|
349
|
+
'ortb2': {
|
|
350
|
+
'site': {
|
|
351
|
+
'ext': {
|
|
352
|
+
'data': {
|
|
353
|
+
'adg_rtd': {
|
|
354
|
+
...ADG_RTD
|
|
355
|
+
},
|
|
356
|
+
...ORTB_DATA
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}
|
|
390
360
|
}
|
|
391
361
|
}, {
|
|
392
362
|
'bidderCode': 'adagio',
|
|
@@ -395,8 +365,7 @@ const AUCTION_INIT_ANOTHER = {
|
|
|
395
365
|
'bids': [ {
|
|
396
366
|
'bidder': 'adagio',
|
|
397
367
|
'params': {
|
|
398
|
-
...PARAMS_ADG
|
|
399
|
-
adagioAuctionId: AUCTION_ID_ADAGIO
|
|
368
|
+
...PARAMS_ADG
|
|
400
369
|
},
|
|
401
370
|
'mediaTypes': {
|
|
402
371
|
'banner': {
|
|
@@ -416,6 +385,18 @@ const AUCTION_INIT_ANOTHER = {
|
|
|
416
385
|
'timeout': 3000,
|
|
417
386
|
'refererInfo': {
|
|
418
387
|
'topmostLocation': 'http://www.test.com/page.html', 'reachedTop': true, 'numIframes': 0, 'stack': ['http://www.test.com/page.html']
|
|
388
|
+
},
|
|
389
|
+
'ortb2': {
|
|
390
|
+
'site': {
|
|
391
|
+
'ext': {
|
|
392
|
+
'data': {
|
|
393
|
+
'adg_rtd': {
|
|
394
|
+
...ADG_RTD
|
|
395
|
+
},
|
|
396
|
+
...ORTB_DATA
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
419
400
|
}
|
|
420
401
|
}
|
|
421
402
|
],
|
|
@@ -456,7 +437,14 @@ const AUCTION_INIT_CACHE = {
|
|
|
456
437
|
...PARAMS_ADG
|
|
457
438
|
},
|
|
458
439
|
}, ],
|
|
459
|
-
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014'
|
|
440
|
+
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
|
|
441
|
+
'ortb2Imp': {
|
|
442
|
+
'ext': {
|
|
443
|
+
'data': {
|
|
444
|
+
'placement': 'pave_top',
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
},
|
|
460
448
|
}, {
|
|
461
449
|
'code': '/19968336/footer-bid-tag-1',
|
|
462
450
|
'mediaTypes': {
|
|
@@ -476,7 +464,14 @@ const AUCTION_INIT_CACHE = {
|
|
|
476
464
|
'publisherId': '1001'
|
|
477
465
|
},
|
|
478
466
|
} ],
|
|
479
|
-
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014'
|
|
467
|
+
'transactionId': 'ca4af27a-6d02-4f90-949d-d5541fa12014',
|
|
468
|
+
'ortb2Imp': {
|
|
469
|
+
'ext': {
|
|
470
|
+
'data': {
|
|
471
|
+
'placement': 'pave_top',
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
},
|
|
480
475
|
} ],
|
|
481
476
|
'adUnitCodes': ['/19968336/header-bid-tag-1', '/19968336/footer-bid-tag-1'],
|
|
482
477
|
'bidderRequests': [ {
|
|
@@ -524,6 +519,19 @@ const AUCTION_INIT_CACHE = {
|
|
|
524
519
|
'timeout': 3000,
|
|
525
520
|
'refererInfo': {
|
|
526
521
|
'topmostLocation': 'http://www.test.com/page.html', 'reachedTop': true, 'numIframes': 0, 'stack': ['http://www.test.com/page.html']
|
|
522
|
+
},
|
|
523
|
+
'ortb2': {
|
|
524
|
+
'site': {
|
|
525
|
+
'ext': {
|
|
526
|
+
'data': {
|
|
527
|
+
'adg_rtd': {
|
|
528
|
+
...ADG_RTD,
|
|
529
|
+
'uid': RTD_AUCTION_ID_CACHE
|
|
530
|
+
},
|
|
531
|
+
...ORTB_DATA
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
}
|
|
527
535
|
}
|
|
528
536
|
}, {
|
|
529
537
|
'bidderCode': 'adagio',
|
|
@@ -532,8 +540,7 @@ const AUCTION_INIT_CACHE = {
|
|
|
532
540
|
'bids': [ {
|
|
533
541
|
'bidder': 'adagio',
|
|
534
542
|
'params': {
|
|
535
|
-
...PARAMS_ADG
|
|
536
|
-
adagioAuctionId: AUCTION_ID_CACHE_ADAGIO
|
|
543
|
+
...PARAMS_ADG
|
|
537
544
|
},
|
|
538
545
|
'mediaTypes': {
|
|
539
546
|
'banner': {
|
|
@@ -553,6 +560,19 @@ const AUCTION_INIT_CACHE = {
|
|
|
553
560
|
'timeout': 3000,
|
|
554
561
|
'refererInfo': {
|
|
555
562
|
'topmostLocation': 'http://www.test.com/page.html', 'reachedTop': true, 'numIframes': 0, 'stack': ['http://www.test.com/page.html']
|
|
563
|
+
},
|
|
564
|
+
'ortb2': {
|
|
565
|
+
'site': {
|
|
566
|
+
'ext': {
|
|
567
|
+
'data': {
|
|
568
|
+
'adg_rtd': {
|
|
569
|
+
...ADG_RTD,
|
|
570
|
+
'uid': RTD_AUCTION_ID_CACHE
|
|
571
|
+
},
|
|
572
|
+
...ORTB_DATA
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
}
|
|
556
576
|
}
|
|
557
577
|
}
|
|
558
578
|
],
|
|
@@ -621,10 +641,27 @@ describe('adagio analytics adapter', () => {
|
|
|
621
641
|
let sandbox;
|
|
622
642
|
|
|
623
643
|
beforeEach(() => {
|
|
624
|
-
sandbox = sinon.
|
|
644
|
+
sandbox = sinon.createSandbox();
|
|
625
645
|
|
|
626
646
|
sandbox.stub(events, 'getEvents').returns([]);
|
|
627
647
|
|
|
648
|
+
sandbox.stub(prebidGlobal, 'getGlobal').returns({
|
|
649
|
+
installedModules: ['adagioRtdProvider', 'rtdModule'],
|
|
650
|
+
convertCurrency: (cpm, from, to) => {
|
|
651
|
+
const convKeys = {
|
|
652
|
+
'GBP-EUR': 0.7,
|
|
653
|
+
'EUR-GBP': 1.3,
|
|
654
|
+
'USD-EUR': 0.8,
|
|
655
|
+
'EUR-USD': 1.2,
|
|
656
|
+
'USD-GBP': 0.6,
|
|
657
|
+
'GBP-USD': 1.6,
|
|
658
|
+
};
|
|
659
|
+
return cpm * (convKeys[`${from}-${to}`] || 1);
|
|
660
|
+
}
|
|
661
|
+
});
|
|
662
|
+
|
|
663
|
+
_internal.getAdagioNs().pageviewId = 'a68e6d70-213b-496c-be0a-c468ff387106';
|
|
664
|
+
|
|
628
665
|
adapterManager.registerAnalyticsAdapter({
|
|
629
666
|
code: 'adagio',
|
|
630
667
|
adapter: adagioAnalyticsAdapter
|
|
@@ -632,13 +669,18 @@ describe('adagio analytics adapter', () => {
|
|
|
632
669
|
});
|
|
633
670
|
|
|
634
671
|
afterEach(() => {
|
|
672
|
+
_internal.getAdagioNs().queue = [];
|
|
635
673
|
sandbox.restore();
|
|
636
674
|
});
|
|
637
675
|
|
|
638
676
|
describe('track', () => {
|
|
639
677
|
beforeEach(() => {
|
|
640
678
|
adapterManager.enableAnalytics({
|
|
641
|
-
provider: 'adagio'
|
|
679
|
+
provider: 'adagio',
|
|
680
|
+
options: {
|
|
681
|
+
organizationId: '1001',
|
|
682
|
+
site: 'test-com',
|
|
683
|
+
}
|
|
642
684
|
});
|
|
643
685
|
});
|
|
644
686
|
|
|
@@ -647,20 +689,6 @@ describe('adagio analytics adapter', () => {
|
|
|
647
689
|
});
|
|
648
690
|
|
|
649
691
|
it('builds and sends auction data', () => {
|
|
650
|
-
sandbox.stub(prebidGlobal, 'getGlobal').returns({
|
|
651
|
-
convertCurrency: (cpm, from, to) => {
|
|
652
|
-
const convKeys = {
|
|
653
|
-
'GBP-EUR': 0.7,
|
|
654
|
-
'EUR-GBP': 1.3,
|
|
655
|
-
'USD-EUR': 0.8,
|
|
656
|
-
'EUR-USD': 1.2,
|
|
657
|
-
'USD-GBP': 0.6,
|
|
658
|
-
'GBP-USD': 1.6,
|
|
659
|
-
};
|
|
660
|
-
return cpm * (convKeys[`${from}-${to}`] || 1);
|
|
661
|
-
}
|
|
662
|
-
});
|
|
663
|
-
|
|
664
692
|
events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT.another);
|
|
665
693
|
events.emit(EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE.adagio);
|
|
666
694
|
events.emit(EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE.another);
|
|
@@ -668,7 +696,7 @@ describe('adagio analytics adapter', () => {
|
|
|
668
696
|
events.emit(EVENTS.BID_WON, MOCK.BID_WON.another);
|
|
669
697
|
events.emit(EVENTS.AD_RENDER_SUCCEEDED, MOCK.AD_RENDER_SUCCEEDED.another);
|
|
670
698
|
|
|
671
|
-
expect(server.requests.length).to.equal(
|
|
699
|
+
expect(server.requests.length).to.equal(5, 'requests count');
|
|
672
700
|
{
|
|
673
701
|
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[0].url);
|
|
674
702
|
expect(protocol).to.equal('https');
|
|
@@ -676,7 +704,8 @@ describe('adagio analytics adapter', () => {
|
|
|
676
704
|
expect(pathname).to.equal('/pba.gif');
|
|
677
705
|
expect(search.v).to.equal('1');
|
|
678
706
|
expect(search.pbjsv).to.equal('$prebid.version$');
|
|
679
|
-
expect(search.
|
|
707
|
+
expect(search.s_id).to.equal(SESSION_ID);
|
|
708
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
680
709
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
681
710
|
expect(search.org_id).to.equal('1001');
|
|
682
711
|
expect(search.site).to.equal('test-com');
|
|
@@ -695,7 +724,16 @@ describe('adagio analytics adapter', () => {
|
|
|
695
724
|
expect(protocol).to.equal('https');
|
|
696
725
|
expect(hostname).to.equal('c.4dex.io');
|
|
697
726
|
expect(pathname).to.equal('/pba.gif');
|
|
727
|
+
expect(search.v).to.equal('1');
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
{
|
|
731
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[2].url);
|
|
732
|
+
expect(protocol).to.equal('https');
|
|
733
|
+
expect(hostname).to.equal('c.4dex.io');
|
|
734
|
+
expect(pathname).to.equal('/pba.gif');
|
|
698
735
|
expect(search.v).to.equal('2');
|
|
736
|
+
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
699
737
|
expect(search.e_sid).to.equal('42');
|
|
700
738
|
expect(search.e_pba_test).to.equal('true');
|
|
701
739
|
expect(search.bdrs_bid).to.equal('1,1,0');
|
|
@@ -703,12 +741,22 @@ describe('adagio analytics adapter', () => {
|
|
|
703
741
|
}
|
|
704
742
|
|
|
705
743
|
{
|
|
706
|
-
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[
|
|
744
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[3].url);
|
|
745
|
+
expect(protocol).to.equal('https');
|
|
746
|
+
expect(hostname).to.equal('c.4dex.io');
|
|
747
|
+
expect(pathname).to.equal('/pba.gif');
|
|
748
|
+
expect(search.v).to.equal('2');
|
|
749
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
750
|
+
expect(search.adu_code).to.equal('/19968336/footer-bid-tag-1');
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
{
|
|
754
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[4].url);
|
|
707
755
|
expect(protocol).to.equal('https');
|
|
708
756
|
expect(hostname).to.equal('c.4dex.io');
|
|
709
757
|
expect(pathname).to.equal('/pba.gif');
|
|
710
758
|
expect(search.v).to.equal('3');
|
|
711
|
-
expect(search.auct_id).to.equal(
|
|
759
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
712
760
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
713
761
|
expect(search.win_bdr).to.equal('another');
|
|
714
762
|
expect(search.win_mt).to.equal('ban');
|
|
@@ -719,20 +767,6 @@ describe('adagio analytics adapter', () => {
|
|
|
719
767
|
});
|
|
720
768
|
|
|
721
769
|
it('builds and sends auction data with a cached bid win', () => {
|
|
722
|
-
sandbox.stub(prebidGlobal, 'getGlobal').returns({
|
|
723
|
-
convertCurrency: (cpm, from, to) => {
|
|
724
|
-
const convKeys = {
|
|
725
|
-
'GBP-EUR': 0.7,
|
|
726
|
-
'EUR-GBP': 1.3,
|
|
727
|
-
'USD-EUR': 0.8,
|
|
728
|
-
'EUR-USD': 1.2,
|
|
729
|
-
'USD-GBP': 0.6,
|
|
730
|
-
'GBP-USD': 1.6,
|
|
731
|
-
};
|
|
732
|
-
return cpm * (convKeys[`${from}-${to}`] || 1);
|
|
733
|
-
}
|
|
734
|
-
});
|
|
735
|
-
|
|
736
770
|
events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT.bidcached);
|
|
737
771
|
events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT.another);
|
|
738
772
|
events.emit(EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE.adagio);
|
|
@@ -741,15 +775,17 @@ describe('adagio analytics adapter', () => {
|
|
|
741
775
|
events.emit(EVENTS.BID_WON, MOCK.BID_WON.bidcached);
|
|
742
776
|
events.emit(EVENTS.AD_RENDER_FAILED, MOCK.AD_RENDER_FAILED.bidcached);
|
|
743
777
|
|
|
744
|
-
expect(server.requests.length).to.equal(
|
|
778
|
+
expect(server.requests.length).to.equal(8, 'requests count');
|
|
745
779
|
{
|
|
780
|
+
// the first request is getting cached we expect to see its auction id later when it's re-used
|
|
746
781
|
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[0].url);
|
|
747
782
|
expect(protocol).to.equal('https');
|
|
748
783
|
expect(hostname).to.equal('c.4dex.io');
|
|
749
784
|
expect(pathname).to.equal('/pba.gif');
|
|
750
785
|
expect(search.v).to.equal('1');
|
|
751
786
|
expect(search.pbjsv).to.equal('$prebid.version$');
|
|
752
|
-
expect(search.auct_id).to.equal(
|
|
787
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID_CACHE);
|
|
788
|
+
expect(search.s_id).to.equal(SESSION_ID);
|
|
753
789
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
754
790
|
expect(search.org_id).to.equal('1001');
|
|
755
791
|
expect(search.site).to.equal('test-com');
|
|
@@ -772,7 +808,28 @@ describe('adagio analytics adapter', () => {
|
|
|
772
808
|
expect(pathname).to.equal('/pba.gif');
|
|
773
809
|
expect(search.v).to.equal('1');
|
|
774
810
|
expect(search.pbjsv).to.equal('$prebid.version$');
|
|
775
|
-
expect(search.auct_id).to.equal(
|
|
811
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID_CACHE);
|
|
812
|
+
expect(search.adu_code).to.equal('/19968336/footer-bid-tag-1');
|
|
813
|
+
expect(search.org_id).to.equal('1001');
|
|
814
|
+
expect(search.site).to.equal('test-com');
|
|
815
|
+
expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
|
|
816
|
+
expect(search.url_dmn).to.equal(window.location.hostname);
|
|
817
|
+
expect(search.pgtyp).to.equal('article');
|
|
818
|
+
expect(search.plcmt).to.equal('pave_top');
|
|
819
|
+
expect(search.mts).to.equal('ban');
|
|
820
|
+
expect(search.ban_szs).to.equal('640x480');
|
|
821
|
+
expect(search.bdrs).to.equal('another');
|
|
822
|
+
expect(search.adg_mts).to.not.exist;
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
{
|
|
826
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[2].url);
|
|
827
|
+
expect(protocol).to.equal('https');
|
|
828
|
+
expect(hostname).to.equal('c.4dex.io');
|
|
829
|
+
expect(pathname).to.equal('/pba.gif');
|
|
830
|
+
expect(search.v).to.equal('1');
|
|
831
|
+
expect(search.pbjsv).to.equal('$prebid.version$');
|
|
832
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
776
833
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
777
834
|
expect(search.org_id).to.equal('1001');
|
|
778
835
|
expect(search.site).to.equal('test-com');
|
|
@@ -787,11 +844,24 @@ describe('adagio analytics adapter', () => {
|
|
|
787
844
|
}
|
|
788
845
|
|
|
789
846
|
{
|
|
790
|
-
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[
|
|
847
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[3].url);
|
|
848
|
+
expect(protocol).to.equal('https');
|
|
849
|
+
expect(hostname).to.equal('c.4dex.io');
|
|
850
|
+
expect(pathname).to.equal('/pba.gif');
|
|
851
|
+
expect(search.v).to.equal('1');
|
|
852
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
853
|
+
expect(search.adu_code).to.equal('/19968336/footer-bid-tag-1');
|
|
854
|
+
expect(search.pv_id).to.equal('a68e6d70-213b-496c-be0a-c468ff387106');
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
{
|
|
858
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[4].url);
|
|
791
859
|
expect(protocol).to.equal('https');
|
|
792
860
|
expect(hostname).to.equal('c.4dex.io');
|
|
793
861
|
expect(pathname).to.equal('/pba.gif');
|
|
794
862
|
expect(search.v).to.equal('2');
|
|
863
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
864
|
+
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
795
865
|
expect(search.e_sid).to.equal('42');
|
|
796
866
|
expect(search.e_pba_test).to.equal('true');
|
|
797
867
|
expect(search.bdrs_bid).to.equal('0,0,0');
|
|
@@ -799,13 +869,24 @@ describe('adagio analytics adapter', () => {
|
|
|
799
869
|
}
|
|
800
870
|
|
|
801
871
|
{
|
|
802
|
-
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[
|
|
872
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[5].url);
|
|
873
|
+
expect(protocol).to.equal('https');
|
|
874
|
+
expect(hostname).to.equal('c.4dex.io');
|
|
875
|
+
expect(pathname).to.equal('/pba.gif');
|
|
876
|
+
expect(search.v).to.equal('2');
|
|
877
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
878
|
+
expect(search.adu_code).to.equal('/19968336/footer-bid-tag-1');
|
|
879
|
+
expect(search.rndr).to.not.exist;
|
|
880
|
+
}
|
|
881
|
+
|
|
882
|
+
{
|
|
883
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[6].url);
|
|
803
884
|
expect(protocol).to.equal('https');
|
|
804
885
|
expect(hostname).to.equal('c.4dex.io');
|
|
805
886
|
expect(pathname).to.equal('/pba.gif');
|
|
806
887
|
expect(search.v).to.equal('3');
|
|
807
|
-
expect(search.auct_id).to.equal(
|
|
808
|
-
expect(search.auct_id_c).to.equal(
|
|
888
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
889
|
+
expect(search.auct_id_c).to.equal(RTD_AUCTION_ID_CACHE);
|
|
809
890
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
810
891
|
expect(search.win_bdr).to.equal('adagio');
|
|
811
892
|
expect(search.win_mt).to.equal('ban');
|
|
@@ -816,20 +897,28 @@ describe('adagio analytics adapter', () => {
|
|
|
816
897
|
}
|
|
817
898
|
|
|
818
899
|
{
|
|
819
|
-
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[
|
|
900
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[7].url);
|
|
820
901
|
expect(protocol).to.equal('https');
|
|
821
902
|
expect(hostname).to.equal('c.4dex.io');
|
|
822
903
|
expect(pathname).to.equal('/pba.gif');
|
|
823
904
|
expect(search.v).to.equal('4');
|
|
824
|
-
expect(search.auct_id).to.equal(
|
|
825
|
-
expect(search.auct_id_c).to.equal(
|
|
905
|
+
expect(search.auct_id).to.equal(RTD_AUCTION_ID);
|
|
906
|
+
expect(search.auct_id_c).to.equal(RTD_AUCTION_ID_CACHE);
|
|
826
907
|
expect(search.adu_code).to.equal('/19968336/header-bid-tag-1');
|
|
908
|
+
expect(search.win_bdr).to.equal('adagio');
|
|
909
|
+
expect(search.win_mt).to.equal('ban');
|
|
910
|
+
expect(search.win_ban_sz).to.equal('728x90');
|
|
911
|
+
expect(search.win_net_cpm).to.equal('1.42');
|
|
912
|
+
expect(search.win_og_cpm).to.equal('1.42');
|
|
827
913
|
expect(search.rndr).to.equal('0');
|
|
828
914
|
}
|
|
829
915
|
});
|
|
830
916
|
|
|
831
917
|
it('send an "empty" cpm when adserver currency != USD and convertCurrency() is undefined', () => {
|
|
832
|
-
sandbox.
|
|
918
|
+
sandbox.restore();
|
|
919
|
+
sandbox.stub(prebidGlobal, 'getGlobal').returns({
|
|
920
|
+
installedModules: ['adagioRtdProvider', 'rtdModule']
|
|
921
|
+
});
|
|
833
922
|
|
|
834
923
|
events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT.another);
|
|
835
924
|
events.emit(EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE.adagio);
|
|
@@ -838,14 +927,15 @@ describe('adagio analytics adapter', () => {
|
|
|
838
927
|
events.emit(EVENTS.BID_WON, MOCK.BID_WON.another);
|
|
839
928
|
events.emit(EVENTS.AD_RENDER_SUCCEEDED, MOCK.AD_RENDER_SUCCEEDED.another);
|
|
840
929
|
|
|
841
|
-
expect(server.requests.length).to.equal(
|
|
930
|
+
expect(server.requests.length).to.equal(5, 'requests count');
|
|
842
931
|
|
|
843
932
|
// fail to compute bidder cpm and send an "empty" cpm
|
|
844
933
|
{
|
|
845
|
-
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[
|
|
934
|
+
const { protocol, hostname, pathname, search } = utils.parseUrl(server.requests[2].url);
|
|
846
935
|
expect(protocol).to.equal('https');
|
|
847
936
|
expect(hostname).to.equal('c.4dex.io');
|
|
848
937
|
expect(pathname).to.equal('/pba.gif');
|
|
938
|
+
expect(search.s_id).to.equal(SESSION_ID);
|
|
849
939
|
expect(search.v).to.equal('2');
|
|
850
940
|
expect(search.e_sid).to.equal('42');
|
|
851
941
|
expect(search.e_pba_test).to.equal('true');
|