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
|
@@ -75,9 +75,10 @@ describe('InsticatorBidAdapter', function () {
|
|
|
75
75
|
ortb2: {
|
|
76
76
|
source: {
|
|
77
77
|
tid: '74f78609-a92d-4cf1-869f-1b244bbfb5d2',
|
|
78
|
-
}
|
|
78
|
+
},
|
|
79
79
|
},
|
|
80
80
|
timeout: 300,
|
|
81
|
+
gdprApplies: 1,
|
|
81
82
|
gdprConsent: {
|
|
82
83
|
consentString: 'BOJ/P2HOJ/P2HABABMAAAAAZ+A==',
|
|
83
84
|
vendorData: {},
|
|
@@ -261,25 +262,6 @@ describe('InsticatorBidAdapter', function () {
|
|
|
261
262
|
})).to.be.true;
|
|
262
263
|
});
|
|
263
264
|
|
|
264
|
-
it('should return false if optional video fields are not valid', () => {
|
|
265
|
-
expect(spec.isBidRequestValid({
|
|
266
|
-
...bidRequest,
|
|
267
|
-
...{
|
|
268
|
-
mediaTypes: {
|
|
269
|
-
video: {
|
|
270
|
-
mimes: [
|
|
271
|
-
'video/mp4',
|
|
272
|
-
'video/mpeg',
|
|
273
|
-
],
|
|
274
|
-
playerSize: [250, 300],
|
|
275
|
-
placement: 1,
|
|
276
|
-
startdelay: 'NaN',
|
|
277
|
-
},
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
})).to.be.false;
|
|
281
|
-
});
|
|
282
|
-
|
|
283
265
|
it('should return false if video min duration > max duration', () => {
|
|
284
266
|
expect(spec.isBidRequestValid({
|
|
285
267
|
...bidRequest,
|
|
@@ -497,11 +479,58 @@ describe('InsticatorBidAdapter', function () {
|
|
|
497
479
|
|
|
498
480
|
expect(data.user.id).to.equal(USER_ID_STUBBED);
|
|
499
481
|
});
|
|
500
|
-
|
|
482
|
+
|
|
483
|
+
it('should return with coppa regs object if no gdprConsent is passed', function () {
|
|
501
484
|
const requests = spec.buildRequests([bidRequest], { ...bidderRequest, ...{ gdprConsent: false } });
|
|
502
485
|
const data = JSON.parse(requests[0].data);
|
|
503
|
-
expect(data.regs).to.be.an('object')
|
|
486
|
+
expect(data.regs).to.be.an('object');
|
|
487
|
+
expect(data.regs.coppa).to.be.oneOf([0, 1]);
|
|
504
488
|
});
|
|
489
|
+
|
|
490
|
+
it('should return with us_privacy string if uspConsent is passed', function () {
|
|
491
|
+
const requests = spec.buildRequests([bidRequest], { ...bidderRequest, ...{ uspConsent: '1YNN' } });
|
|
492
|
+
const data = JSON.parse(requests[0].data);
|
|
493
|
+
expect(data.regs).to.be.an('object');
|
|
494
|
+
expect(data.regs.ext).to.be.an('object');
|
|
495
|
+
expect(data.regs.ext.us_privacy).to.equal('1YNN');
|
|
496
|
+
expect(data.regs.ext.ccpa).to.equal('1YNN');
|
|
497
|
+
});
|
|
498
|
+
|
|
499
|
+
it('should return with gpp if gppConsent is passed', function () {
|
|
500
|
+
const requests = spec.buildRequests([bidRequest], { ...bidderRequest, ...{ gppConsent: { gppString: '1YNN', applicableSections: ['1', '2'] } } });
|
|
501
|
+
const data = JSON.parse(requests[0].data);
|
|
502
|
+
expect(data.regs).to.be.an('object');
|
|
503
|
+
expect(data.regs.ext).to.be.an('object');
|
|
504
|
+
expect(data.regs.ext.gppSid).to.deep.equal(['1', '2']);
|
|
505
|
+
});
|
|
506
|
+
|
|
507
|
+
it('should create the request with dsa data and return with dsa object', function() {
|
|
508
|
+
const dsa = {
|
|
509
|
+
dsarequired: 2,
|
|
510
|
+
pubrender: 1,
|
|
511
|
+
datatopub: 2,
|
|
512
|
+
transparency: [{
|
|
513
|
+
domain: 'google.com',
|
|
514
|
+
dsaparams: [1, 2]
|
|
515
|
+
}]
|
|
516
|
+
}
|
|
517
|
+
const bidRequestWithDsa = {
|
|
518
|
+
...bidderRequest,
|
|
519
|
+
ortb2: {
|
|
520
|
+
regs: {
|
|
521
|
+
ext: {
|
|
522
|
+
dsa: dsa
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
const requests = spec.buildRequests([bidRequest], {...bidRequestWithDsa});
|
|
528
|
+
const data = JSON.parse(requests[0].data);
|
|
529
|
+
expect(data.regs).to.be.an('object');
|
|
530
|
+
expect(data.regs.ext).to.be.an('object');
|
|
531
|
+
expect(data.regs.ext.dsa).to.deep.equal(dsa);
|
|
532
|
+
});
|
|
533
|
+
|
|
505
534
|
it('should return empty array if no valid requests are passed', function () {
|
|
506
535
|
expect(spec.buildRequests([], bidderRequest)).to.be.an('array').that.have.lengthOf(0);
|
|
507
536
|
});
|
|
@@ -539,6 +568,129 @@ describe('InsticatorBidAdapter', function () {
|
|
|
539
568
|
expect(data.imp[0].video.w).to.equal(640);
|
|
540
569
|
expect(data.imp[0].video.h).to.equal(480);
|
|
541
570
|
});
|
|
571
|
+
|
|
572
|
+
it('should have sites first party data if present in bidderRequest ortb2', function () {
|
|
573
|
+
bidderRequest = {
|
|
574
|
+
...bidderRequest,
|
|
575
|
+
ortb2: {
|
|
576
|
+
...bidderRequest.ortb2,
|
|
577
|
+
site: {
|
|
578
|
+
keywords: 'keyword1,keyword2',
|
|
579
|
+
search: 'search',
|
|
580
|
+
content: {
|
|
581
|
+
title: 'title',
|
|
582
|
+
keywords: 'keyword3,keyword4',
|
|
583
|
+
genre: 'rock'
|
|
584
|
+
},
|
|
585
|
+
cat: ['IAB1', 'IAB2']
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
const requests = spec.buildRequests([bidRequest], bidderRequest);
|
|
590
|
+
const data = JSON.parse(requests[0].data);
|
|
591
|
+
expect(data).to.have.property('site');
|
|
592
|
+
expect(data.site).to.have.property('keywords');
|
|
593
|
+
expect(data.site.keywords).to.equal('keyword1,keyword2');
|
|
594
|
+
expect(data.site).to.have.property('search');
|
|
595
|
+
expect(data.site.search).to.equal('search');
|
|
596
|
+
expect(data.site).to.have.property('content');
|
|
597
|
+
expect(data.site.content).to.have.property('title');
|
|
598
|
+
expect(data.site.content.title).to.equal('title');
|
|
599
|
+
expect(data.site.content).to.have.property('keywords');
|
|
600
|
+
expect(data.site.content.keywords).to.equal('keyword3,keyword4');
|
|
601
|
+
expect(data.site.content).to.have.property('genre');
|
|
602
|
+
expect(data.site.content.genre).to.equal('rock');
|
|
603
|
+
expect(data.site).to.have.property('cat');
|
|
604
|
+
expect(data.site.cat).to.deep.equal(['IAB1', 'IAB2']);
|
|
605
|
+
});
|
|
606
|
+
|
|
607
|
+
it('should have device.sua if present in bidderRequest ortb2', function () {
|
|
608
|
+
bidderRequest = {
|
|
609
|
+
...bidderRequest,
|
|
610
|
+
ortb2: {
|
|
611
|
+
...bidderRequest.ortb2,
|
|
612
|
+
device: {
|
|
613
|
+
...bidderRequest.ortb2.device,
|
|
614
|
+
sua: {}
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
const requests = spec.buildRequests([bidRequest], bidderRequest);
|
|
619
|
+
const data = JSON.parse(requests[0].data);
|
|
620
|
+
expect(data).to.have.property('device');
|
|
621
|
+
expect(data.device).to.have.property('sua');
|
|
622
|
+
})
|
|
623
|
+
|
|
624
|
+
it('should use param bid_endpoint_request_url for request endpoint if present', function () {
|
|
625
|
+
const tempBiddRequest = {
|
|
626
|
+
...bidRequest,
|
|
627
|
+
params: {
|
|
628
|
+
...bidRequest.params,
|
|
629
|
+
bid_endpoint_request_url: 'https://example.com'
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
const requests = spec.buildRequests([tempBiddRequest], bidderRequest);
|
|
633
|
+
expect(requests[0].url).to.equal('https://example.com');
|
|
634
|
+
});
|
|
635
|
+
|
|
636
|
+
it('should have user keywords if present in bidrequest', function () {
|
|
637
|
+
const tempBiddRequest = {
|
|
638
|
+
...bidRequest,
|
|
639
|
+
params: {
|
|
640
|
+
...bidRequest.params,
|
|
641
|
+
user: {
|
|
642
|
+
keywords: 'keyword1,keyword2'
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
const requests = spec.buildRequests([tempBiddRequest], bidderRequest);
|
|
647
|
+
const data = JSON.parse(requests[0].data);
|
|
648
|
+
expect(data.user).to.have.property('keywords');
|
|
649
|
+
expect(data.user.keywords).to.equal('keyword1,keyword2');
|
|
650
|
+
});
|
|
651
|
+
|
|
652
|
+
it('should remove video params if they are invalid', function () {
|
|
653
|
+
const tempBiddRequest = {
|
|
654
|
+
...bidRequest,
|
|
655
|
+
mediaTypes: {
|
|
656
|
+
...bidRequest.mediaTypes,
|
|
657
|
+
video: {
|
|
658
|
+
mimes: [
|
|
659
|
+
'video/mp4',
|
|
660
|
+
'video/mpeg',
|
|
661
|
+
'video/x-flv',
|
|
662
|
+
'video/webm',
|
|
663
|
+
'video/ogg',
|
|
664
|
+
],
|
|
665
|
+
protocols: 'NaN',
|
|
666
|
+
w: '300',
|
|
667
|
+
h: '250',
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
const requests = spec.buildRequests([tempBiddRequest], bidderRequest);
|
|
672
|
+
const data = JSON.parse(requests[0].data);
|
|
673
|
+
expect(data.imp[0].video).to.not.have.property('plcmt');
|
|
674
|
+
});
|
|
675
|
+
|
|
676
|
+
it('should have user consent and gdpr string if gdprConsent is passed', function () {
|
|
677
|
+
const requests = spec.buildRequests([bidRequest], bidderRequest);
|
|
678
|
+
const data = JSON.parse(requests[0].data);
|
|
679
|
+
expect(data.regs).to.be.an('object');
|
|
680
|
+
expect(data.regs.ext).to.be.an('object');
|
|
681
|
+
expect(data.regs.ext.gdpr).to.equal(1);
|
|
682
|
+
expect(data.regs.ext.gdprConsentString).to.equal(bidderRequest.gdprConsent.consentString);
|
|
683
|
+
expect(data.user.ext).to.have.property('consent');
|
|
684
|
+
expect(data.user.ext.consent).to.equal(bidderRequest.gdprConsent.consentString);
|
|
685
|
+
});
|
|
686
|
+
|
|
687
|
+
it('should have one or more privacy policies if present in bidrequest, like gpp, gdpr and us_privacy', function () {
|
|
688
|
+
const requests = spec.buildRequests([bidRequest], { ...bidderRequest, ...{ uspConsent: '1YNN' } });
|
|
689
|
+
const data = JSON.parse(requests[0].data);
|
|
690
|
+
expect(data.regs.ext).to.have.property('gdpr');
|
|
691
|
+
expect(data.regs.ext).to.have.property('us_privacy');
|
|
692
|
+
expect(data.regs.ext).to.have.property('gppSid');
|
|
693
|
+
});
|
|
542
694
|
});
|
|
543
695
|
|
|
544
696
|
describe('interpretResponse', function () {
|
|
@@ -837,4 +989,105 @@ describe('InsticatorBidAdapter', function () {
|
|
|
837
989
|
expect(bidResponse.vastUrl).to.match(/^data:text\/xml;charset=utf-8;base64,[\w+/=]+$/)
|
|
838
990
|
});
|
|
839
991
|
})
|
|
992
|
+
|
|
993
|
+
describe(`Response with DSA data`, function() {
|
|
994
|
+
const bidRequestDsa = {
|
|
995
|
+
method: 'POST',
|
|
996
|
+
url: 'https://ex.ingage.tech/v1/openrtb',
|
|
997
|
+
options: {
|
|
998
|
+
contentType: 'application/json',
|
|
999
|
+
withCredentials: true,
|
|
1000
|
+
},
|
|
1001
|
+
data: '',
|
|
1002
|
+
bidderRequest: {
|
|
1003
|
+
bidderRequestId: '22edbae2733bf6',
|
|
1004
|
+
auctionId: '74f78609-a92d-4cf1-869f-1b244bbfb5d2',
|
|
1005
|
+
timeout: 300,
|
|
1006
|
+
bids: [
|
|
1007
|
+
{
|
|
1008
|
+
bidder: 'insticator',
|
|
1009
|
+
params: {
|
|
1010
|
+
adUnitId: '1a2b3c4d5e6f1a2b3c4d'
|
|
1011
|
+
},
|
|
1012
|
+
adUnitCode: 'adunit-code-1',
|
|
1013
|
+
mediaTypes: {
|
|
1014
|
+
video: {
|
|
1015
|
+
mimes: [
|
|
1016
|
+
'video/mp4',
|
|
1017
|
+
'video/mpeg',
|
|
1018
|
+
],
|
|
1019
|
+
playerSize: [[250, 300]],
|
|
1020
|
+
placement: 2,
|
|
1021
|
+
plcmt: 2,
|
|
1022
|
+
}
|
|
1023
|
+
},
|
|
1024
|
+
bidId: 'bid1',
|
|
1025
|
+
}
|
|
1026
|
+
],
|
|
1027
|
+
ortb2: {
|
|
1028
|
+
regs: {
|
|
1029
|
+
ext: {
|
|
1030
|
+
dsa: {
|
|
1031
|
+
dsarequired: 2,
|
|
1032
|
+
pubrender: 1,
|
|
1033
|
+
datatopub: 2,
|
|
1034
|
+
transparency: [{
|
|
1035
|
+
domain: 'google.com',
|
|
1036
|
+
dsaparams: [1, 2]
|
|
1037
|
+
}]
|
|
1038
|
+
}
|
|
1039
|
+
}}
|
|
1040
|
+
},
|
|
1041
|
+
}
|
|
1042
|
+
};
|
|
1043
|
+
|
|
1044
|
+
const bidResponseDsa = {
|
|
1045
|
+
body: {
|
|
1046
|
+
id: '22edbae2733bf6',
|
|
1047
|
+
bidid: 'foo9876',
|
|
1048
|
+
cur: 'USD',
|
|
1049
|
+
seatbid: [
|
|
1050
|
+
{
|
|
1051
|
+
seat: 'some-dsp',
|
|
1052
|
+
bid: [
|
|
1053
|
+
{
|
|
1054
|
+
ad: '<Vast></Vast>',
|
|
1055
|
+
impid: 'bid1',
|
|
1056
|
+
crid: 'crid1',
|
|
1057
|
+
price: 0.5,
|
|
1058
|
+
w: 300,
|
|
1059
|
+
h: 250,
|
|
1060
|
+
adm: '<VAST version="4.0"><Ad></Ad></VAST>',
|
|
1061
|
+
exp: 60,
|
|
1062
|
+
adomain: ['test1.com'],
|
|
1063
|
+
ext: {
|
|
1064
|
+
meta: {
|
|
1065
|
+
test: 1,
|
|
1066
|
+
},
|
|
1067
|
+
dsa: {
|
|
1068
|
+
behalf: 'Advertiser',
|
|
1069
|
+
paid: 'Advertiser',
|
|
1070
|
+
transparency: [{
|
|
1071
|
+
domain: 'google.com',
|
|
1072
|
+
dsaparams: [1, 2]
|
|
1073
|
+
}],
|
|
1074
|
+
adrender: 1
|
|
1075
|
+
}
|
|
1076
|
+
},
|
|
1077
|
+
}
|
|
1078
|
+
],
|
|
1079
|
+
},
|
|
1080
|
+
]
|
|
1081
|
+
}
|
|
1082
|
+
};
|
|
1083
|
+
const bidRequestWithDsa = utils.deepClone(bidRequestDsa);
|
|
1084
|
+
it('should have related properties for DSA data', function() {
|
|
1085
|
+
const serverResponseWithDsa = utils.deepClone(bidResponseDsa);
|
|
1086
|
+
const bidResponse = spec.interpretResponse(serverResponseWithDsa, bidRequestWithDsa)[0];
|
|
1087
|
+
expect(bidResponse).to.have.any.keys('ext');
|
|
1088
|
+
expect(bidResponse.ext.dsa).to.have.property('behalf', 'Advertiser');
|
|
1089
|
+
expect(bidResponse.ext.dsa).to.have.property('paid', 'Advertiser');
|
|
1090
|
+
expect(bidResponse.ext.dsa).to.have.property('adrender', 1);
|
|
1091
|
+
});
|
|
1092
|
+
});
|
|
840
1093
|
});
|
|
@@ -2,8 +2,8 @@ import invisiblyAdapter from 'modules/invisiblyAnalyticsAdapter.js';
|
|
|
2
2
|
import { expect } from 'chai';
|
|
3
3
|
import {expectEvents} from '../../helpers/analytics.js';
|
|
4
4
|
import {server} from '../../mocks/xhr.js';
|
|
5
|
+
import { EVENTS, STATUS } from 'src/constants.js';
|
|
5
6
|
let events = require('src/events');
|
|
6
|
-
let constants = require('src/constants.json');
|
|
7
7
|
|
|
8
8
|
describe('Invisibly Analytics Adapter test suite', function () {
|
|
9
9
|
let xhr;
|
|
@@ -26,7 +26,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
26
26
|
hb_source: 'client',
|
|
27
27
|
},
|
|
28
28
|
getStatusCode() {
|
|
29
|
-
return
|
|
29
|
+
return STATUS.GOOD;
|
|
30
30
|
},
|
|
31
31
|
};
|
|
32
32
|
|
|
@@ -54,7 +54,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
54
54
|
hb_source: 'server',
|
|
55
55
|
},
|
|
56
56
|
getStatusCode() {
|
|
57
|
-
return
|
|
57
|
+
return STATUS.GOOD;
|
|
58
58
|
},
|
|
59
59
|
};
|
|
60
60
|
|
|
@@ -204,11 +204,11 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
204
204
|
options: {},
|
|
205
205
|
});
|
|
206
206
|
|
|
207
|
-
events.emit(
|
|
208
|
-
events.emit(
|
|
209
|
-
events.emit(
|
|
210
|
-
events.emit(
|
|
211
|
-
events.emit(
|
|
207
|
+
events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT);
|
|
208
|
+
events.emit(EVENTS.AUCTION_END, MOCK.AUCTION_END);
|
|
209
|
+
events.emit(EVENTS.BID_REQUESTED, MOCK.BID_REQUESTED);
|
|
210
|
+
events.emit(EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE);
|
|
211
|
+
events.emit(EVENTS.BID_WON, MOCK.BID_WON);
|
|
212
212
|
invisiblyAdapter.flush();
|
|
213
213
|
sinon.assert.callCount(invisiblyAdapter.track, 0);
|
|
214
214
|
});
|
|
@@ -230,7 +230,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
230
230
|
// spec for auction init event
|
|
231
231
|
it('auction init event', function () {
|
|
232
232
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
233
|
-
events.emit(
|
|
233
|
+
events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT);
|
|
234
234
|
invisiblyAdapter.flush();
|
|
235
235
|
|
|
236
236
|
const invisiblyEvents = JSON.parse(
|
|
@@ -252,7 +252,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
252
252
|
// spec for bid adjustment event
|
|
253
253
|
it('bid adjustment event', function () {
|
|
254
254
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
255
|
-
events.emit(
|
|
255
|
+
events.emit(EVENTS.BID_ADJUSTMENT, MOCK.BID_ADJUSTMENT);
|
|
256
256
|
invisiblyAdapter.flush();
|
|
257
257
|
|
|
258
258
|
const invisiblyEvents = JSON.parse(
|
|
@@ -274,7 +274,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
274
274
|
// spec for bid timeout event
|
|
275
275
|
it('bid timeout event', function () {
|
|
276
276
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
277
|
-
events.emit(
|
|
277
|
+
events.emit(EVENTS.BID_TIMEOUT, MOCK.BID_TIMEOUT);
|
|
278
278
|
invisiblyAdapter.flush();
|
|
279
279
|
|
|
280
280
|
const invisiblyEvents = JSON.parse(
|
|
@@ -296,7 +296,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
296
296
|
// spec for bid requested event
|
|
297
297
|
it('bid requested event', function () {
|
|
298
298
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
299
|
-
events.emit(
|
|
299
|
+
events.emit(EVENTS.BID_REQUESTED, MOCK.BID_REQUESTED);
|
|
300
300
|
invisiblyAdapter.flush();
|
|
301
301
|
|
|
302
302
|
const invisiblyEvents = JSON.parse(
|
|
@@ -318,7 +318,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
318
318
|
// spec for bid response event
|
|
319
319
|
it('bid response event', function () {
|
|
320
320
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
321
|
-
events.emit(
|
|
321
|
+
events.emit(EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE);
|
|
322
322
|
invisiblyAdapter.flush();
|
|
323
323
|
|
|
324
324
|
const invisiblyEvents = JSON.parse(
|
|
@@ -338,7 +338,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
338
338
|
// spec for no bid event
|
|
339
339
|
it('no bid event', function () {
|
|
340
340
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
341
|
-
events.emit(
|
|
341
|
+
events.emit(EVENTS.NO_BID, MOCK.NO_BID);
|
|
342
342
|
invisiblyAdapter.flush();
|
|
343
343
|
|
|
344
344
|
const invisiblyEvents = JSON.parse(
|
|
@@ -360,7 +360,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
360
360
|
// spec for bid won event
|
|
361
361
|
it('bid won event', function () {
|
|
362
362
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
363
|
-
events.emit(
|
|
363
|
+
events.emit(EVENTS.BID_WON, MOCK.BID_WON);
|
|
364
364
|
invisiblyAdapter.flush();
|
|
365
365
|
|
|
366
366
|
const invisiblyEvents = JSON.parse(
|
|
@@ -378,7 +378,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
378
378
|
// spec for bidder done event
|
|
379
379
|
it('bidder done event', function () {
|
|
380
380
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
381
|
-
events.emit(
|
|
381
|
+
events.emit(EVENTS.BIDDER_DONE, MOCK.BIDDER_DONE);
|
|
382
382
|
invisiblyAdapter.flush();
|
|
383
383
|
|
|
384
384
|
const invisiblyEvents = JSON.parse(
|
|
@@ -403,7 +403,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
403
403
|
// spec for set targeting event
|
|
404
404
|
it('set targeting event', function () {
|
|
405
405
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
406
|
-
events.emit(
|
|
406
|
+
events.emit(EVENTS.SET_TARGETING, MOCK.SET_TARGETING);
|
|
407
407
|
invisiblyAdapter.flush();
|
|
408
408
|
|
|
409
409
|
const invisiblyEvents = JSON.parse(
|
|
@@ -428,7 +428,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
428
428
|
// spec for request bids event
|
|
429
429
|
it('request bids event', function () {
|
|
430
430
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
431
|
-
events.emit(
|
|
431
|
+
events.emit(EVENTS.REQUEST_BIDS, MOCK.REQUEST_BIDS);
|
|
432
432
|
invisiblyAdapter.flush();
|
|
433
433
|
|
|
434
434
|
const invisiblyEvents = JSON.parse(
|
|
@@ -450,7 +450,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
450
450
|
// spec for add ad units event
|
|
451
451
|
it('add ad units event', function () {
|
|
452
452
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
453
|
-
events.emit(
|
|
453
|
+
events.emit(EVENTS.ADD_AD_UNITS, MOCK.ADD_AD_UNITS);
|
|
454
454
|
invisiblyAdapter.flush();
|
|
455
455
|
|
|
456
456
|
const invisiblyEvents = JSON.parse(
|
|
@@ -472,7 +472,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
472
472
|
// spec for ad render failed event
|
|
473
473
|
it('ad render failed event', function () {
|
|
474
474
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
475
|
-
events.emit(
|
|
475
|
+
events.emit(EVENTS.AD_RENDER_FAILED, MOCK.AD_RENDER_FAILED);
|
|
476
476
|
invisiblyAdapter.flush();
|
|
477
477
|
|
|
478
478
|
const invisiblyEvents = JSON.parse(
|
|
@@ -494,7 +494,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
494
494
|
// spec for auction end event
|
|
495
495
|
it('auction end event', function () {
|
|
496
496
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
497
|
-
events.emit(
|
|
497
|
+
events.emit(EVENTS.AUCTION_END, MOCK.AUCTION_END);
|
|
498
498
|
invisiblyAdapter.flush();
|
|
499
499
|
|
|
500
500
|
const invisiblyEvents = JSON.parse(
|
|
@@ -516,7 +516,7 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
516
516
|
it('it should not call sendEvent for this event emit', function () {
|
|
517
517
|
sinon.spy(invisiblyAdapter, 'sendEvent');
|
|
518
518
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
519
|
-
events.emit(
|
|
519
|
+
events.emit(EVENTS.INVALID_EVENT, MOCK.INVALID_EVENT);
|
|
520
520
|
invisiblyAdapter.flush();
|
|
521
521
|
|
|
522
522
|
expect(requests.length).to.equal(0);
|
|
@@ -529,19 +529,19 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
529
529
|
invisiblyAdapter.enableAnalytics(MOCK.config);
|
|
530
530
|
|
|
531
531
|
expectEvents([
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
532
|
+
EVENTS.AUCTION_INIT,
|
|
533
|
+
EVENTS.AUCTION_END,
|
|
534
|
+
EVENTS.BID_ADJUSTMENT,
|
|
535
|
+
EVENTS.BID_TIMEOUT,
|
|
536
|
+
EVENTS.BID_REQUESTED,
|
|
537
|
+
EVENTS.BID_RESPONSE,
|
|
538
|
+
EVENTS.NO_BID,
|
|
539
|
+
EVENTS.BID_WON,
|
|
540
|
+
EVENTS.BIDDER_DONE,
|
|
541
|
+
EVENTS.SET_TARGETING,
|
|
542
|
+
EVENTS.REQUEST_BIDS,
|
|
543
|
+
EVENTS.ADD_AD_UNITS,
|
|
544
|
+
EVENTS.AD_RENDER_FAILED
|
|
545
545
|
]).to.beTrackedBy(invisiblyAdapter.track);
|
|
546
546
|
});
|
|
547
547
|
});
|
|
@@ -558,11 +558,11 @@ describe('Invisibly Analytics Adapter test suite', function () {
|
|
|
558
558
|
},
|
|
559
559
|
});
|
|
560
560
|
|
|
561
|
-
events.emit(
|
|
562
|
-
events.emit(
|
|
563
|
-
events.emit(
|
|
564
|
-
events.emit(
|
|
565
|
-
events.emit(
|
|
561
|
+
events.emit(EVENTS.AUCTION_INIT, MOCK.AUCTION_INIT);
|
|
562
|
+
events.emit(EVENTS.AUCTION_END, MOCK.AUCTION_END);
|
|
563
|
+
events.emit(EVENTS.BID_REQUESTED, MOCK.BID_REQUESTED);
|
|
564
|
+
events.emit(EVENTS.BID_RESPONSE, MOCK.BID_RESPONSE);
|
|
565
|
+
events.emit(EVENTS.BID_WON, MOCK.BID_WON);
|
|
566
566
|
invisiblyAdapter.flush();
|
|
567
567
|
|
|
568
568
|
sinon.assert.callCount(invisiblyAdapter.sendEvent, 0);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import kargoAnalyticsAdapter from 'modules/kargoAnalyticsAdapter.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
|
let events = require('src/events');
|
|
5
|
-
let constants = require('src/constants.json');
|
|
6
6
|
|
|
7
7
|
describe('Kargo Analytics Adapter', function () {
|
|
8
8
|
const adapterConfig = {
|
|
@@ -30,10 +30,10 @@ describe('Kargo Analytics Adapter', function () {
|
|
|
30
30
|
timeToRespond: 192,
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
events.emit(
|
|
33
|
+
events.emit(EVENTS.AUCTION_INIT, {
|
|
34
34
|
timeout: 1000
|
|
35
35
|
});
|
|
36
|
-
events.emit(
|
|
36
|
+
events.emit(EVENTS.BID_RESPONSE, bidResponse);
|
|
37
37
|
|
|
38
38
|
expect(server.requests.length).to.equal(1);
|
|
39
39
|
expect(server.requests[0].url).to.equal('https://krk.kargo.com/api/v1/event/auction-data?aid=66529d4c-8998-47c2-ab3e-5b953490b98f&ato=1000&rt=192&it=0');
|
|
@@ -2,19 +2,19 @@ import konduitAnalyticsAdapter from 'modules/konduitAnalyticsAdapter';
|
|
|
2
2
|
import { expect } from 'chai';
|
|
3
3
|
import { config } from '../../../src/config.js';
|
|
4
4
|
import { server } from 'test/mocks/xhr.js';
|
|
5
|
+
import { EVENTS } from 'src/constants.js';
|
|
5
6
|
let events = require('src/events');
|
|
6
7
|
let adapterManager = require('src/adapterManager').default;
|
|
7
|
-
let CONSTANTS = require('src/constants.json');
|
|
8
8
|
|
|
9
9
|
const eventsData = {
|
|
10
|
-
[
|
|
10
|
+
[EVENTS.AUCTION_INIT]: {
|
|
11
11
|
'auctionId': 'test_auction_id',
|
|
12
12
|
'timestamp': Date.now(),
|
|
13
13
|
'auctionStatus': 'inProgress',
|
|
14
14
|
'adUnitCodes': ['video-test'],
|
|
15
15
|
'timeout': 700
|
|
16
16
|
},
|
|
17
|
-
[
|
|
17
|
+
[EVENTS.BID_REQUESTED]: {
|
|
18
18
|
'bidderCode': 'test_bidder_code',
|
|
19
19
|
'time': Date.now(),
|
|
20
20
|
'bids': [{
|
|
@@ -25,13 +25,13 @@ const eventsData = {
|
|
|
25
25
|
'params': { 'testParam': 'test_param' }
|
|
26
26
|
}]
|
|
27
27
|
},
|
|
28
|
-
[
|
|
28
|
+
[EVENTS.NO_BID]: {
|
|
29
29
|
'bidderCode': 'test_bidder_code2',
|
|
30
30
|
'transactionId': 'test_transaction_id',
|
|
31
31
|
'adUnitCode': 'video-test',
|
|
32
32
|
'bidId': 'test_bid_id'
|
|
33
33
|
},
|
|
34
|
-
[
|
|
34
|
+
[EVENTS.BID_RESPONSE]: {
|
|
35
35
|
'bidderCode': 'test_bidder_code',
|
|
36
36
|
'adUnitCode': 'video-test',
|
|
37
37
|
'statusMessage': 'Bid available',
|
|
@@ -44,7 +44,7 @@ const eventsData = {
|
|
|
44
44
|
'requestId': 'test_request_id',
|
|
45
45
|
'creativeId': 144876543
|
|
46
46
|
},
|
|
47
|
-
[
|
|
47
|
+
[EVENTS.AUCTION_END]: {
|
|
48
48
|
'auctionId': 'test_auction_id',
|
|
49
49
|
'timestamp': Date.now(),
|
|
50
50
|
'auctionEnd': Date.now() + 400,
|
|
@@ -52,7 +52,7 @@ const eventsData = {
|
|
|
52
52
|
'adUnitCodes': ['video-test'],
|
|
53
53
|
'timeout': 700
|
|
54
54
|
},
|
|
55
|
-
[
|
|
55
|
+
[EVENTS.BID_WON]: {
|
|
56
56
|
'bidderCode': 'test_bidder_code',
|
|
57
57
|
'adUnitCode': 'video-test',
|
|
58
58
|
'statusMessage': 'Bid available',
|
|
@@ -99,12 +99,12 @@ describe(`Konduit Analytics Adapter`, () => {
|
|
|
99
99
|
expect(konduitAnalyticsAdapter.context.aggregatedEvents).to.be.an('array');
|
|
100
100
|
|
|
101
101
|
const eventTypes = [
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
EVENTS.AUCTION_INIT,
|
|
103
|
+
EVENTS.BID_REQUESTED,
|
|
104
|
+
EVENTS.NO_BID,
|
|
105
|
+
EVENTS.BID_RESPONSE,
|
|
106
|
+
EVENTS.BID_WON,
|
|
107
|
+
EVENTS.AUCTION_END,
|
|
108
108
|
];
|
|
109
109
|
const args = eventTypes.map(eventType => eventsData[eventType]);
|
|
110
110
|
|
|
@@ -2,7 +2,7 @@ import { expect } from 'chai';
|
|
|
2
2
|
import { spec } from 'modules/lemmaDigitalBidAdapter.js';
|
|
3
3
|
import * as utils from 'src/utils.js';
|
|
4
4
|
import { config } from 'src/config.js';
|
|
5
|
-
const constants = require('src/constants.
|
|
5
|
+
const constants = require('src/constants.js');
|
|
6
6
|
|
|
7
7
|
describe('lemmaDigitalBidAdapter', function () {
|
|
8
8
|
let bidRequests;
|