prebid.js 8.44.0 → 8.45.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/README.md +7 -1
- package/creative/constants.js +7 -7
- package/creative/renderers/display/constants.js +2 -2
- package/creative/renderers/native/constants.js +2 -2
- 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/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/adkernelAdnAnalyticsAdapter.js +1 -1
- package/dist/adkernelBidAdapter.js +1 -1
- package/dist/adlooxAdServerVideo.js +1 -1
- package/dist/adlooxAnalyticsAdapter.js +1 -1
- package/dist/adlooxRtdProvider.js +1 -1
- package/dist/adnuntiusBidAdapter.js +1 -1
- package/dist/adomikAnalyticsAdapter.js +1 -1
- package/dist/adpod.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/adxpremiumAnalyticsAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/agmaAnalyticsAdapter.js +1 -1
- 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/asteriobidAnalyticsAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/automatadAnalyticsAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidViewability.js +1 -1
- package/dist/bidViewabilityIO.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/brandmetricsRtdProvider.js +1 -1
- package/dist/bridBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/browsiRtdProvider.js +1 -1
- package/dist/byDataAnalyticsAdapter.js +1 -1
- package/dist/carodaBidAdapter.js +1 -1
- package/dist/chtnwBidAdapter.js +1 -1
- package/dist/chunk-core.js +1 -1
- package/dist/chunk-paapi.js +1 -1
- package/dist/cleanioRtdProvider.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/confiantRtdProvider.js +1 -1
- package/dist/connectadBidAdapter.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/creative-renderer-native.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/currency.js +1 -1
- package/dist/cwireBidAdapter.js +1 -1
- package/dist/dailymotionBidAdapter.js +1 -0
- package/dist/datablocksAnalyticsAdapter.js +1 -1
- package/dist/datawrkzBidAdapter.js +1 -1
- package/dist/debugging-standalone.js +1 -1
- package/dist/debugging.js +1 -1
- package/dist/dependencies.json +3 -3
- package/dist/dfpAdServerVideo.js +1 -1
- package/dist/dsaControl.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/dxkultureBidAdapter.js +1 -1
- package/dist/eplanningAnalyticsAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/euidIdSystem.js +1 -1
- package/dist/feedadBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/gdprEnforcement.js +1 -1
- package/dist/genericAnalyticsAdapter.js +1 -1
- package/dist/geoedgeRtdProvider.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/growthCodeAnalyticsAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/holidBidAdapter.js +1 -1
- package/dist/hypelabBidAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/illuminBidAdapter.js +1 -1
- package/dist/imdsBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/instreamTracking.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/kimberliteBidAdapter.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/liveIntentAnalyticsAdapter.js +1 -1
- package/dist/liveIntentIdSystem.js +1 -1
- package/dist/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/luceadBidAdapter.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/mediafilterRtdProvider.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/minutemediaplusBidAdapter.js +1 -1
- package/dist/missenaBidAdapter.js +1 -1
- package/dist/multibid.js +1 -1
- package/dist/neuwoRtdProvider.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nexx360BidAdapter.js +1 -1
- package/dist/nobidAnalyticsAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +237 -235
- 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/optimonAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/oxxionAnalyticsAdapter.js +1 -1
- package/dist/oxxionRtdProvider.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pbsExtensions.js +1 -1
- package/dist/permutiveRtdProvider.js +1 -1
- package/dist/pgamsspBidAdapter.js +1 -1
- package/dist/pianoDmpAnalyticsAdapter.js +1 -1
- package/dist/pirIdSystem.js +1 -0
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/priceFloors.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/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/qortexRtdProvider.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/relevantAnalyticsAdapter.js +1 -1
- package/dist/retailspotBidAdapter.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/rtdModule.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/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/shinezRtbBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/sizeMapping.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/stnBidAdapter.js +1 -1
- package/dist/stvBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/taboolaBidAdapter.js +1 -1
- package/dist/tagorasBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/themoneytizerBidAdapter.js +1 -1
- package/dist/topicsFpdModule.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/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/unrulyBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videoModule.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/yandexAnalyticsAdapter.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/gulpfile.js +9 -1
- package/integrationExamples/gpt/adnuntius_example.html +7 -1
- package/integrationExamples/gpt/azerionedgeRtdProvider_example.html +3 -3
- package/integrationExamples/gpt/top-level-paapi/decisionLogic.js +57 -0
- package/integrationExamples/gpt/top-level-paapi/tl_paapi_example.html +188 -0
- package/integrationExamples/gpt/x-domain/creative.html +1 -1
- package/libraries/analyticsAdapter/AnalyticsAdapter.js +4 -4
- package/libraries/creative-renderer-native/renderer.js +1 -1
- package/modules/33acrossAnalyticsAdapter.js +2 -4
- package/modules/33acrossIdSystem.js +1 -1
- package/modules/adWMGAnalyticsAdapter.js +9 -11
- package/modules/adagioAnalyticsAdapter.js +8 -8
- package/modules/adkernelAdnAnalyticsAdapter.js +8 -8
- package/modules/adkernelBidAdapter.js +9 -3
- package/modules/adlooxAdServerVideo.js +2 -2
- package/modules/adlooxAnalyticsAdapter.js +4 -4
- package/modules/adnuntiusBidAdapter.js +49 -31
- package/modules/adomikAnalyticsAdapter.js +7 -7
- package/modules/adpod.js +3 -3
- package/modules/adxcgAnalyticsAdapter.js +10 -10
- package/modules/adxpremiumAnalyticsAdapter.js +8 -10
- package/modules/agmaAnalyticsAdapter.js +2 -6
- package/modules/appierAnalyticsAdapter.js +5 -7
- package/modules/asteriobidAnalyticsAdapter.js +14 -14
- package/modules/atsAnalyticsAdapter.js +4 -4
- package/modules/automatadAnalyticsAdapter.js +20 -20
- package/modules/azerionedgeRtdProvider.md +4 -2
- package/modules/bidViewability.js +3 -3
- package/modules/bidViewabilityIO.js +3 -3
- package/modules/bidwatchAnalyticsAdapter.js +7 -9
- package/modules/brandmetricsRtdProvider.js +6 -6
- package/modules/browsiRtdProvider.js +3 -3
- package/modules/byDataAnalyticsAdapter.js +3 -3
- package/modules/cleanioRtdProvider.js +3 -3
- package/modules/concertAnalyticsAdapter.js +5 -7
- package/modules/confiantRtdProvider.js +2 -2
- package/modules/conversantAnalyticsAdapter.js +2 -4
- package/modules/criteoBidAdapter.js +51 -8
- package/modules/currency.js +7 -7
- package/modules/dailymotionBidAdapter.js +139 -0
- package/modules/dailymotionBidAdapter.md +140 -0
- package/modules/datawrkzBidAdapter.js +4 -4
- package/modules/debugging/pbsInterceptor.js +2 -2
- package/modules/dfpAdServerVideo.js +2 -2
- package/modules/dsaControl.js +5 -5
- package/modules/eplanningAnalyticsAdapter.js +8 -8
- package/modules/fintezaAnalyticsAdapter.js +5 -5
- package/modules/gdprEnforcement.js +3 -3
- package/modules/geoedgeRtdProvider.js +2 -2
- package/modules/greenbidsAnalyticsAdapter.js +13 -10
- package/modules/greenbidsRtdProvider.js +2 -2
- package/modules/growthCodeAnalyticsAdapter.js +14 -14
- package/modules/hadronAnalyticsAdapter.js +14 -14
- package/modules/holidBidAdapter.js +2 -2
- package/modules/id5AnalyticsAdapter.js +7 -9
- package/modules/improvedigitalBidAdapter.js +2 -1
- package/modules/insticatorBidAdapter.js +137 -27
- package/modules/instreamTracking.js +4 -4
- package/modules/invisiblyAnalyticsAdapter.js +15 -17
- package/modules/ixBidAdapter.js +3 -3
- package/modules/kargoAnalyticsAdapter.js +3 -3
- package/modules/kargoBidAdapter.js +5 -11
- package/modules/konduitAnalyticsAdapter.js +13 -13
- package/modules/liveIntentAnalyticsAdapter.js +2 -2
- package/modules/livewrappedAnalyticsAdapter.js +10 -10
- package/modules/magniteAnalyticsAdapter.js +25 -23
- package/modules/malltvAnalyticsAdapter.js +4 -6
- package/modules/mediafilterRtdProvider.js +2 -2
- package/modules/medianetAnalyticsAdapter.js +12 -12
- package/modules/medianetBidAdapter.js +1 -1
- package/modules/multibid/index.js +2 -2
- package/modules/neuwoRtdProvider.js +2 -2
- package/modules/nextMillenniumBidAdapter.js +4 -4
- package/modules/nobidAnalyticsAdapter.js +9 -11
- package/modules/ooloAnalyticsAdapter.js +2 -2
- package/modules/oxxionAnalyticsAdapter.js +7 -9
- package/modules/paapi.js +20 -6
- package/modules/permutiveRtdProvider.js +21 -2
- package/modules/pgamsspBidAdapter.js +26 -3
- package/modules/pirIdSystem.js +62 -0
- package/modules/pirIdSystem.md +27 -0
- package/modules/prebidServerBidAdapter/index.js +8 -8
- package/modules/prebidServerBidAdapter/ortbConverter.js +3 -3
- package/modules/prebidmanagerAnalyticsAdapter.js +14 -14
- package/modules/priceFloors.js +10 -5
- package/modules/pubmaticAnalyticsAdapter.js +32 -22
- package/modules/pubmaticBidAdapter.js +1 -17
- package/modules/pubwiseAnalyticsAdapter.js +11 -11
- package/modules/pubxaiAnalyticsAdapter.js +6 -6
- package/modules/qortexRtdProvider.js +2 -2
- package/modules/roxotAnalyticsAdapter.js +8 -10
- package/modules/rtdModule/index.js +7 -7
- package/modules/scaleableAnalyticsAdapter.js +5 -5
- package/modules/seedtagBidAdapter.js +12 -3
- package/modules/sigmoidAnalyticsAdapter.js +7 -7
- package/modules/smaatoBidAdapter.js +1 -2
- package/modules/sonobiAnalyticsAdapter.js +10 -12
- package/modules/sovrnAnalyticsAdapter.js +7 -9
- package/modules/sovrnBidAdapter.js +1 -1
- package/modules/staqAnalyticsAdapter.js +9 -9
- package/modules/terceptAnalyticsAdapter.js +7 -7
- package/modules/topicsFpdModule.js +3 -0
- package/modules/topicsFpdModule.md +4 -0
- package/modules/ucfunnelAnalyticsAdapter.js +5 -7
- package/modules/userId/index.js +3 -3
- package/modules/videoModule/index.js +4 -4
- package/modules/yandexAnalyticsAdapter.js +2 -2
- package/modules/yieldoneAnalyticsAdapter.js +7 -7
- package/modules/yuktamediaAnalyticsAdapter.js +9 -9
- package/modules/zeta_global_sspAnalyticsAdapter.js +5 -5
- package/modules/zeta_global_sspBidAdapter.js +8 -1
- package/package.json +1 -1
- package/src/adRendering.js +15 -15
- package/src/adUnits.js +9 -21
- package/src/adapterManager.js +23 -13
- package/src/adapters/bidderFactory.js +8 -8
- package/src/auction.js +26 -28
- package/src/auctionManager.js +4 -4
- package/src/bidderSettings.js +2 -2
- package/src/config.js +2 -2
- package/src/constants.js +190 -0
- package/src/events.js +3 -3
- package/src/native.js +6 -8
- package/src/prebid.js +6 -10
- package/src/secureCreatives.js +5 -5
- package/src/targeting.js +13 -13
- package/src/utils.js +4 -4
- package/test/fixtures/fixtures.js +44 -44
- package/test/helpers/analytics.js +6 -6
- package/test/spec/AnalyticsAdapter_spec.js +3 -3
- package/test/spec/auctionmanager_spec.js +82 -82
- package/test/spec/modules/33acrossAnalyticsAdapter_spec.js +1 -2
- package/test/spec/modules/33acrossIdSystem_spec.js +3 -3
- package/test/spec/modules/adWMGAnalyticsAdapter_spec.js +14 -14
- package/test/spec/modules/adagioAnalyticsAdapter_spec.js +26 -26
- package/test/spec/modules/adkernelAdnAnalytics_spec.js +6 -6
- package/test/spec/modules/adkernelBidAdapter_spec.js +9 -4
- package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +8 -5
- package/test/spec/modules/adomikAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/adxcgAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/adxpremiumAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/agmaAnalyticsAdapter_spec.js +14 -14
- package/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/asteriobidAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/atsAnalyticsAdapter_spec.js +8 -8
- package/test/spec/modules/automatadAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
- package/test/spec/modules/bidViewability_spec.js +4 -4
- package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +7 -6
- package/test/spec/modules/byDataAnalyticsAdapter_spec.js +5 -4
- package/test/spec/modules/cleanioRtdProvider_spec.js +6 -6
- package/test/spec/modules/concertAnalyticsAdapter_spec.js +7 -6
- package/test/spec/modules/confiantRtdProvider_spec.js +2 -2
- package/test/spec/modules/conversantAnalyticsAdapter_spec.js +61 -61
- package/test/spec/modules/criteoBidAdapter_spec.js +111 -5
- package/test/spec/modules/currency_spec.js +6 -6
- package/test/spec/modules/dailymotionBidAdapter_spec.js +369 -0
- package/test/spec/modules/dsaControl_spec.js +4 -4
- package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +20 -13
- package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/genericAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/geoedgeRtdProvider_spec.js +37 -37
- package/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +15 -2
- package/test/spec/modules/greenbidsRtdProvider_spec.js +2 -2
- package/test/spec/modules/growthCodeAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/hadronAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/id5AnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/id5IdSystem_spec.js +2 -2
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +3 -3
- package/test/spec/modules/insticatorBidAdapter_spec.js +275 -22
- package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +40 -40
- package/test/spec/modules/kargoAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/konduitAnalyticsAdapter_spec.js +13 -13
- package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +1 -1
- package/test/spec/modules/liveIntentAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +15 -20
- package/test/spec/modules/magniteAnalyticsAdapter_spec.js +31 -15
- package/test/spec/modules/malltvAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/mediafilterRtdProvider_spec.js +2 -2
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/nobidAnalyticsAdapter_spec.js +23 -23
- package/test/spec/modules/ooloAnalyticsAdapter_spec.js +33 -33
- package/test/spec/modules/optimonAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/paapi_spec.js +40 -14
- package/test/spec/modules/permutiveRtdProvider_spec.js +29 -1
- package/test/spec/modules/pgamsspBidAdapter_spec.js +50 -4
- package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +9 -9
- package/test/spec/modules/pirIdSystem_spec.js +77 -0
- package/test/spec/modules/prebidServerBidAdapter_spec.js +7 -7
- package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/priceFloors_spec.js +6 -5
- package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +12 -14
- package/test/spec/modules/pubmaticBidAdapter_spec.js +1 -1
- package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +14 -14
- package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/qortexRtdProvider_spec.js +2 -2
- package/test/spec/modules/realTimeDataModule_spec.js +9 -9
- package/test/spec/modules/relevantAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/relevantdigitalBidAdapter_spec.js +2 -2
- package/test/spec/modules/rivrAnalyticsAdapter_spec.js +4 -4
- package/test/spec/modules/roxotAnalyticsAdapter_spec.js +25 -25
- package/test/spec/modules/scaleableAnalyticsAdapter_spec.js +5 -5
- package/test/spec/modules/seedtagBidAdapter_spec.js +56 -3
- package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +0 -1
- package/test/spec/modules/sonobiAnalyticsAdapter_spec.js +8 -7
- package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/sovrnBidAdapter_spec.js +5 -5
- package/test/spec/modules/staqAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/terceptAnalyticsAdapter_spec.js +7 -7
- package/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/userId_spec.js +4 -4
- package/test/spec/modules/videoModule/pbVideo_spec.js +3 -3
- package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +22 -21
- package/test/spec/modules/yuktamediaAnalyticsAdapter_spec.js +33 -32
- package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +8 -8
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +1 -1
- package/test/spec/native_spec.js +19 -19
- package/test/spec/unit/adRendering_spec.js +14 -14
- package/test/spec/unit/adUnits_spec.js +1 -1
- package/test/spec/unit/core/adapterManager_spec.js +99 -59
- package/test/spec/unit/core/bidderFactory_spec.js +6 -6
- package/test/spec/unit/core/targeting_spec.js +47 -47
- package/test/spec/unit/pbjs_api_spec.js +81 -81
- package/test/spec/unit/secureCreatives_spec.js +27 -27
- package/test/spec/utils_spec.js +2 -2
- package/src/constants.json +0 -196
|
@@ -4,9 +4,9 @@ import adapterManager from 'src/adapterManager.js';
|
|
|
4
4
|
import * as utils from 'src/utils.js';
|
|
5
5
|
import {server} from 'test/mocks/xhr.js';
|
|
6
6
|
import {getGptSlotInfoForAdUnitCode} from '../../../libraries/gptUtils/gptUtils.js';
|
|
7
|
+
import { EVENTS } from 'src/constants.js';
|
|
7
8
|
|
|
8
9
|
let events = require('src/events');
|
|
9
|
-
let constants = require('src/constants.json');
|
|
10
10
|
|
|
11
11
|
describe('pubxai analytics adapter', function() {
|
|
12
12
|
beforeEach(function() {
|
|
@@ -671,19 +671,19 @@ describe('pubxai analytics adapter', function() {
|
|
|
671
671
|
|
|
672
672
|
it('builds and sends auction data', function() {
|
|
673
673
|
// Step 1: Send auction init event
|
|
674
|
-
events.emit(
|
|
674
|
+
events.emit(EVENTS.AUCTION_INIT, prebidEvent['auctionInit']);
|
|
675
675
|
|
|
676
676
|
// Step 2: Send bid requested event
|
|
677
|
-
events.emit(
|
|
677
|
+
events.emit(EVENTS.BID_REQUESTED, prebidEvent['bidRequested']);
|
|
678
678
|
|
|
679
679
|
// Step 3: Send bid response event
|
|
680
|
-
events.emit(
|
|
680
|
+
events.emit(EVENTS.BID_RESPONSE, prebidEvent['bidResponse']);
|
|
681
681
|
|
|
682
682
|
// Step 4: Send bid time out event
|
|
683
|
-
events.emit(
|
|
683
|
+
events.emit(EVENTS.BID_TIMEOUT, prebidEvent['bidTimeout']);
|
|
684
684
|
|
|
685
685
|
// Step 5: Send auction end event
|
|
686
|
-
events.emit(
|
|
686
|
+
events.emit(EVENTS.AUCTION_END, prebidEvent['auctionEnd']);
|
|
687
687
|
|
|
688
688
|
expect(server.requests.length).to.equal(1);
|
|
689
689
|
|
|
@@ -692,7 +692,7 @@ describe('pubxai analytics adapter', function() {
|
|
|
692
692
|
expect(realAfterBid).to.deep.equal(expectedAfterBid);
|
|
693
693
|
|
|
694
694
|
// Step 6: Send auction bid won event
|
|
695
|
-
events.emit(
|
|
695
|
+
events.emit(EVENTS.BID_WON, prebidEvent['bidWon']);
|
|
696
696
|
|
|
697
697
|
expect(server.requests.length).to.equal(2);
|
|
698
698
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as utils from 'src/utils';
|
|
2
2
|
import * as ajax from 'src/ajax.js';
|
|
3
3
|
import * as events from 'src/events.js';
|
|
4
|
-
import
|
|
4
|
+
import { EVENTS } from '../../../src/constants.js';
|
|
5
5
|
import {loadExternalScript} from 'src/adloader.js';
|
|
6
6
|
import {
|
|
7
7
|
qortexSubmodule as module,
|
|
@@ -127,7 +127,7 @@ describe('qortexRtdProvider', () => {
|
|
|
127
127
|
let config = cloneDeep(validModuleConfig);
|
|
128
128
|
config.params.tagConfig = validTagConfig;
|
|
129
129
|
|
|
130
|
-
events.on(
|
|
130
|
+
events.on(EVENTS.BILLABLE_EVENT, (e) => {
|
|
131
131
|
billableEvents.push(e);
|
|
132
132
|
})
|
|
133
133
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as rtdModule from 'modules/rtdModule/index.js';
|
|
2
2
|
import {config} from 'src/config.js';
|
|
3
3
|
import * as sinon from 'sinon';
|
|
4
|
-
import {
|
|
4
|
+
import { EVENTS } from '../../../src/constants.js';
|
|
5
5
|
import * as events from '../../../src/events.js';
|
|
6
6
|
import 'src/prebid.js';
|
|
7
7
|
import {attachRealTimeDataProvider, onDataDeletionRequest} from 'modules/rtdModule/index.js';
|
|
@@ -255,11 +255,11 @@ describe('Real time module', function () {
|
|
|
255
255
|
});
|
|
256
256
|
|
|
257
257
|
describe('event', () => {
|
|
258
|
-
const
|
|
259
|
-
[
|
|
260
|
-
[
|
|
261
|
-
[
|
|
262
|
-
[
|
|
258
|
+
const TEST_EVENTS = {
|
|
259
|
+
[EVENTS.AUCTION_INIT]: 'onAuctionInitEvent',
|
|
260
|
+
[EVENTS.AUCTION_END]: 'onAuctionEndEvent',
|
|
261
|
+
[EVENTS.BID_RESPONSE]: 'onBidResponseEvent',
|
|
262
|
+
[EVENTS.BID_REQUESTED]: 'onBidRequestEvent'
|
|
263
263
|
}
|
|
264
264
|
const conf = {
|
|
265
265
|
'realTimeData': {
|
|
@@ -281,7 +281,7 @@ describe('Real time module', function () {
|
|
|
281
281
|
name: name,
|
|
282
282
|
init: () => true,
|
|
283
283
|
}
|
|
284
|
-
Object.values(
|
|
284
|
+
Object.values(TEST_EVENTS).forEach((ev) => provider[ev] = sinon.spy());
|
|
285
285
|
return provider;
|
|
286
286
|
}
|
|
287
287
|
|
|
@@ -303,13 +303,13 @@ describe('Real time module', function () {
|
|
|
303
303
|
adUnitCodes: ['a1'],
|
|
304
304
|
adUnits: [{code: 'a1'}]
|
|
305
305
|
};
|
|
306
|
-
mockEmitEvent(
|
|
306
|
+
mockEmitEvent(EVENTS.AUCTION_END, auction);
|
|
307
307
|
providers.forEach(p => {
|
|
308
308
|
expect(p.getTargetingData.calledWith(auction.adUnitCodes)).to.be.true;
|
|
309
309
|
});
|
|
310
310
|
});
|
|
311
311
|
|
|
312
|
-
Object.entries(
|
|
312
|
+
Object.entries(TEST_EVENTS).forEach(([event, hook]) => {
|
|
313
313
|
it(`'${event}' should be propagated to providers through '${hook}'`, () => {
|
|
314
314
|
const eventArg = {};
|
|
315
315
|
mockEmitEvent(event, eventArg);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import relevantAnalytics from '../../../modules/relevantAnalyticsAdapter.js';
|
|
2
2
|
import adapterManager from 'src/adapterManager';
|
|
3
3
|
import * as events from 'src/events';
|
|
4
|
-
import
|
|
4
|
+
import { EVENTS } from 'src/constants.js'
|
|
5
5
|
import { expect } from 'chai';
|
|
6
6
|
|
|
7
7
|
describe('Relevant Analytics Adapter', () => {
|
|
@@ -18,8 +18,8 @@ describe('Relevant Analytics Adapter', () => {
|
|
|
18
18
|
it('should pass all events to the global array', () => {
|
|
19
19
|
// Given
|
|
20
20
|
const testEvents = [
|
|
21
|
-
{ ev:
|
|
22
|
-
{ ev:
|
|
21
|
+
{ ev: EVENTS.AUCTION_INIT, args: { test: 1 } },
|
|
22
|
+
{ ev: EVENTS.BID_REQUESTED, args: { test: 2 } },
|
|
23
23
|
];
|
|
24
24
|
|
|
25
25
|
// When
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {spec, resetBidderConfigs} from 'modules/relevantdigitalBidAdapter.js';
|
|
2
2
|
import { parseUrl, deepClone } from 'src/utils.js';
|
|
3
3
|
import { config } from 'src/config.js';
|
|
4
|
-
import
|
|
4
|
+
import { S2S } from 'src/constants.js';
|
|
5
5
|
|
|
6
6
|
import adapterManager, {
|
|
7
7
|
} from 'src/adapterManager.js';
|
|
@@ -16,7 +16,7 @@ const TEST_PAGE = `https://${TEST_DOMAIN}/page.html`;
|
|
|
16
16
|
|
|
17
17
|
const CONFIG = {
|
|
18
18
|
enabled: true,
|
|
19
|
-
endpoint:
|
|
19
|
+
endpoint: S2S.DEFAULT_ENDPOINT,
|
|
20
20
|
timeout: 1000,
|
|
21
21
|
maxBids: 1,
|
|
22
22
|
adapter: 'prebidServer',
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
import {expect} from 'chai';
|
|
20
20
|
import adapterManager from 'src/adapterManager.js';
|
|
21
21
|
import * as ajax from 'src/ajax.js';
|
|
22
|
-
import
|
|
22
|
+
import { EVENTS } from 'src/constants.js';
|
|
23
23
|
|
|
24
24
|
const events = require('../../../src/events');
|
|
25
25
|
|
|
@@ -98,7 +98,7 @@ describe('RIVR Analytics adapter', () => {
|
|
|
98
98
|
|
|
99
99
|
expect(rivraddonsTrackPbjsEventStub.callCount).to.be.equal(0);
|
|
100
100
|
|
|
101
|
-
events.emit(
|
|
101
|
+
events.emit(EVENTS.AUCTION_INIT, { auctionId: EMITTED_AUCTION_ID, config: {}, timeout: 3000 });
|
|
102
102
|
|
|
103
103
|
expect(rivraddonsTrackPbjsEventStub.callCount).to.be.equal(0);
|
|
104
104
|
|
|
@@ -111,12 +111,12 @@ describe('RIVR Analytics adapter', () => {
|
|
|
111
111
|
|
|
112
112
|
expect(rivraddonsTrackPbjsEventStub.callCount).to.be.equal(0);
|
|
113
113
|
|
|
114
|
-
events.emit(
|
|
114
|
+
events.emit(EVENTS.AUCTION_INIT, { auctionId: EMITTED_AUCTION_ID, config: {}, timeout: 3000 });
|
|
115
115
|
|
|
116
116
|
expect(rivraddonsTrackPbjsEventStub.callCount).to.be.equal(1);
|
|
117
117
|
|
|
118
118
|
const firstArgument = rivraddonsTrackPbjsEventStub.getCall(0).args[0];
|
|
119
|
-
expect(firstArgument.eventType).to.be.equal(
|
|
119
|
+
expect(firstArgument.eventType).to.be.equal(EVENTS.AUCTION_INIT);
|
|
120
120
|
expect(firstArgument.args.auctionId).to.be.equal(EMITTED_AUCTION_ID);
|
|
121
121
|
|
|
122
122
|
window.rivraddon.analytics.trackPbjsEvent.restore();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import roxotAnalytic from 'modules/roxotAnalyticsAdapter.js';
|
|
2
2
|
import {expect} from 'chai';
|
|
3
3
|
import {server} from 'test/mocks/xhr.js';
|
|
4
|
+
import { EVENTS } from 'src/constants.js';
|
|
4
5
|
|
|
5
6
|
let events = require('src/events');
|
|
6
|
-
let constants = require('src/constants.json');
|
|
7
7
|
|
|
8
8
|
describe('Roxot Prebid Analytic', function () {
|
|
9
9
|
let roxotConfigServerUrl = 'config-server';
|
|
@@ -181,18 +181,18 @@ describe('Roxot Prebid Analytic', function () {
|
|
|
181
181
|
expect(server.requests[0].url).to.equal('https://' + roxotConfigServerUrl + '/c?publisherId=' + publisherId + '&host=localhost');
|
|
182
182
|
server.requests[0].respond(200, {'Content-Type': 'application/json'}, '{"a": 1, "i": 1, "bat": 1}');
|
|
183
183
|
|
|
184
|
-
events.emit(
|
|
185
|
-
events.emit(
|
|
186
|
-
events.emit(
|
|
187
|
-
events.emit(
|
|
188
|
-
events.emit(
|
|
189
|
-
events.emit(
|
|
190
|
-
events.emit(
|
|
191
|
-
events.emit(
|
|
192
|
-
events.emit(
|
|
193
|
-
events.emit(
|
|
194
|
-
events.emit(
|
|
195
|
-
events.emit(
|
|
184
|
+
events.emit(EVENTS.AUCTION_INIT, auctionInit);
|
|
185
|
+
events.emit(EVENTS.BID_REQUESTED, bidRequested);
|
|
186
|
+
events.emit(EVENTS.BID_ADJUSTMENT, bidAdjustmentWithBid);
|
|
187
|
+
events.emit(EVENTS.BID_RESPONSE, bidResponseWithBid);
|
|
188
|
+
events.emit(EVENTS.BID_ADJUSTMENT, bidAdjustmentNoBid);
|
|
189
|
+
events.emit(EVENTS.BID_RESPONSE, bidResponseNoBid);
|
|
190
|
+
events.emit(EVENTS.BID_TIMEOUT, bidTimeout);
|
|
191
|
+
events.emit(EVENTS.AUCTION_END, auctionEnd);
|
|
192
|
+
events.emit(EVENTS.BID_ADJUSTMENT, bidAdjustmentAfterTimeout);
|
|
193
|
+
events.emit(EVENTS.BID_RESPONSE, bidResponseAfterTimeout);
|
|
194
|
+
events.emit(EVENTS.BIDDER_DONE, bidderDone);
|
|
195
|
+
events.emit(EVENTS.BID_WON, bidWon);
|
|
196
196
|
|
|
197
197
|
expect(server.requests.length).to.equal(4);
|
|
198
198
|
|
|
@@ -260,18 +260,18 @@ describe('Roxot Prebid Analytic', function () {
|
|
|
260
260
|
expect(server.requests[0].url).to.equal('https://' + roxotConfigServerUrl + '/c?publisherId=' + publisherId + '&host=localhost');
|
|
261
261
|
server.requests[0].respond(200, {'Content-Type': 'application/json'}, '{"a": 1, "i": 1, "bat": 1}');
|
|
262
262
|
|
|
263
|
-
events.emit(
|
|
264
|
-
events.emit(
|
|
265
|
-
events.emit(
|
|
266
|
-
events.emit(
|
|
267
|
-
events.emit(
|
|
268
|
-
events.emit(
|
|
269
|
-
events.emit(
|
|
270
|
-
events.emit(
|
|
271
|
-
events.emit(
|
|
272
|
-
events.emit(
|
|
273
|
-
events.emit(
|
|
274
|
-
events.emit(
|
|
263
|
+
events.emit(EVENTS.AUCTION_INIT, auctionInit);
|
|
264
|
+
events.emit(EVENTS.BID_REQUESTED, bidRequested);
|
|
265
|
+
events.emit(EVENTS.BID_ADJUSTMENT, bidAdjustmentWithBid);
|
|
266
|
+
events.emit(EVENTS.BID_RESPONSE, bidResponseWithBid);
|
|
267
|
+
events.emit(EVENTS.BID_ADJUSTMENT, bidAdjustmentNoBid);
|
|
268
|
+
events.emit(EVENTS.BID_RESPONSE, bidResponseNoBid);
|
|
269
|
+
events.emit(EVENTS.BID_TIMEOUT, bidTimeout);
|
|
270
|
+
events.emit(EVENTS.AUCTION_END, auctionEnd);
|
|
271
|
+
events.emit(EVENTS.BID_ADJUSTMENT, bidAdjustmentAfterTimeout);
|
|
272
|
+
events.emit(EVENTS.BID_RESPONSE, bidResponseAfterTimeout);
|
|
273
|
+
events.emit(EVENTS.BIDDER_DONE, bidderDone);
|
|
274
|
+
events.emit(EVENTS.BID_WON, bidWon);
|
|
275
275
|
|
|
276
276
|
expect(server.requests.length).to.equal(3);
|
|
277
277
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import scaleableAnalytics from 'modules/scaleableAnalyticsAdapter.js';
|
|
2
2
|
import { expect } from 'chai';
|
|
3
3
|
import * as events from 'src/events.js';
|
|
4
|
-
import
|
|
4
|
+
import { EVENTS } from 'src/constants.js';
|
|
5
5
|
import { server } from 'test/mocks/xhr.js';
|
|
6
6
|
|
|
7
|
-
const BID_TIMEOUT =
|
|
8
|
-
const AUCTION_INIT =
|
|
9
|
-
const BID_WON =
|
|
10
|
-
const AUCTION_END =
|
|
7
|
+
const BID_TIMEOUT = EVENTS.BID_TIMEOUT;
|
|
8
|
+
const AUCTION_INIT = EVENTS.AUCTION_INIT;
|
|
9
|
+
const BID_WON = EVENTS.BID_WON;
|
|
10
|
+
const AUCTION_END = EVENTS.AUCTION_END;
|
|
11
11
|
|
|
12
12
|
describe('Scaleable Analytics Adapter', function() {
|
|
13
13
|
const bidsReceivedObj = {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { expect } from 'chai';
|
|
2
|
-
import {
|
|
2
|
+
import { getTimeoutUrl, spec } from 'modules/seedtagBidAdapter.js';
|
|
3
3
|
import * as utils from 'src/utils.js';
|
|
4
|
-
import { config } from '../../../src/config.js';
|
|
5
4
|
import * as mockGpt from 'test/spec/integration/faker/googletag.js';
|
|
5
|
+
import { config } from '../../../src/config.js';
|
|
6
6
|
|
|
7
7
|
const PUBLISHER_ID = '0000-0000-01';
|
|
8
8
|
const ADUNIT_ID = '000000';
|
|
@@ -536,8 +536,61 @@ describe('Seedtag Adapter', function () {
|
|
|
536
536
|
expect(data.gppConsent).to.be.undefined;
|
|
537
537
|
});
|
|
538
538
|
});
|
|
539
|
-
});
|
|
540
539
|
|
|
540
|
+
describe('User param', function () {
|
|
541
|
+
it('should be added to payload user data param when bidderRequest has ortb2 user info', function () {
|
|
542
|
+
var ortb2 = {
|
|
543
|
+
|
|
544
|
+
user: {
|
|
545
|
+
|
|
546
|
+
data: [
|
|
547
|
+
{
|
|
548
|
+
ext: {
|
|
549
|
+
segtax: 601,
|
|
550
|
+
segclass: '4'
|
|
551
|
+
},
|
|
552
|
+
segment: [
|
|
553
|
+
{
|
|
554
|
+
id: '149'
|
|
555
|
+
}
|
|
556
|
+
],
|
|
557
|
+
name: 'randomname'
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
]
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
bidderRequest['ortb2'] = ortb2
|
|
564
|
+
const request = spec.buildRequests(validBidRequests, bidderRequest);
|
|
565
|
+
const data = JSON.parse(request.data);
|
|
566
|
+
|
|
567
|
+
expect(data.user).to.exist;
|
|
568
|
+
expect(data.user.topics).to.exist;
|
|
569
|
+
expect(data.user.topics).to.be.an('array').that.is.not.empty;
|
|
570
|
+
expect(data.user.topics[0].ext).to.eql(ortb2.user.data[0].ext);
|
|
571
|
+
expect(data.user.topics[0].segment).to.eql(ortb2.user.data[0].segment);
|
|
572
|
+
expect(data.user.topics[0].name).to.eql(ortb2.user.data[0].name);
|
|
573
|
+
})
|
|
574
|
+
|
|
575
|
+
it('should be added to payload user eids param when validRequest has userId info', function () {
|
|
576
|
+
var userIdAsEids = [{
|
|
577
|
+
source: 'sourceid',
|
|
578
|
+
uids: [{
|
|
579
|
+
atype: 1,
|
|
580
|
+
id: 'randomId'
|
|
581
|
+
}]
|
|
582
|
+
}]
|
|
583
|
+
validBidRequests[0]['userIdAsEids'] = userIdAsEids
|
|
584
|
+
const request = spec.buildRequests(validBidRequests, bidderRequest);
|
|
585
|
+
const data = JSON.parse(request.data);
|
|
586
|
+
|
|
587
|
+
expect(data.user).to.exist;
|
|
588
|
+
expect(data.user.eids).to.exist;
|
|
589
|
+
expect(data.user.eids).to.be.an('array').that.is.not.empty;
|
|
590
|
+
expect(data.user.eids).to.deep.equal(userIdAsEids);
|
|
591
|
+
})
|
|
592
|
+
});
|
|
593
|
+
})
|
|
541
594
|
describe('interpret response method', function () {
|
|
542
595
|
it('should return a void array, when the server response are not correct.', function () {
|
|
543
596
|
const request = { data: JSON.stringify({}) };
|
|
@@ -4,7 +4,6 @@ import {expectEvents} from '../../helpers/analytics.js';
|
|
|
4
4
|
|
|
5
5
|
let events = require('src/events');
|
|
6
6
|
let adapterManager = require('src/adapterManager').default;
|
|
7
|
-
let constants = require('src/constants.json');
|
|
8
7
|
|
|
9
8
|
describe('sigmoid Prebid Analytic', function () {
|
|
10
9
|
after(function () {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import sonobiAnalytics, {DEFAULT_EVENT_URL} from 'modules/sonobiAnalyticsAdapter.js';
|
|
2
2
|
import {expect} from 'chai';
|
|
3
3
|
import {server} from 'test/mocks/xhr.js';
|
|
4
|
+
import { EVENTS } from 'src/constants.js';
|
|
5
|
+
|
|
4
6
|
let events = require('src/events');
|
|
5
7
|
let adapterManager = require('src/adapterManager').default;
|
|
6
|
-
let constants = require('src/constants.json');
|
|
7
8
|
|
|
8
9
|
describe('Sonobi Prebid Analytic', function () {
|
|
9
10
|
var clock;
|
|
@@ -55,25 +56,25 @@ describe('Sonobi Prebid Analytic', function () {
|
|
|
55
56
|
});
|
|
56
57
|
|
|
57
58
|
// Step 2: Send init auction event
|
|
58
|
-
events.emit(
|
|
59
|
+
events.emit(EVENTS.AUCTION_INIT, { config: initOptions, auctionId: '13', timestamp: Date.now() });
|
|
59
60
|
|
|
60
61
|
expect(sonobiAnalytics.initOptions).to.have.property('pubId', 'A3B254F');
|
|
61
62
|
expect(sonobiAnalytics.initOptions).to.have.property('siteId', '1234');
|
|
62
63
|
expect(sonobiAnalytics.initOptions).to.have.property('delay', 100);
|
|
63
64
|
// Step 3: Send bid requested event
|
|
64
|
-
events.emit(
|
|
65
|
+
events.emit(EVENTS.BID_REQUESTED, { bids: [bid], auctionId: '13' });
|
|
65
66
|
|
|
66
67
|
// Step 4: Send bid response event
|
|
67
|
-
events.emit(
|
|
68
|
+
events.emit(EVENTS.BID_RESPONSE, bid);
|
|
68
69
|
|
|
69
70
|
// Step 5: Send bid won event
|
|
70
|
-
events.emit(
|
|
71
|
+
events.emit(EVENTS.BID_WON, bid);
|
|
71
72
|
|
|
72
73
|
// Step 6: Send bid timeout event
|
|
73
|
-
events.emit(
|
|
74
|
+
events.emit(EVENTS.BID_TIMEOUT, { auctionId: '13' });
|
|
74
75
|
|
|
75
76
|
// Step 7: Send auction end event
|
|
76
|
-
events.emit(
|
|
77
|
+
events.emit(EVENTS.AUCTION_END, { auctionId: '13', bidsReceived: [bid] });
|
|
77
78
|
|
|
78
79
|
clock.tick(5000);
|
|
79
80
|
const req = server.requests.find(req => req.url.indexOf(DEFAULT_EVENT_URL) !== -1);
|
|
@@ -4,11 +4,11 @@ import {config} from 'src/config.js';
|
|
|
4
4
|
import adaptermanager from 'src/adapterManager.js';
|
|
5
5
|
import {server} from 'test/mocks/xhr.js';
|
|
6
6
|
import {expectEvents, fireEvents} from '../../helpers/analytics.js';
|
|
7
|
+
import { EVENTS } from 'src/constants.js';
|
|
7
8
|
|
|
8
9
|
var assert = require('assert');
|
|
9
10
|
|
|
10
11
|
let events = require('src/events');
|
|
11
|
-
let constants = require('src/constants.json');
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Emit analytics events
|
|
@@ -18,7 +18,7 @@ let constants = require('src/constants.json');
|
|
|
18
18
|
*/
|
|
19
19
|
function emitEvent(eventType, event, auctionId) {
|
|
20
20
|
event.auctionId = auctionId;
|
|
21
|
-
events.emit(
|
|
21
|
+
events.emit(EVENTS[eventType], event);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
let auctionStartTimestamp = Date.now();
|
|
@@ -931,7 +931,7 @@ describe('sovrnBidAdapter', function() {
|
|
|
931
931
|
it('should return if iid present on server response & iframe syncs enabled', function() {
|
|
932
932
|
const expectedReturnStatement = {
|
|
933
933
|
type: 'iframe',
|
|
934
|
-
url: 'https://
|
|
934
|
+
url: 'https://ce.lijit.com/beacon?informer=13487408',
|
|
935
935
|
}
|
|
936
936
|
const returnStatement = spec.getUserSyncs(syncOptions, serverResponse)
|
|
937
937
|
|
|
@@ -945,7 +945,7 @@ describe('sovrnBidAdapter', function() {
|
|
|
945
945
|
}
|
|
946
946
|
const expectedReturnStatement = {
|
|
947
947
|
type: 'iframe',
|
|
948
|
-
url: `https://
|
|
948
|
+
url: `https://ce.lijit.com/beacon?gdpr_consent=${gdprConsent.consentString}&informer=13487408`,
|
|
949
949
|
}
|
|
950
950
|
|
|
951
951
|
const returnStatement = spec.getUserSyncs(syncOptions, serverResponse, gdprConsent, '', null)
|
|
@@ -957,7 +957,7 @@ describe('sovrnBidAdapter', function() {
|
|
|
957
957
|
const uspString = '1NYN'
|
|
958
958
|
const expectedReturnStatement = {
|
|
959
959
|
type: 'iframe',
|
|
960
|
-
url: `https://
|
|
960
|
+
url: `https://ce.lijit.com/beacon?us_privacy=${uspString}&informer=13487408`,
|
|
961
961
|
}
|
|
962
962
|
|
|
963
963
|
const returnStatement = spec.getUserSyncs(syncOptions, serverResponse, null, uspString, null)
|
|
@@ -972,7 +972,7 @@ describe('sovrnBidAdapter', function() {
|
|
|
972
972
|
}
|
|
973
973
|
const expectedReturnStatement = {
|
|
974
974
|
type: 'iframe',
|
|
975
|
-
url: `https://
|
|
975
|
+
url: `https://ce.lijit.com/beacon?gpp=${gppConsent.gppString}&gpp_sid=${gppConsent.applicableSections}&informer=13487408`,
|
|
976
976
|
}
|
|
977
977
|
|
|
978
978
|
const returnStatement = spec.getUserSyncs(syncOptions, serverResponse, null, '', gppConsent)
|
|
@@ -993,7 +993,7 @@ describe('sovrnBidAdapter', function() {
|
|
|
993
993
|
|
|
994
994
|
const expectedReturnStatement = {
|
|
995
995
|
type: 'iframe',
|
|
996
|
-
url: `https://
|
|
996
|
+
url: `https://ce.lijit.com/beacon?gdpr_consent=${gdprConsent.consentString}&us_privacy=${uspString}&gpp=${gppConsent.gppString}&gpp_sid=${gppConsent.applicableSections}&informer=13487408`,
|
|
997
997
|
}
|
|
998
998
|
|
|
999
999
|
const returnStatement = spec.getUserSyncs(syncOptions, serverResponse, gdprConsent, uspString, gppConsent)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import analyticsAdapter, { ExpiringQueue, getUmtSource, storage } from 'modules/staqAnalyticsAdapter.js';
|
|
2
2
|
import { expect } from 'chai';
|
|
3
3
|
import adapterManager from 'src/adapterManager.js';
|
|
4
|
-
import
|
|
4
|
+
import { EVENTS } from 'src/constants.js';
|
|
5
5
|
|
|
6
6
|
const events = require('../../../src/events');
|
|
7
7
|
|
|
@@ -216,14 +216,14 @@ describe('', function() {
|
|
|
216
216
|
});
|
|
217
217
|
|
|
218
218
|
it('should handle auction init event', function() {
|
|
219
|
-
events.emit(
|
|
219
|
+
events.emit(EVENTS.AUCTION_INIT, { config: {}, timeout: 3000 });
|
|
220
220
|
const ev = analyticsAdapter.context.queue.peekAll();
|
|
221
221
|
expect(ev).to.have.length(1);
|
|
222
222
|
expect(ev[0]).to.be.eql({ event: 'auctionInit', auctionId: undefined });
|
|
223
223
|
});
|
|
224
224
|
|
|
225
225
|
it('should handle bid request event', function() {
|
|
226
|
-
events.emit(
|
|
226
|
+
events.emit(EVENTS.BID_REQUESTED, REQUEST);
|
|
227
227
|
const ev = analyticsAdapter.context.queue.peekAll();
|
|
228
228
|
expect(ev).to.have.length(2);
|
|
229
229
|
expect(ev[1]).to.be.eql({
|
|
@@ -236,7 +236,7 @@ describe('', function() {
|
|
|
236
236
|
});
|
|
237
237
|
|
|
238
238
|
it('should handle bid response event', function() {
|
|
239
|
-
events.emit(
|
|
239
|
+
events.emit(EVENTS.BID_RESPONSE, RESPONSE);
|
|
240
240
|
const ev = analyticsAdapter.context.queue.peekAll();
|
|
241
241
|
expect(ev).to.have.length(3);
|
|
242
242
|
expect(ev[2]).to.be.eql({
|
|
@@ -255,7 +255,7 @@ describe('', function() {
|
|
|
255
255
|
});
|
|
256
256
|
|
|
257
257
|
it('should handle timeouts properly', function() {
|
|
258
|
-
events.emit(
|
|
258
|
+
events.emit(EVENTS.BID_TIMEOUT, bidTimeoutArgsV1);
|
|
259
259
|
|
|
260
260
|
const ev = analyticsAdapter.context.queue.peekAll();
|
|
261
261
|
expect(ev).to.have.length(5); // remember, we added 2 timeout events
|
|
@@ -268,7 +268,7 @@ describe('', function() {
|
|
|
268
268
|
});
|
|
269
269
|
|
|
270
270
|
it('should handle winning bid', function() {
|
|
271
|
-
events.emit(
|
|
271
|
+
events.emit(EVENTS.BID_WON, RESPONSE);
|
|
272
272
|
const ev = analyticsAdapter.context.queue.peekAll();
|
|
273
273
|
expect(ev).to.have.length(6);
|
|
274
274
|
expect(ev[5]).to.be.eql({
|
|
@@ -287,7 +287,7 @@ describe('', function() {
|
|
|
287
287
|
|
|
288
288
|
it('should handle auction end event', function() {
|
|
289
289
|
timer.tick(447);
|
|
290
|
-
events.emit(
|
|
290
|
+
events.emit(EVENTS.AUCTION_END, RESPONSE);
|
|
291
291
|
let ev = analyticsAdapter.context.queue.peekAll();
|
|
292
292
|
expect(ev).to.have.length(0);
|
|
293
293
|
expect(ajaxStub.calledOnce).to.be.equal(true);
|
|
@@ -3,9 +3,9 @@ import { expect } from 'chai';
|
|
|
3
3
|
import adapterManager from 'src/adapterManager.js';
|
|
4
4
|
import * as utils from 'src/utils.js';
|
|
5
5
|
import { server } from 'test/mocks/xhr.js';
|
|
6
|
+
import { EVENTS } from 'src/constants.js';
|
|
6
7
|
|
|
7
8
|
let events = require('src/events');
|
|
8
|
-
let constants = require('src/constants.json');
|
|
9
9
|
|
|
10
10
|
describe('tercept analytics adapter', function () {
|
|
11
11
|
beforeEach(function () {
|
|
@@ -753,19 +753,19 @@ describe('tercept analytics adapter', function () {
|
|
|
753
753
|
|
|
754
754
|
it('builds and sends auction data', function () {
|
|
755
755
|
// Step 1: Send auction init event
|
|
756
|
-
events.emit(
|
|
756
|
+
events.emit(EVENTS.AUCTION_INIT, prebidEvent['auctionInit']);
|
|
757
757
|
|
|
758
758
|
// Step 2: Send bid requested event
|
|
759
|
-
events.emit(
|
|
759
|
+
events.emit(EVENTS.BID_REQUESTED, prebidEvent['bidRequested']);
|
|
760
760
|
|
|
761
761
|
// Step 3: Send bid response event
|
|
762
|
-
events.emit(
|
|
762
|
+
events.emit(EVENTS.BID_RESPONSE, prebidEvent['bidResponse']);
|
|
763
763
|
|
|
764
764
|
// Step 4: Send bid time out event
|
|
765
|
-
events.emit(
|
|
765
|
+
events.emit(EVENTS.BID_TIMEOUT, prebidEvent['bidTimeout']);
|
|
766
766
|
|
|
767
767
|
// Step 5: Send auction end event
|
|
768
|
-
events.emit(
|
|
768
|
+
events.emit(EVENTS.AUCTION_END, prebidEvent['auctionEnd']);
|
|
769
769
|
|
|
770
770
|
expect(server.requests.length).to.equal(1);
|
|
771
771
|
|
|
@@ -774,7 +774,7 @@ describe('tercept analytics adapter', function () {
|
|
|
774
774
|
expect(realAfterBid).to.deep.equal(expectedAfterBid);
|
|
775
775
|
|
|
776
776
|
// Step 6: Send auction bid won event
|
|
777
|
-
events.emit(
|
|
777
|
+
events.emit(EVENTS.BID_WON, prebidEvent['bidWon']);
|
|
778
778
|
|
|
779
779
|
expect(server.requests.length).to.equal(2);
|
|
780
780
|
|
|
@@ -3,7 +3,7 @@ import * as utils from 'src/utils.js';
|
|
|
3
3
|
import {spec, acceptPostMessage, getStorageData, setStorageData} from 'modules/trionBidAdapter.js';
|
|
4
4
|
import {deepClone} from 'src/utils.js';
|
|
5
5
|
|
|
6
|
-
const CONSTANTS = require('src/constants.
|
|
6
|
+
const CONSTANTS = require('src/constants.js');
|
|
7
7
|
const adloader = require('src/adloader');
|
|
8
8
|
|
|
9
9
|
const PLACEMENT_CODE = 'ad-tag';
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {expect} from 'chai';
|
|
7
7
|
|
|
8
8
|
const events = require('src/events');
|
|
9
|
-
const constants = require('src/constants.
|
|
9
|
+
const constants = require('src/constants.js');
|
|
10
10
|
|
|
11
11
|
const pbuid = 'pbuid-AA778D8A796AEA7A0843E2BBEB677766';
|
|
12
12
|
const adid = 'test-ad-83444226E44368D1E32E49EEBE6D29';
|
|
@@ -18,7 +18,7 @@ import {config} from 'src/config.js';
|
|
|
18
18
|
import * as utils from 'src/utils.js';
|
|
19
19
|
import {getPrebidInternal} from 'src/utils.js';
|
|
20
20
|
import * as events from 'src/events.js';
|
|
21
|
-
import
|
|
21
|
+
import { EVENTS } from 'src/constants.js';
|
|
22
22
|
import {getGlobal} from 'src/prebidGlobal.js';
|
|
23
23
|
import {resetConsentData, } from 'modules/consentManagement.js';
|
|
24
24
|
import {server} from 'test/mocks/xhr.js';
|
|
@@ -1714,7 +1714,7 @@ describe('User ID', function () {
|
|
|
1714
1714
|
// check user sync is delayed after auction is ended
|
|
1715
1715
|
mockIdCallback.calledOnce.should.equal(false);
|
|
1716
1716
|
events.on.calledOnce.should.equal(true);
|
|
1717
|
-
events.on.calledWith(
|
|
1717
|
+
events.on.calledWith(EVENTS.AUCTION_END, sinon.match.func);
|
|
1718
1718
|
|
|
1719
1719
|
// once auction is ended, sync user ids after delay
|
|
1720
1720
|
events.on.callArg(1);
|
|
@@ -1748,7 +1748,7 @@ describe('User ID', function () {
|
|
|
1748
1748
|
// sync delay after auction is ended
|
|
1749
1749
|
mockIdCallback.calledOnce.should.equal(false);
|
|
1750
1750
|
events.on.calledOnce.should.equal(true);
|
|
1751
|
-
events.on.calledWith(
|
|
1751
|
+
events.on.calledWith(EVENTS.AUCTION_END, sinon.match.func);
|
|
1752
1752
|
|
|
1753
1753
|
// once auction is ended, if no sync delay, fetch ids
|
|
1754
1754
|
events.on.callArg(1);
|
|
@@ -3104,7 +3104,7 @@ describe('User ID', function () {
|
|
|
3104
3104
|
});
|
|
3105
3105
|
|
|
3106
3106
|
function endAuction() {
|
|
3107
|
-
events.emit(
|
|
3107
|
+
events.emit(EVENTS.AUCTION_END, {});
|
|
3108
3108
|
return new Promise((resolve) => setTimeout(resolve));
|
|
3109
3109
|
}
|
|
3110
3110
|
|