prebid.js 7.26.0 → 7.28.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/workflows/issue_tracker.yml +1 -1
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/33acrossIdSystem.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/adgenerationBidAdapter.js +1 -1
- package/dist/adhashBidAdapter.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/admaticBidAdapter.js +1 -1
- package/dist/admixerBidAdapter.js +1 -1
- package/dist/adomikAnalyticsAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -1
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adxpremiumAnalyticsAdapter.js +1 -1
- package/dist/aidemBidAdapter.js +1 -0
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/analyticsAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidViewability.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/bucksenseBidAdapter.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagement.js +1 -1
- package/dist/consentManagementUsp.js +1 -1
- 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/datablocksAnalyticsAdapter.js +1 -1
- package/dist/dependencies.json +6 -0
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/discoveryBidAdapter.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningAnalyticsAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/fluctBidAdapter.js +1 -1
- package/dist/ftrackIdSystem.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/genericAnalyticsAdapter.js +1 -0
- package/dist/geoedgeRtdProvider.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/glomexBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/googleAnalyticsAdapter.js +1 -1
- package/dist/gravitoIdSystem.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/growthCodeAnalyticsAdapter.js +1 -0
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.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/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/invisiblyAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/jwplayerRtdProvider.js +1 -1
- package/dist/kargoAnalyticsAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/kinessoIdSystem.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/kueezRtbBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/lifestreetBidAdapter.js +1 -1
- package/dist/limelightDigitalBidAdapter.js +1 -1
- package/dist/liveIntentAnalyticsAdapter.js +1 -1
- package/dist/liveIntentIdSystem.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/lotamePanoramaIdSystem.js +1 -1
- package/dist/magniteAnalyticsAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediagoBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +206 -202
- package/dist/oguryBidAdapter.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/pbsExtensions.js +1 -1
- package/dist/pianoDmpAnalyticsAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +2 -2
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/pubCommonId.js +1 -1
- package/dist/pubProvidedIdSystem.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/quantcastIdSystem.js +1 -1
- package/dist/rasBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/realvuAnalyticsAdapter.js +1 -1
- package/dist/redtramBidAdapter.js +1 -0
- 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/rtbhouseBidAdapter.js +1 -1
- package/dist/rtdModule.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/s2sTesting.js +1 -1
- package/dist/scaleableAnalyticsAdapter.js +1 -1
- package/dist/schain.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/shinezBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.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/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.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 -1
- package/dist/tapadIdSystem.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/teadsIdSystem.js +1 -1
- package/dist/terceptAnalyticsAdapter.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/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/weboramaRtdProvider.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yandexBidAdapter.js +1 -1
- package/dist/yieldlabBidAdapter.js +1 -1
- package/dist/yieldliftBidAdapter.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/integrationExamples/gpt/growthcode.html +134 -0
- package/libraries/analyticsAdapter/AnalyticsAdapter.js +95 -102
- package/libraries/ortb2.5StrictTranslator/dsl.js +54 -0
- package/libraries/ortb2.5StrictTranslator/spec.js +81 -0
- package/libraries/ortb2.5StrictTranslator/translator.js +37 -0
- package/libraries/ortb2.5Translator/translator.js +82 -0
- package/modules/33acrossIdSystem.js +3 -0
- package/modules/adhashBidAdapter.js +115 -30
- package/modules/adhashBidAdapter.md +1 -3
- package/modules/admaticBidAdapter.js +10 -1
- package/modules/admixerBidAdapter.js +1 -1
- package/modules/aidemBidAdapter.js +492 -0
- package/modules/aidemBidAdapter.md +187 -0
- package/modules/browsiRtdProvider.js +6 -4
- package/modules/bucksenseBidAdapter.js +1 -1
- package/modules/criteoBidAdapter.js +3 -3
- package/modules/discoveryBidAdapter.js +3 -0
- package/modules/eplanningBidAdapter.js +2 -6
- package/modules/fluctBidAdapter.js +5 -0
- package/modules/gdprEnforcement.js +26 -24
- package/modules/genericAnalyticsAdapter.js +157 -0
- package/modules/geoedgeRtdProvider.js +22 -0
- package/modules/glomexBidAdapter.js +2 -0
- package/modules/gravitoIdSystem.js +3 -4
- package/modules/gridBidAdapter.js +1 -1
- package/modules/gridNMBidAdapter.js +1 -1
- package/modules/growthCodeAnalyticsAdapter.js +176 -0
- package/modules/growthCodeAnalyticsAdapter.md +41 -0
- package/modules/impactifyBidAdapter.js +19 -1
- package/modules/jwplayerRtdProvider.js +1 -2
- package/modules/kargoBidAdapter.js +1 -1
- package/modules/lassoBidAdapter.js +8 -4
- package/modules/limelightDigitalBidAdapter.js +1 -1
- package/modules/liveIntentIdSystem.js +1 -2
- package/modules/mediagoBidAdapter.js +2 -1
- package/modules/minutemediaBidAdapter.md +3 -3
- package/modules/nexx360BidAdapter.js +264 -138
- package/modules/openxBidAdapter.md +15 -14
- package/modules/pubCommonId.js +2 -1
- package/modules/pubProvidedIdSystem.js +2 -0
- package/modules/rasBidAdapter.js +8 -3
- package/modules/rasBidAdapter.md +16 -15
- package/modules/redtramBidAdapter.js +155 -0
- package/modules/redtramBidAdapter.md +33 -0
- package/modules/riseBidAdapter.js +15 -0
- package/modules/riseBidAdapter.md +3 -3
- package/modules/rtbhouseBidAdapter.js +90 -29
- package/modules/rubiconBidAdapter.js +2 -1
- package/modules/seedtagBidAdapter.js +67 -56
- package/modules/seedtagBidAdapter.md +60 -0
- package/modules/sharedIdSystem.js +3 -1
- package/modules/smartxBidAdapter.js +1 -1
- package/modules/smnBidAdapter.md +52 -0
- package/modules/taboolaBidAdapter.js +20 -7
- package/modules/tripleliftBidAdapter.js +1 -1
- package/modules/ttdBidAdapter.js +4 -0
- package/modules/vidazooBidAdapter.js +31 -8
- package/modules/yandexBidAdapter.js +85 -19
- package/modules/yandexBidAdapter.md +7 -7
- package/modules/yieldlabBidAdapter.js +10 -4
- package/modules/yieldliftBidAdapter.js +3 -3
- package/package.json +2 -2
- package/src/auction.js +30 -4
- package/src/consentHandler.js +8 -0
- package/src/constants.json +2 -1
- package/src/events.js +4 -0
- package/src/native.js +31 -20
- package/src/refererDetection.js +6 -1
- package/src/storageManager.js +6 -3
- package/test/helpers/analytics.js +34 -0
- package/test/helpers/refererDetectionHelper.js +88 -0
- package/test/mocks/analyticsStub.js +3 -1
- package/test/spec/AnalyticsAdapter_spec.js +119 -116
- package/test/spec/auctionmanager_spec.js +119 -1
- package/test/spec/modules/33acrossIdSystem_spec.js +4 -1
- package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +10 -8
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +18 -25
- package/test/spec/modules/adhashBidAdapter_spec.js +65 -11
- package/test/spec/modules/aidemBidAdapter_spec.js +664 -0
- package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +0 -2
- package/test/spec/modules/browsiRtdProvider_spec.js +2 -1
- package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -4
- package/test/spec/modules/enrichmentFpdModule_spec.js +3 -2
- package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +0 -3
- package/test/spec/modules/eplanningBidAdapter_spec.js +4 -4
- package/test/spec/modules/fluctBidAdapter_spec.js +37 -1
- package/test/spec/modules/fpdModule_spec.js +1 -1
- package/test/spec/modules/gdprEnforcement_spec.js +115 -68
- package/test/spec/modules/genericAnalyticsAdapter_spec.js +284 -0
- package/test/spec/modules/geoedgeRtdProvider_spec.js +15 -0
- package/test/spec/modules/glomexBidAdapter_spec.js +4 -0
- package/test/spec/modules/gravitoIdSystem_spec.js +1 -1
- package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +70 -0
- package/test/spec/modules/impactifyBidAdapter_spec.js +13 -0
- package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +17 -27
- package/test/spec/modules/jwplayerRtdProvider_spec.js +3 -3
- package/test/spec/modules/konduitAnalyticsAdapter_spec.js +0 -2
- package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -6
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +7 -1
- package/test/spec/modules/nexx360BidAdapter_spec.js +441 -221
- package/test/spec/modules/optimonAnalyticsAdapter_spec.js +3 -11
- package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -11
- package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +3 -12
- package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +6 -19
- package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +3 -17
- package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +13 -19
- package/test/spec/modules/rasBidAdapter_spec.js +5 -1
- package/test/spec/modules/redtramBidAdapter_spec.js +256 -0
- package/test/spec/modules/riseBidAdapter_spec.js +24 -0
- package/test/spec/modules/rtbhouseBidAdapter_spec.js +79 -0
- package/test/spec/modules/seedtagBidAdapter_spec.js +65 -92
- package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +4 -8
- package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +6 -18
- package/test/spec/modules/taboolaBidAdapter_spec.js +39 -0
- package/test/spec/modules/tripleliftBidAdapter_spec.js +3 -10
- package/test/spec/modules/ttdBidAdapter_spec.js +50 -9
- package/test/spec/modules/vidazooBidAdapter_spec.js +173 -27
- package/test/spec/modules/yandexBidAdapter_spec.js +22 -13
- package/test/spec/modules/yieldlabBidAdapter_spec.js +49 -20
- package/test/spec/modules/yieldliftBidAdapter_spec.js +1 -1
- package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -2
- package/test/spec/native_spec.js +68 -56
- package/test/spec/ortb2.5StrictTranslator/dsl_spec.js +137 -0
- package/test/spec/ortb2.5StrictTranslator/spec_spec.js +358 -0
- package/test/spec/ortb2.5StrictTranslator/translator_spec.js +16 -0
- package/test/spec/ortb2.5Translator/translator_spec.js +64 -0
- package/test/spec/refererDetection_spec.js +46 -95
- package/test/spec/unit/core/storageManager_spec.js +2 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {expect} from 'chai';
|
|
1
|
+
import { expect } from 'chai';
|
|
2
2
|
import {
|
|
3
3
|
spec as adapter,
|
|
4
4
|
SUPPORTED_ID_SYSTEMS,
|
|
@@ -15,8 +15,9 @@ import {
|
|
|
15
15
|
getVidazooSessionId,
|
|
16
16
|
} from 'modules/vidazooBidAdapter.js';
|
|
17
17
|
import * as utils from 'src/utils.js';
|
|
18
|
-
import {version} from 'package.json';
|
|
19
|
-
import {useFakeTimers} from 'sinon';
|
|
18
|
+
import { version } from 'package.json';
|
|
19
|
+
import { useFakeTimers } from 'sinon';
|
|
20
|
+
import { BANNER, VIDEO } from '../../../src/mediaTypes';
|
|
20
21
|
|
|
21
22
|
const SUB_DOMAIN = 'openrtb';
|
|
22
23
|
|
|
@@ -38,9 +39,47 @@ const BID = {
|
|
|
38
39
|
'sizes': [[300, 250], [300, 600]],
|
|
39
40
|
'bidderRequestId': '1fdb5ff1b6eaa7',
|
|
40
41
|
'requestId': 'b0777d85-d061-450e-9bc7-260dd54bbb7a',
|
|
41
|
-
'schain': 'a0819c69-005b-41ed-af06-1be1e0aefefc'
|
|
42
|
+
'schain': 'a0819c69-005b-41ed-af06-1be1e0aefefc',
|
|
43
|
+
'mediaTypes': [BANNER],
|
|
44
|
+
'ortb2Imp': {
|
|
45
|
+
'ext': {
|
|
46
|
+
'gpid': '1234567890'
|
|
47
|
+
}
|
|
48
|
+
}
|
|
42
49
|
};
|
|
43
50
|
|
|
51
|
+
const VIDEO_BID = {
|
|
52
|
+
'bidId': '2d52001cabd527',
|
|
53
|
+
'adUnitCode': '63550ad1ff6642d368cba59dh5884270560',
|
|
54
|
+
'bidderRequestId': '12a8ae9ada9c13',
|
|
55
|
+
'transactionId': '56e184c6-bde9-497b-b9b9-cf47a61381ee',
|
|
56
|
+
'schain': 'a0819c69-005b-41ed-af06-1be1e0aefefc',
|
|
57
|
+
'params': {
|
|
58
|
+
'subDomain': SUB_DOMAIN,
|
|
59
|
+
'cId': '635509f7ff6642d368cb9837',
|
|
60
|
+
'pId': '59ac17c192832d0011283fe3',
|
|
61
|
+
'bidFloor': 0.1
|
|
62
|
+
},
|
|
63
|
+
'sizes': [[545, 307]],
|
|
64
|
+
'mediaTypes': {
|
|
65
|
+
'video': {
|
|
66
|
+
'playerSize': [[545, 307]],
|
|
67
|
+
'context': 'instream',
|
|
68
|
+
'mimes': [
|
|
69
|
+
'video/mp4',
|
|
70
|
+
'application/javascript'
|
|
71
|
+
],
|
|
72
|
+
'protocols': [2, 3, 5, 6],
|
|
73
|
+
'maxduration': 60,
|
|
74
|
+
'minduration': 0,
|
|
75
|
+
'startdelay': 0,
|
|
76
|
+
'linearity': 1,
|
|
77
|
+
'api': [2],
|
|
78
|
+
'placement': 1
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
44
83
|
const BIDDER_REQUEST = {
|
|
45
84
|
'gdprConsent': {
|
|
46
85
|
'consentString': 'consent_string',
|
|
@@ -50,7 +89,13 @@ const BIDDER_REQUEST = {
|
|
|
50
89
|
'refererInfo': {
|
|
51
90
|
'page': 'https://www.greatsite.com',
|
|
52
91
|
'ref': 'https://www.somereferrer.com'
|
|
53
|
-
}
|
|
92
|
+
},
|
|
93
|
+
'ortb2': {
|
|
94
|
+
'site': {
|
|
95
|
+
'cat': ['IAB2'],
|
|
96
|
+
'pagecat': ['IAB2-2']
|
|
97
|
+
}
|
|
98
|
+
},
|
|
54
99
|
};
|
|
55
100
|
|
|
56
101
|
const SERVER_RESPONSE = {
|
|
@@ -75,6 +120,23 @@ const SERVER_RESPONSE = {
|
|
|
75
120
|
}
|
|
76
121
|
};
|
|
77
122
|
|
|
123
|
+
const VIDEO_SERVER_RESPONSE = {
|
|
124
|
+
body: {
|
|
125
|
+
'cid': '635509f7ff6642d368cb9837',
|
|
126
|
+
'results': [{
|
|
127
|
+
'ad': '<VAST version=\"3.0\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"></VAST>',
|
|
128
|
+
'advertiserDomains': ['vidazoo.com'],
|
|
129
|
+
'exp': 60,
|
|
130
|
+
'width': 545,
|
|
131
|
+
'height': 307,
|
|
132
|
+
'mediaType': 'video',
|
|
133
|
+
'creativeId': '12610997325162499419',
|
|
134
|
+
'price': 2,
|
|
135
|
+
'cookies': []
|
|
136
|
+
}]
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
78
140
|
const REQUEST = {
|
|
79
141
|
data: {
|
|
80
142
|
width: 300,
|
|
@@ -85,7 +147,7 @@ const REQUEST = {
|
|
|
85
147
|
|
|
86
148
|
function getTopWindowQueryParams() {
|
|
87
149
|
try {
|
|
88
|
-
const parsedUrl = utils.parseUrl(window.top.document.URL, {decodeSearchAsString: true});
|
|
150
|
+
const parsedUrl = utils.parseUrl(window.top.document.URL, { decodeSearchAsString: true });
|
|
89
151
|
return parsedUrl.search;
|
|
90
152
|
} catch (e) {
|
|
91
153
|
return '';
|
|
@@ -113,6 +175,11 @@ describe('VidazooBidAdapter', function () {
|
|
|
113
175
|
it('exists and is a string', function () {
|
|
114
176
|
expect(adapter.code).to.exist.and.to.be.a('string');
|
|
115
177
|
});
|
|
178
|
+
|
|
179
|
+
it('exists and contains media types', function () {
|
|
180
|
+
expect(adapter.supportedMediaTypes).to.exist.and.to.be.an('array').with.length(2);
|
|
181
|
+
expect(adapter.supportedMediaTypes).to.contain.members([BANNER, VIDEO]);
|
|
182
|
+
});
|
|
116
183
|
});
|
|
117
184
|
|
|
118
185
|
describe('validate bid requests', function () {
|
|
@@ -150,14 +217,67 @@ describe('VidazooBidAdapter', function () {
|
|
|
150
217
|
before(function () {
|
|
151
218
|
$$PREBID_GLOBAL$$.bidderSettings = {
|
|
152
219
|
vidazoo: {
|
|
153
|
-
storageAllowed: true
|
|
220
|
+
storageAllowed: true,
|
|
154
221
|
}
|
|
155
222
|
};
|
|
156
223
|
sandbox = sinon.sandbox.create();
|
|
157
224
|
sandbox.stub(Date, 'now').returns(1000);
|
|
158
225
|
});
|
|
159
226
|
|
|
160
|
-
it('should build request
|
|
227
|
+
it('should build video request', function () {
|
|
228
|
+
const hashUrl = hashCode(BIDDER_REQUEST.refererInfo.page);
|
|
229
|
+
const requests = adapter.buildRequests([VIDEO_BID], BIDDER_REQUEST);
|
|
230
|
+
expect(requests).to.have.length(1);
|
|
231
|
+
expect(requests[0]).to.deep.equal({
|
|
232
|
+
method: 'POST',
|
|
233
|
+
url: `${createDomain(SUB_DOMAIN)}/prebid/multi/635509f7ff6642d368cb9837`,
|
|
234
|
+
data: {
|
|
235
|
+
adUnitCode: '63550ad1ff6642d368cba59dh5884270560',
|
|
236
|
+
bidFloor: 0.1,
|
|
237
|
+
bidId: '2d52001cabd527',
|
|
238
|
+
bidderVersion: adapter.version,
|
|
239
|
+
cat: ['IAB2'],
|
|
240
|
+
pagecat: ['IAB2-2'],
|
|
241
|
+
cb: 1000,
|
|
242
|
+
dealId: 1,
|
|
243
|
+
gdpr: 1,
|
|
244
|
+
gdprConsent: 'consent_string',
|
|
245
|
+
usPrivacy: 'consent_string',
|
|
246
|
+
gpid: '',
|
|
247
|
+
prebidVersion: version,
|
|
248
|
+
ptrace: '1000',
|
|
249
|
+
publisherId: '59ac17c192832d0011283fe3',
|
|
250
|
+
url: 'https%3A%2F%2Fwww.greatsite.com',
|
|
251
|
+
referrer: 'https://www.somereferrer.com',
|
|
252
|
+
res: `${window.top.screen.width}x${window.top.screen.height}`,
|
|
253
|
+
schain: VIDEO_BID.schain,
|
|
254
|
+
sessionId: '',
|
|
255
|
+
sizes: ['545x307'],
|
|
256
|
+
uniqueDealId: `${hashUrl}_${Date.now().toString()}`,
|
|
257
|
+
uqs: getTopWindowQueryParams(),
|
|
258
|
+
isStorageAllowed: true,
|
|
259
|
+
mediaTypes: {
|
|
260
|
+
video: {
|
|
261
|
+
api: [2],
|
|
262
|
+
context: 'instream',
|
|
263
|
+
linearity: 1,
|
|
264
|
+
maxduration: 60,
|
|
265
|
+
mimes: [
|
|
266
|
+
'video/mp4',
|
|
267
|
+
'application/javascript'
|
|
268
|
+
],
|
|
269
|
+
minduration: 0,
|
|
270
|
+
placement: 1,
|
|
271
|
+
playerSize: [[545, 307]],
|
|
272
|
+
protocols: [2, 3, 5, 6],
|
|
273
|
+
startdelay: 0
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
it('should build banner request for each size', function () {
|
|
161
281
|
const hashUrl = hashCode(BIDDER_REQUEST.refererInfo.page);
|
|
162
282
|
const requests = adapter.buildRequests([BID], BIDDER_REQUEST);
|
|
163
283
|
expect(requests).to.have.length(1);
|
|
@@ -176,7 +296,7 @@ describe('VidazooBidAdapter', function () {
|
|
|
176
296
|
bidId: '2d52001cabd527',
|
|
177
297
|
adUnitCode: 'div-gpt-ad-12345-0',
|
|
178
298
|
publisherId: '59ac17c192832d0011283fe3',
|
|
179
|
-
dealId:
|
|
299
|
+
dealId: 2,
|
|
180
300
|
sessionId: '',
|
|
181
301
|
uniqueDealId: `${hashUrl}_${Date.now().toString()}`,
|
|
182
302
|
bidderVersion: adapter.version,
|
|
@@ -184,9 +304,14 @@ describe('VidazooBidAdapter', function () {
|
|
|
184
304
|
schain: BID.schain,
|
|
185
305
|
ptrace: '1000',
|
|
186
306
|
res: `${window.top.screen.width}x${window.top.screen.height}`,
|
|
307
|
+
mediaTypes: [BANNER],
|
|
187
308
|
uqs: getTopWindowQueryParams(),
|
|
188
309
|
'ext.param1': 'loremipsum',
|
|
189
310
|
'ext.param2': 'dolorsitamet',
|
|
311
|
+
isStorageAllowed: true,
|
|
312
|
+
gpid: '1234567890',
|
|
313
|
+
cat: ['IAB2'],
|
|
314
|
+
pagecat: ['IAB2-2']
|
|
190
315
|
}
|
|
191
316
|
});
|
|
192
317
|
});
|
|
@@ -196,9 +321,10 @@ describe('VidazooBidAdapter', function () {
|
|
|
196
321
|
sandbox.restore();
|
|
197
322
|
});
|
|
198
323
|
});
|
|
324
|
+
|
|
199
325
|
describe('getUserSyncs', function () {
|
|
200
326
|
it('should have valid user sync with iframeEnabled', function () {
|
|
201
|
-
const result = adapter.getUserSyncs({iframeEnabled: true}, [SERVER_RESPONSE]);
|
|
327
|
+
const result = adapter.getUserSyncs({ iframeEnabled: true }, [SERVER_RESPONSE]);
|
|
202
328
|
|
|
203
329
|
expect(result).to.deep.equal([{
|
|
204
330
|
type: 'iframe',
|
|
@@ -207,7 +333,7 @@ describe('VidazooBidAdapter', function () {
|
|
|
207
333
|
});
|
|
208
334
|
|
|
209
335
|
it('should have valid user sync with cid on response', function () {
|
|
210
|
-
const result = adapter.getUserSyncs({iframeEnabled: true}, [SERVER_RESPONSE]);
|
|
336
|
+
const result = adapter.getUserSyncs({ iframeEnabled: true }, [SERVER_RESPONSE]);
|
|
211
337
|
expect(result).to.deep.equal([{
|
|
212
338
|
type: 'iframe',
|
|
213
339
|
url: 'https://sync.cootlogix.com/api/sync/iframe/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy='
|
|
@@ -215,7 +341,7 @@ describe('VidazooBidAdapter', function () {
|
|
|
215
341
|
});
|
|
216
342
|
|
|
217
343
|
it('should have valid user sync with pixelEnabled', function () {
|
|
218
|
-
const result = adapter.getUserSyncs({pixelEnabled: true}, [SERVER_RESPONSE]);
|
|
344
|
+
const result = adapter.getUserSyncs({ pixelEnabled: true }, [SERVER_RESPONSE]);
|
|
219
345
|
|
|
220
346
|
expect(result).to.deep.equal([{
|
|
221
347
|
'url': 'https://sync.cootlogix.com/api/sync/image/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy=',
|
|
@@ -231,16 +357,16 @@ describe('VidazooBidAdapter', function () {
|
|
|
231
357
|
});
|
|
232
358
|
|
|
233
359
|
it('should return empty array when there is no ad', function () {
|
|
234
|
-
const responses = adapter.interpretResponse({price: 1, ad: ''});
|
|
360
|
+
const responses = adapter.interpretResponse({ price: 1, ad: '' });
|
|
235
361
|
expect(responses).to.be.empty;
|
|
236
362
|
});
|
|
237
363
|
|
|
238
364
|
it('should return empty array when there is no price', function () {
|
|
239
|
-
const responses = adapter.interpretResponse({price: null, ad: 'great ad'});
|
|
365
|
+
const responses = adapter.interpretResponse({ price: null, ad: 'great ad' });
|
|
240
366
|
expect(responses).to.be.empty;
|
|
241
367
|
});
|
|
242
368
|
|
|
243
|
-
it('should return an array of interpreted responses', function () {
|
|
369
|
+
it('should return an array of interpreted banner responses', function () {
|
|
244
370
|
const responses = adapter.interpretResponse(SERVER_RESPONSE, REQUEST);
|
|
245
371
|
expect(responses).to.have.length(1);
|
|
246
372
|
expect(responses[0]).to.deep.equal({
|
|
@@ -259,6 +385,26 @@ describe('VidazooBidAdapter', function () {
|
|
|
259
385
|
});
|
|
260
386
|
});
|
|
261
387
|
|
|
388
|
+
it('should return an array of interpreted video responses', function () {
|
|
389
|
+
const responses = adapter.interpretResponse(VIDEO_SERVER_RESPONSE, REQUEST);
|
|
390
|
+
expect(responses).to.have.length(1);
|
|
391
|
+
expect(responses[0]).to.deep.equal({
|
|
392
|
+
requestId: '2d52001cabd527',
|
|
393
|
+
cpm: 2,
|
|
394
|
+
width: 545,
|
|
395
|
+
height: 307,
|
|
396
|
+
mediaType: 'video',
|
|
397
|
+
creativeId: '12610997325162499419',
|
|
398
|
+
currency: 'USD',
|
|
399
|
+
netRevenue: true,
|
|
400
|
+
ttl: 60,
|
|
401
|
+
vastXml: '<VAST version=\"3.0\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"></VAST>',
|
|
402
|
+
meta: {
|
|
403
|
+
advertiserDomains: ['vidazoo.com']
|
|
404
|
+
}
|
|
405
|
+
});
|
|
406
|
+
});
|
|
407
|
+
|
|
262
408
|
it('should take default TTL', function () {
|
|
263
409
|
const serverResponse = utils.deepClone(SERVER_RESPONSE);
|
|
264
410
|
delete serverResponse.body.results[0].exp;
|
|
@@ -276,11 +422,11 @@ describe('VidazooBidAdapter', function () {
|
|
|
276
422
|
const userId = (function () {
|
|
277
423
|
switch (idSystemProvider) {
|
|
278
424
|
case 'lipb':
|
|
279
|
-
return {lipbid: id};
|
|
425
|
+
return { lipbid: id };
|
|
280
426
|
case 'parrableId':
|
|
281
|
-
return {eid: id};
|
|
427
|
+
return { eid: id };
|
|
282
428
|
case 'id5id':
|
|
283
|
-
return {uid: id};
|
|
429
|
+
return { uid: id };
|
|
284
430
|
default:
|
|
285
431
|
return id;
|
|
286
432
|
}
|
|
@@ -299,18 +445,18 @@ describe('VidazooBidAdapter', function () {
|
|
|
299
445
|
|
|
300
446
|
describe('alternate param names extractors', function () {
|
|
301
447
|
it('should return undefined when param not supported', function () {
|
|
302
|
-
const cid = extractCID({'c_id': '1'});
|
|
303
|
-
const pid = extractPID({'p_id': '1'});
|
|
304
|
-
const subDomain = extractSubDomain({'sub_domain': 'prebid'});
|
|
448
|
+
const cid = extractCID({ 'c_id': '1' });
|
|
449
|
+
const pid = extractPID({ 'p_id': '1' });
|
|
450
|
+
const subDomain = extractSubDomain({ 'sub_domain': 'prebid' });
|
|
305
451
|
expect(cid).to.be.undefined;
|
|
306
452
|
expect(pid).to.be.undefined;
|
|
307
453
|
expect(subDomain).to.be.undefined;
|
|
308
454
|
});
|
|
309
455
|
|
|
310
456
|
it('should return value when param supported', function () {
|
|
311
|
-
const cid = extractCID({'cID': '1'});
|
|
312
|
-
const pid = extractPID({'Pid': '2'});
|
|
313
|
-
const subDomain = extractSubDomain({'subDOMAIN': 'prebid'});
|
|
457
|
+
const cid = extractCID({ 'cID': '1' });
|
|
458
|
+
const pid = extractPID({ 'Pid': '2' });
|
|
459
|
+
const subDomain = extractSubDomain({ 'subDOMAIN': 'prebid' });
|
|
314
460
|
expect(cid).to.be.equal('1');
|
|
315
461
|
expect(pid).to.be.equal('2');
|
|
316
462
|
expect(subDomain).to.be.equal('prebid');
|
|
@@ -423,7 +569,7 @@ describe('VidazooBidAdapter', function () {
|
|
|
423
569
|
now
|
|
424
570
|
});
|
|
425
571
|
setStorageItem('myKey', 2020);
|
|
426
|
-
const {value, created} = getStorageItem('myKey');
|
|
572
|
+
const { value, created } = getStorageItem('myKey');
|
|
427
573
|
expect(created).to.be.equal(now);
|
|
428
574
|
expect(value).to.be.equal(2020);
|
|
429
575
|
expect(typeof value).to.be.equal('number');
|
|
@@ -439,8 +585,8 @@ describe('VidazooBidAdapter', function () {
|
|
|
439
585
|
});
|
|
440
586
|
|
|
441
587
|
it('should parse JSON value', function () {
|
|
442
|
-
const data = JSON.stringify({event: 'send'});
|
|
443
|
-
const {event} = tryParseJSON(data);
|
|
588
|
+
const data = JSON.stringify({ event: 'send' });
|
|
589
|
+
const { event } = tryParseJSON(data);
|
|
444
590
|
expect(event).to.be.equal('send');
|
|
445
591
|
});
|
|
446
592
|
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import {assert, expect} from 'chai';
|
|
2
|
-
import {spec} from 'modules/yandexBidAdapter.js';
|
|
3
|
-
import {parseUrl} from 'src/utils.js';
|
|
4
|
-
import {BANNER} from '../../../src/mediaTypes';
|
|
1
|
+
import { assert, expect } from 'chai';
|
|
2
|
+
import { spec } from 'modules/yandexBidAdapter.js';
|
|
3
|
+
import { parseUrl } from 'src/utils.js';
|
|
4
|
+
import { BANNER } from '../../../src/mediaTypes';
|
|
5
5
|
|
|
6
6
|
describe('Yandex adapter', function () {
|
|
7
7
|
function getBidConfig() {
|
|
8
8
|
return {
|
|
9
9
|
bidder: 'yandex',
|
|
10
10
|
params: {
|
|
11
|
-
|
|
12
|
-
impId: 1,
|
|
11
|
+
placementId: '123-1',
|
|
13
12
|
},
|
|
14
13
|
};
|
|
15
14
|
}
|
|
@@ -32,7 +31,7 @@ describe('Yandex adapter', function () {
|
|
|
32
31
|
|
|
33
32
|
describe('isBidRequestValid', function () {
|
|
34
33
|
it('should return true when required params found', function () {
|
|
35
|
-
const bid =
|
|
34
|
+
const bid = getBidRequest();
|
|
36
35
|
assert(spec.isBidRequestValid(bid));
|
|
37
36
|
});
|
|
38
37
|
|
|
@@ -40,18 +39,28 @@ describe('Yandex adapter', function () {
|
|
|
40
39
|
expect(spec.isBidRequestValid({})).to.be.false;
|
|
41
40
|
});
|
|
42
41
|
|
|
43
|
-
it('should return false when required params.
|
|
42
|
+
it('should return false when required params.placementId are not passed', function () {
|
|
43
|
+
const bid = getBidConfig();
|
|
44
|
+
delete bid.params.placementId;
|
|
45
|
+
|
|
46
|
+
expect(spec.isBidRequestValid(bid)).to.be.false;
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('should return false when required params.placementId are not valid', function () {
|
|
44
50
|
const bid = getBidConfig();
|
|
45
|
-
|
|
51
|
+
bid.params.placementId = '123';
|
|
46
52
|
|
|
47
|
-
expect(spec.isBidRequestValid(bid)).to.be.false
|
|
53
|
+
expect(spec.isBidRequestValid(bid)).to.be.false;
|
|
48
54
|
});
|
|
49
55
|
|
|
50
|
-
it('should return
|
|
56
|
+
it('should return true when passed deprecated placement config', function () {
|
|
51
57
|
const bid = getBidConfig();
|
|
52
|
-
delete bid.params.
|
|
58
|
+
delete bid.params.placementId;
|
|
59
|
+
|
|
60
|
+
bid.params.pageId = 123;
|
|
61
|
+
bid.params.impId = 1;
|
|
53
62
|
|
|
54
|
-
expect(spec.isBidRequestValid(bid))
|
|
63
|
+
expect(spec.isBidRequestValid(bid));
|
|
55
64
|
});
|
|
56
65
|
});
|
|
57
66
|
|
|
@@ -658,36 +658,65 @@ describe('yieldlabBidAdapter', () => {
|
|
|
658
658
|
});
|
|
659
659
|
|
|
660
660
|
describe('getBidFloor', function () {
|
|
661
|
-
let bidRequest,
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
661
|
+
let bidRequest, bidRequest2, currency, floor;
|
|
662
|
+
const getFloor = () => {
|
|
663
|
+
return {
|
|
664
|
+
currency: currency,
|
|
665
|
+
floor: floor
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
it('should add valid bid floor in the format floor={adslotId}:{floorPriceInCents}[, ...]', () => {
|
|
670
|
+
bidRequest = Object.assign(DEFAULT_REQUEST(), {
|
|
671
|
+
getFloor: () => {
|
|
672
|
+
return {
|
|
673
|
+
currency: 'EUR',
|
|
674
|
+
floor: 1.33
|
|
675
|
+
}
|
|
676
|
+
}});
|
|
677
|
+
bidRequest2 = Object.assign(DEFAULT_REQUEST(), {
|
|
678
|
+
params: {
|
|
679
|
+
adslotId: 2222
|
|
680
|
+
},
|
|
681
|
+
getFloor: () => {
|
|
682
|
+
return {
|
|
683
|
+
currency: 'EUR',
|
|
684
|
+
floor: 2.99
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
});
|
|
688
|
+
const result = spec.buildRequests([bidRequest, bidRequest2], REQPARAMS)
|
|
689
|
+
expect(result).to.have.nested.property('queryParams.floor', '1111:133,2222:299')
|
|
690
|
+
});
|
|
691
|
+
|
|
692
|
+
it('should round the floor price up', () => {
|
|
693
|
+
currency = 'EUR';
|
|
694
|
+
floor = 0.745;
|
|
670
695
|
bidRequest = Object.assign(DEFAULT_REQUEST(), {getFloor})
|
|
671
696
|
const result = spec.buildRequests([bidRequest], REQPARAMS)
|
|
672
|
-
expect(result).to.have.nested.property('queryParams.floor',
|
|
697
|
+
expect(result).to.have.nested.property('queryParams.floor', '1111:75')
|
|
673
698
|
});
|
|
674
699
|
|
|
675
|
-
it('should
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
};
|
|
700
|
+
it('should round the floor price down', () => {
|
|
701
|
+
currency = 'EUR';
|
|
702
|
+
floor = 0.034;
|
|
679
703
|
bidRequest = Object.assign(DEFAULT_REQUEST(), {getFloor})
|
|
680
704
|
const result = spec.buildRequests([bidRequest], REQPARAMS)
|
|
705
|
+
expect(result).to.have.nested.property('queryParams.floor', '1111:3')
|
|
706
|
+
});
|
|
707
|
+
|
|
708
|
+
it('should not add empty bid floor', () => {
|
|
709
|
+
bidRequest = Object.assign(DEFAULT_REQUEST(), {
|
|
710
|
+
getFloor: () => {
|
|
711
|
+
return {};
|
|
712
|
+
}})
|
|
713
|
+
const result = spec.buildRequests([bidRequest], REQPARAMS)
|
|
681
714
|
expect(result).not.to.have.nested.property('queryParams.floor')
|
|
682
715
|
});
|
|
683
716
|
|
|
684
717
|
it('should not add bid floor when currency is not matching', () => {
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
currency: 'USD',
|
|
688
|
-
floor: 1.33
|
|
689
|
-
};
|
|
690
|
-
};
|
|
718
|
+
currency = 'USD';
|
|
719
|
+
floor = 1.33;
|
|
691
720
|
bidRequest = Object.assign(DEFAULT_REQUEST(), {getFloor})
|
|
692
721
|
const result = spec.buildRequests([bidRequest], REQPARAMS)
|
|
693
722
|
expect(result).not.to.have.nested.property('queryParams.floor')
|
|
@@ -229,7 +229,7 @@ describe('YieldLift', function () {
|
|
|
229
229
|
expect(bids[index]).to.have.property('ad', RESPONSE.body.seatbid[0].bid[index].adm);
|
|
230
230
|
expect(bids[index]).to.have.property('creativeId', RESPONSE.body.seatbid[0].bid[index].crid);
|
|
231
231
|
expect(bids[index].meta).to.have.property('advertiserDomains', RESPONSE.body.seatbid[0].bid[index].advertiserDomains);
|
|
232
|
-
expect(bids[index]).to.have.property('ttl',
|
|
232
|
+
expect(bids[index]).to.have.property('ttl', 300);
|
|
233
233
|
expect(bids[index]).to.have.property('netRevenue', true);
|
|
234
234
|
}
|
|
235
235
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import yieldoneAnalytics from 'modules/yieldoneAnalyticsAdapter.js';
|
|
2
2
|
import { targeting } from 'src/targeting.js';
|
|
3
3
|
import { expect } from 'chai';
|
|
4
|
+
import _ from 'lodash';
|
|
4
5
|
let events = require('src/events');
|
|
5
6
|
let adapterManager = require('src/adapterManager').default;
|
|
6
7
|
let constants = require('src/constants.json');
|
|
@@ -225,7 +226,9 @@ describe('Yieldone Prebid Analytic', function () {
|
|
|
225
226
|
pubId: initOptions.pubId,
|
|
226
227
|
page: {url: testReferrer},
|
|
227
228
|
wrapper_version: '$prebid.version$',
|
|
228
|
-
events:
|
|
229
|
+
events: sinon.match(evs => {
|
|
230
|
+
return !expectedEvents.some((expectedEvent) => evs.find(ev => _.isEqual(ev, expectedEvent)) === -1)
|
|
231
|
+
})
|
|
229
232
|
};
|
|
230
233
|
|
|
231
234
|
const preparedWinnerParams = Object.assign({adServerTargeting: fakeTargeting}, winner);
|
|
@@ -262,7 +265,7 @@ describe('Yieldone Prebid Analytic', function () {
|
|
|
262
265
|
|
|
263
266
|
events.emit(constants.EVENTS.AUCTION_END, auctionEnd);
|
|
264
267
|
|
|
265
|
-
|
|
268
|
+
sinon.assert.match(yieldoneAnalytics.eventsStorage[auctionId], expectedResult);
|
|
266
269
|
|
|
267
270
|
delete yieldoneAnalytics.eventsStorage[auctionId];
|
|
268
271
|
|