prebid.js 7.8.0 → 7.11.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 +0 -2
- package/RELEASE_SCHEDULE.md +1 -1
- package/allowedModules.js +3 -0
- package/babelConfig.js +10 -4
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/adWMGAnalyticsAdapter.js +1 -1
- package/dist/adagioAnalyticsAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/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/adrelevantisBidAdapter.js +1 -1
- package/dist/adtelligentBidAdapter.js +1 -1
- package/dist/adtrgtmeBidAdapter.js +1 -0
- package/dist/adxcgAnalyticsAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/adxpremiumAnalyticsAdapter.js +1 -1
- package/dist/adyoulikeBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/analyticsAdapter.js +1 -0
- package/dist/andBeyondMediaBidAdapter.js +1 -0
- package/dist/aniviewBidAdapter.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/atsAnalyticsAdapter.js +1 -1
- package/dist/audiencerunBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/bidwatchAnalyticsAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bluebillywigBidAdapter.js +1 -1
- package/dist/boldwinBidAdapter.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/c1xBidAdapter.js +1 -0
- package/dist/cleanioRtdProvider.js +1 -1
- package/dist/concertAnalyticsAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consentManagementUsp.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/cpmstarBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/datablocksAnalyticsAdapter.js +1 -1
- package/dist/datawrkzBidAdapter.js +1 -0
- package/dist/debugging-standalone.js +1 -1
- package/dist/dependencies.json +171 -0
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningAnalyticsAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/fintezaAnalyticsAdapter.js +1 -1
- package/dist/freewheel-sspBidAdapter.js +1 -1
- package/dist/getOrigin.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/hadronAnalyticsAdapter.js +1 -1
- package/dist/id5AnalyticsAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/imuIdSystem.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/invisiblyAnalyticsAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/kargoAnalyticsAdapter.js +1 -1
- package/dist/kargoBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/livewrappedAnalyticsAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediakeysBidAdapter.js +1 -1
- package/dist/medianetAnalyticsAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/nextMillenniumBidAdapter.js +1 -1
- package/dist/nobidBidAdapter.js +1 -1
- package/dist/not-for-prod/prebid.js +182 -176
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/openxAnalyticsAdapter.js +1 -1
- package/dist/openxBidAdapter.js +1 -1
- package/dist/openxOrtbBidAdapter.js +1 -1
- package/dist/optimonAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/ozoneBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pianoDmpAnalyticsAdapter.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubperfAnalyticsAdapter.js +1 -1
- package/dist/pubstackAnalyticsAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/pulsepointAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/realvuAnalyticsAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/relevantAnalyticsAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rivrAnalyticsAdapter.js +1 -1
- package/dist/roxotAnalyticsAdapter.js +1 -1
- package/dist/rtbhouseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/scaleableAnalyticsAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/showheroes-bsBidAdapter.js +1 -1
- package/dist/sigmoidAnalyticsAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/snigelBidAdapter.js +1 -0
- package/dist/sonobiAnalyticsAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/staqAnalyticsAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/tappxBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/terceptAnalyticsAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/trustpidSystem.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/yuktamediaAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
- package/dist/zeta_global_sspBidAdapter.js +1 -1
- package/gulpHelpers.js +22 -55
- package/gulpfile.js +12 -5
- package/integrationExamples/gpt/1plusXRtdProviderExample.html +2 -4
- package/integrationExamples/gpt/airgridRtdProvider_example.html +1 -4
- package/integrationExamples/gpt/amp/remote.html +1 -1
- package/integrationExamples/gpt/blueconicRtdProvider_example.html +2 -4
- package/integrationExamples/gpt/hadronRtdProvider_example.html +1 -3
- package/integrationExamples/gpt/inskin_example.html +1 -3
- package/integrationExamples/gpt/permutiveRtdProvider_example.html +1 -1
- package/integrationExamples/gpt/prebidServer_example.html +1 -3
- package/integrationExamples/gpt/serverbidServer_example.html +1 -3
- package/integrationExamples/gpt/userId_example.html +1 -3
- package/integrationExamples/postbid/oas/postbid-config.js +5 -5
- package/karma.conf.maker.js +2 -13
- package/libraries/LIBRARIES.md +5 -0
- package/{src → libraries/analyticsAdapter}/AnalyticsAdapter.js +5 -6
- package/{src/adapters/analytics → libraries/analyticsAdapter/examples}/example.js +1 -1
- package/{src/adapters/analytics → libraries/analyticsAdapter/examples}/example2.js +1 -1
- package/modules/.submodules.json +0 -12
- package/modules/1plusXRtdProvider.js +1 -1
- package/modules/33acrossBidAdapter.js +3 -3
- package/modules/adWMGAnalyticsAdapter.js +1 -1
- package/modules/adagioAnalyticsAdapter.js +1 -1
- package/modules/adagioBidAdapter.js +3 -4
- package/modules/adgenerationBidAdapter.js +1 -1
- package/modules/adkernelAdnAnalyticsAdapter.js +1 -1
- package/modules/adkernelBidAdapter.js +2 -1
- package/modules/adlooxAnalyticsAdapter.js +1 -1
- package/modules/admixerBidAdapter.js +1 -1
- package/modules/adnowBidAdapter.js +1 -1
- package/modules/adnuntiusBidAdapter.js +3 -1
- package/modules/adomikAnalyticsAdapter.js +1 -1
- package/modules/adpod.js +1 -1
- package/modules/adrelevantisBidAdapter.js +2 -2
- package/modules/adriverBidAdapter.js +1 -1
- package/modules/adtargetBidAdapter.js +1 -1
- package/modules/adtelligentBidAdapter.js +4 -2
- package/modules/adtrgtmeBidAdapter.js +333 -0
- package/modules/adtrgtmeBidAdapter.md +69 -0
- package/modules/adtrueBidAdapter.js +1 -1
- package/modules/adxcgAnalyticsAdapter.js +1 -1
- package/modules/adxpremiumAnalyticsAdapter.js +2 -2
- package/modules/adyoulikeBidAdapter.js +12 -8
- package/modules/akamaiDapRtdProvider.js +2 -2
- package/modules/andBeyondMediaBidAdapter.js +202 -0
- package/modules/andBeyondMediaBidAdapter.md +79 -0
- package/modules/aniviewBidAdapter.js +2 -2
- package/modules/apacdexBidAdapter.js +3 -3
- package/modules/appierAnalyticsAdapter.js +1 -1
- package/modules/appnexusBidAdapter.js +9 -9
- package/modules/apstreamBidAdapter.js +2 -2
- package/modules/atsAnalyticsAdapter.js +1 -1
- package/modules/betweenBidAdapter.js +1 -1
- package/modules/bidwatchAnalyticsAdapter.js +71 -12
- package/modules/bizzclickBidAdapter.js +1 -1
- package/modules/bliinkBidAdapter.js +1 -1
- package/modules/boldwinBidAdapter.js +16 -7
- package/modules/boldwinBidAdapter.md +17 -0
- package/modules/brightMountainMediaBidAdapter.js +1 -1
- package/modules/browsiRtdProvider.js +26 -12
- package/modules/byDataAnalyticsAdapter.js +2 -2
- package/modules/c1xBidAdapter.js +209 -0
- package/modules/c1xBidAdapter.md +70 -0
- package/modules/cleanioRtdProvider.js +29 -0
- package/modules/cleanmedianetBidAdapter.js +1 -1
- package/modules/colossussspBidAdapter.js +2 -2
- package/modules/concertAnalyticsAdapter.js +1 -1
- package/modules/consentManagementUsp.js +2 -2
- package/modules/consumableBidAdapter.js +21 -3
- package/modules/cpmstarBidAdapter.js +23 -13
- package/modules/criteoBidAdapter.js +47 -5
- package/modules/cwireBidAdapter.js +1 -1
- package/modules/datablocksAnalyticsAdapter.js +1 -1
- package/modules/datablocksBidAdapter.js +1 -1
- package/modules/datawrkzBidAdapter.js +633 -0
- package/modules/datawrkzBidAdapter.md +160 -0
- package/modules/dfpAdServerVideo.js +2 -2
- package/modules/dgkeywordRtdProvider.js +1 -1
- package/modules/dspxBidAdapter.js +1 -1
- package/modules/e_volutionBidAdapter.js +3 -3
- package/modules/ebdrBidAdapter.js +1 -1
- package/modules/emx_digitalBidAdapter.js +1 -1
- package/modules/eplanningAnalyticsAdapter.js +1 -1
- package/modules/eplanningBidAdapter.js +3 -3
- package/modules/fabrickIdSystem.js +2 -2
- package/modules/fintezaAnalyticsAdapter.js +2 -2
- package/modules/freewheel-sspBidAdapter.js +1 -1
- package/modules/gamoshiBidAdapter.js +1 -1
- package/modules/getintentBidAdapter.js +1 -1
- package/modules/gjirafaBidAdapter.js +2 -2
- package/modules/goldbachBidAdapter.js +8 -8
- package/modules/gothamadsBidAdapter.js +2 -2
- package/modules/gridBidAdapter.js +1 -1
- package/modules/gridNMBidAdapter.js +1 -1
- package/modules/gumgumBidAdapter.js +3 -3
- package/modules/h12mediaBidAdapter.js +1 -1
- package/modules/hadronAnalyticsAdapter.js +3 -3
- package/modules/hadronRtdProvider.js +1 -1
- package/modules/id5AnalyticsAdapter.js +2 -2
- package/modules/impactifyBidAdapter.js +1 -1
- package/modules/improvedigitalBidAdapter.js +5 -2
- package/modules/imuIdSystem.js +40 -28
- package/modules/imuIdSystem.md +1 -0
- package/modules/inskinBidAdapter.js +1 -1
- package/modules/integr8BidAdapter.js +2 -2
- package/modules/intentIqIdSystem.js +2 -2
- package/modules/interactiveOffersBidAdapter.js +1 -1
- package/modules/invisiblyAnalyticsAdapter.js +1 -1
- package/modules/iqmBidAdapter.js +1 -1
- package/modules/ixBidAdapter.js +15 -15
- package/modules/kargoAnalyticsAdapter.js +1 -1
- package/modules/kargoBidAdapter.js +4 -5
- package/modules/konduitAnalyticsAdapter.js +1 -1
- package/modules/krushmediaBidAdapter.js +2 -2
- package/modules/kueezBidAdapter.js +2 -2
- package/modules/lassoBidAdapter.js +3 -3
- package/modules/livewrappedAnalyticsAdapter.js +4 -4
- package/modules/liveyieldAnalyticsAdapter.js +1 -1
- package/modules/lkqdBidAdapter.js +3 -3
- package/modules/loganBidAdapter.js +2 -2
- package/modules/luponmediaBidAdapter.js +3 -3
- package/modules/malltvAnalyticsAdapter.js +1 -1
- package/modules/malltvBidAdapter.js +2 -2
- package/modules/marsmediaAnalyticsAdapter.js +1 -1
- package/modules/mediafuseBidAdapter.js +8 -8
- package/modules/mediakeysBidAdapter.js +2 -2
- package/modules/medianetAnalyticsAdapter.js +1 -1
- package/modules/merkleIdSystem.js +2 -2
- package/modules/mgidBidAdapter.js +2 -2
- package/modules/microadBidAdapter.js +1 -1
- package/modules/mobfoxpbBidAdapter.js +2 -2
- package/modules/newspassidBidAdapter.js +1 -1
- package/modules/nextMillenniumBidAdapter.js +21 -2
- package/modules/nobidBidAdapter.js +3 -3
- package/modules/novatiqIdSystem.js +1 -1
- package/modules/oguryBidAdapter.js +1 -1
- package/modules/ooloAnalyticsAdapter.js +1 -1
- package/modules/open8BidAdapter.js +1 -1
- package/modules/openwebBidAdapter.js +1 -1
- package/modules/openxAnalyticsAdapter.js +6 -745
- package/modules/openxAnalyticsAdapter.md +4 -0
- package/modules/openxBidAdapter.js +3 -5
- package/modules/openxOrtbBidAdapter.js +8 -4
- package/modules/operaadsBidAdapter.js +1 -1
- package/modules/optimonAnalyticsAdapter.js +1 -1
- package/modules/ozoneBidAdapter.js +102 -271
- package/modules/ozoneBidAdapter.md +37 -0
- package/modules/pianoDmpAnalyticsAdapter.js +1 -1
- package/modules/pixfutureBidAdapter.js +1 -1
- package/modules/prebidServerBidAdapter/index.js +7 -7
- package/modules/prebidmanagerAnalyticsAdapter.js +2 -2
- package/modules/priceFloors.js +1 -1
- package/modules/pubmaticAnalyticsAdapter.js +2 -2
- package/modules/pubmaticBidAdapter.js +28 -8
- package/modules/pubperfAnalyticsAdapter.js +1 -1
- package/modules/pubstackAnalyticsAdapter.js +1 -1
- package/modules/pubwiseAnalyticsAdapter.js +2 -2
- package/modules/pubwiseBidAdapter.js +3 -3
- package/modules/pubxBidAdapter.js +1 -1
- package/modules/pubxaiAnalyticsAdapter.js +3 -3
- package/modules/pulsepointAnalyticsAdapter.js +1 -1
- package/modules/pulsepointBidAdapter.js +1 -1
- package/modules/quantcastIdSystem.js +1 -1
- package/modules/radsBidAdapter.js +1 -1
- package/modules/realvuAnalyticsAdapter.js +1 -1
- package/modules/relaidoBidAdapter.js +23 -18
- package/modules/relevantAnalyticsAdapter.js +1 -1
- package/modules/revcontentBidAdapter.js +1 -1
- package/modules/richaudienceBidAdapter.js +1 -1
- package/modules/riseBidAdapter.js +8 -5
- package/modules/riseBidAdapter.md +3 -1
- package/modules/rivrAnalyticsAdapter.js +1 -1
- package/modules/roxotAnalyticsAdapter.js +1 -1
- package/modules/rtbhouseBidAdapter.js +1 -1
- package/modules/rubiconAnalyticsAdapter.js +1 -1
- package/modules/rubiconBidAdapter.js +2 -2
- package/modules/scaleableAnalyticsAdapter.js +1 -1
- package/modules/schain.js +1 -1
- package/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/modules/sharethroughBidAdapter.js +3 -3
- package/modules/shinezBidAdapter.js +2 -2
- package/modules/showheroes-bsBidAdapter.js +131 -49
- package/modules/showheroes-bsBidAdapter.md +49 -0
- package/modules/sigmoidAnalyticsAdapter.js +1 -1
- package/modules/sirdataRtdProvider.js +3 -3
- package/modules/sizeMappingV2.js +1 -1
- package/modules/smaatoBidAdapter.js +2 -2
- package/modules/smartxBidAdapter.js +2 -2
- package/modules/snigelBidAdapter.js +150 -0
- package/modules/snigelBidAdapter.md +46 -0
- package/modules/sonobiAnalyticsAdapter.js +2 -2
- package/modules/sonobiBidAdapter.js +3 -3
- package/modules/sovrnAnalyticsAdapter.js +1 -1
- package/modules/spotxBidAdapter.js +5 -5
- package/modules/sspBCBidAdapter.js +15 -18
- package/modules/staqAnalyticsAdapter.js +2 -2
- package/modules/synacormediaBidAdapter.js +1 -1
- package/modules/taboolaBidAdapter.js +1 -1
- package/modules/tappxBidAdapter.js +4 -4
- package/modules/targetVideoBidAdapter.js +1 -1
- package/modules/terceptAnalyticsAdapter.js +1 -1
- package/modules/theAdxBidAdapter.js +2 -2
- package/modules/tpmnBidAdapter.js +1 -1
- package/modules/trionBidAdapter.js +2 -2
- package/modules/tripleliftBidAdapter.js +46 -20
- package/modules/trustpidSystem.js +2 -2
- package/modules/ttdBidAdapter.js +41 -26
- package/modules/ttdBidAdapter.md +4 -10
- package/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/modules/underdogmediaBidAdapter.js +1 -1
- package/modules/userId/eids.js +5 -0
- package/modules/userId/index.js +11 -7
- package/modules/vdoaiBidAdapter.js +1 -1
- package/modules/vidazooBidAdapter.js +9 -5
- package/modules/videoheroesBidAdapter.js +1 -1
- package/modules/vidoomyBidAdapter.js +1 -1
- package/modules/visxBidAdapter.js +1 -1
- package/modules/vrtcalBidAdapter.js +1 -1
- package/modules/weboramaRtdProvider.js +3 -3
- package/modules/winrBidAdapter.js +1 -1
- package/modules/yahoosspBidAdapter.js +4 -3
- package/modules/yandexBidAdapter.js +1 -1
- package/modules/yieldmoBidAdapter.js +3 -3
- package/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/modules/yieldoneBidAdapter.js +2 -2
- package/modules/yuktamediaAnalyticsAdapter.js +1 -1
- package/modules/zeta_global_sspAnalyticsAdapter.js +1 -1
- package/modules/zeta_global_sspBidAdapter.js +25 -22
- package/package.json +4 -3
- package/src/Renderer.js +1 -1
- package/src/adapterManager.js +3 -3
- package/src/adapters/bidderFactory.js +1 -0
- package/src/auction.js +2 -2
- package/src/bidfactory.js +1 -1
- package/src/config.js +7 -7
- package/src/native.js +53 -58
- package/src/sizeMapping.js +1 -1
- package/src/targeting.js +1 -1
- package/src/userSync.js +1 -1
- package/src/utils.js +1 -1
- package/test/mocks/analyticsStub.js +1 -1
- package/test/spec/AnalyticsAdapter_spec.js +1 -1
- package/test/spec/config_spec.js +4 -0
- package/test/spec/modules/adagioBidAdapter_spec.js +2 -0
- package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -3
- package/test/spec/modules/adtelligentBidAdapter_spec.js +1 -0
- package/test/spec/modules/adtrgtmeBidAdapter_spec.js +802 -0
- package/test/spec/modules/adyoulikeBidAdapter_spec.js +8 -3
- package/test/spec/modules/andBeyondMediaBidAdapter_spec.js +400 -0
- package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +17 -1
- package/test/spec/modules/boldwinBidAdapter_spec.js +2 -1
- package/test/spec/modules/browsiRtdProvider_spec.js +40 -1
- package/test/spec/modules/c1xBidAdapter_spec.js +189 -0
- package/test/spec/modules/cleanioRtdProvider_spec.js +23 -0
- package/test/spec/modules/concertAnalyticsAdapter_spec.js +2 -1
- package/test/spec/modules/consumableBidAdapter_spec.js +139 -0
- package/test/spec/modules/cpmstarBidAdapter_spec.js +1 -1
- package/test/spec/modules/criteoBidAdapter_spec.js +169 -38
- package/test/spec/modules/datawrkzBidAdapter_spec.js +656 -0
- package/test/spec/modules/eids_spec.js +32 -0
- package/test/spec/modules/eplanningAnalyticsAdapter_spec.js +2 -2
- package/test/spec/modules/fintezaAnalyticsAdapter_spec.js +2 -1
- package/test/spec/modules/improvedigitalBidAdapter_spec.js +4 -4
- package/test/spec/modules/imuIdSystem_spec.js +20 -4
- package/test/spec/modules/invisiblyAnalyticsAdapter_spec.js +8 -3
- package/test/spec/modules/kargoBidAdapter_spec.js +11 -2
- package/test/spec/modules/konduitAnalyticsAdapter_spec.js +2 -1
- package/test/spec/modules/nextMillenniumBidAdapter_spec.js +17 -0
- package/test/spec/modules/openxAnalyticsAdapter_spec.js +6 -638
- package/test/spec/modules/openxOrtbBidAdapter_spec.js +32 -1
- package/test/spec/modules/optimonAnalyticsAdapter_spec.js +2 -1
- package/test/spec/modules/ozoneBidAdapter_spec.js +367 -511
- package/test/spec/modules/pianoDmpAnalyticsAdapter_spec.js +4 -0
- package/test/spec/modules/prebidmanagerAnalyticsAdapter_spec.js +2 -1
- package/test/spec/modules/pubmaticBidAdapter_spec.js +111 -5
- package/test/spec/modules/pubperfAnalyticsAdapter_spec.js +2 -1
- package/test/spec/modules/pubstackAnalyticsAdapter_spec.js +2 -1
- package/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +3 -3
- package/test/spec/modules/relaidoBidAdapter_spec.js +40 -33
- package/test/spec/modules/riseBidAdapter_spec.js +17 -0
- package/test/spec/modules/sharethroughBidAdapter_spec.js +10 -1
- package/test/spec/modules/showheroes-bsBidAdapter_spec.js +173 -2
- package/test/spec/modules/sigmoidAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/snigelBidAdapter_spec.js +296 -0
- package/test/spec/modules/sovrnAnalyticsAdapter_spec.js +2 -1
- package/test/spec/modules/sspBCBidAdapter_spec.js +2 -2
- package/test/spec/modules/tripleliftBidAdapter_spec.js +378 -10
- package/test/spec/modules/ttdBidAdapter_spec.js +113 -34
- package/test/spec/modules/userId_spec.js +38 -2
- package/test/spec/modules/vidazooBidAdapter_spec.js +39 -24
- package/test/spec/modules/yahoosspBidAdapter_spec.js +13 -0
- package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +5 -1
- package/test/spec/modules/zeta_global_sspBidAdapter_spec.js +61 -2
- package/test/spec/native_spec.js +96 -0
- package/test/spec/unit/core/bidderFactory_spec.js +27 -2
- package/webpack.conf.js +47 -11
|
@@ -17,8 +17,7 @@ describe('ttdBidAdapter', function () {
|
|
|
17
17
|
'params': {
|
|
18
18
|
'supplySourceId': 'supplier',
|
|
19
19
|
'publisherId': '22222222',
|
|
20
|
-
'placementId': 'some-PlacementId_1'
|
|
21
|
-
'siteId': 'testSiteId'
|
|
20
|
+
'placementId': 'some-PlacementId_1'
|
|
22
21
|
},
|
|
23
22
|
'mediaTypes': {
|
|
24
23
|
'banner': {
|
|
@@ -57,27 +56,20 @@ describe('ttdBidAdapter', function () {
|
|
|
57
56
|
expect(spec.isBidRequestValid(bid)).to.equal(false);
|
|
58
57
|
});
|
|
59
58
|
|
|
60
|
-
it('should return
|
|
61
|
-
let bid = makeBid();
|
|
62
|
-
delete bid.params.siteId;
|
|
63
|
-
expect(spec.isBidRequestValid(bid)).to.equal(false);
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it('should return false when siteId is longer than 50 characters', function () {
|
|
67
|
-
let bid = makeBid();
|
|
68
|
-
bid.params.siteId = '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
|
|
69
|
-
expect(spec.isBidRequestValid(bid)).to.equal(false);
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
it('should return false when placementId not passed', function () {
|
|
59
|
+
it('should return true if placementId is not passed and gpid is passed', function () {
|
|
73
60
|
let bid = makeBid();
|
|
74
61
|
delete bid.params.placementId;
|
|
75
|
-
|
|
62
|
+
bid.ortb2Imp = {
|
|
63
|
+
ext: {
|
|
64
|
+
gpid: '/1111/home#header'
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
expect(spec.isBidRequestValid(bid)).to.equal(true);
|
|
76
68
|
});
|
|
77
69
|
|
|
78
|
-
it('should return false
|
|
70
|
+
it('should return false if neither placementId nor gpid is passed', function () {
|
|
79
71
|
let bid = makeBid();
|
|
80
|
-
bid.params.placementId
|
|
72
|
+
delete bid.params.placementId;
|
|
81
73
|
expect(spec.isBidRequestValid(bid)).to.equal(false);
|
|
82
74
|
});
|
|
83
75
|
|
|
@@ -103,7 +95,6 @@ describe('ttdBidAdapter', function () {
|
|
|
103
95
|
'params': {
|
|
104
96
|
'supplySourceId': 'supplier',
|
|
105
97
|
'publisherId': '22222222',
|
|
106
|
-
'siteId': 'testSiteId123',
|
|
107
98
|
'placementId': 'somePlacementId'
|
|
108
99
|
},
|
|
109
100
|
'mediaTypes': {
|
|
@@ -187,17 +178,21 @@ describe('ttdBidAdapter', function () {
|
|
|
187
178
|
'params': {
|
|
188
179
|
'supplySourceId': 'supplier',
|
|
189
180
|
'publisherId': '13144370',
|
|
190
|
-
'placementId': '1gaa015'
|
|
191
|
-
'siteId': 'testSiteId123'
|
|
181
|
+
'placementId': '1gaa015'
|
|
192
182
|
},
|
|
193
183
|
'mediaTypes': {
|
|
194
184
|
'banner': {
|
|
195
185
|
'sizes': [[300, 250], [300, 600]]
|
|
196
186
|
}
|
|
197
187
|
},
|
|
188
|
+
'ortb2Imp': {
|
|
189
|
+
'ext': {
|
|
190
|
+
'tid': '8651474f-58b1-4368-b812-84f8c937a099',
|
|
191
|
+
}
|
|
192
|
+
},
|
|
198
193
|
'sizes': [[300, 250], [300, 600]],
|
|
194
|
+
'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',
|
|
199
195
|
'adUnitCode': 'div-gpt-ad-1460505748561-0',
|
|
200
|
-
'transactionId': '8651474f-58b1-4368-b812-84f8c937a099',
|
|
201
196
|
'bidId': '243310435309b5',
|
|
202
197
|
'bidderRequestId': '18084284054531',
|
|
203
198
|
'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',
|
|
@@ -240,16 +235,49 @@ describe('ttdBidAdapter', function () {
|
|
|
240
235
|
expect(url).to.equal('https://direct.adsrvr.org/bid/bidder/supplier');
|
|
241
236
|
});
|
|
242
237
|
|
|
243
|
-
it('sends publisher id
|
|
238
|
+
it('sends publisher id', function () {
|
|
244
239
|
const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;
|
|
245
240
|
expect(requestBody.site).to.be.not.null;
|
|
246
241
|
expect(requestBody.site.publisher).to.be.not.null;
|
|
247
|
-
expect(requestBody.imp[0].tagid).to.be.not.null;
|
|
248
242
|
expect(requestBody.site.publisher.id).to.equal(baseBannerBidRequests[0].params.publisherId);
|
|
249
|
-
|
|
243
|
+
});
|
|
244
|
+
|
|
245
|
+
it('sends placement id in tagid', function () {
|
|
246
|
+
const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;
|
|
250
247
|
expect(requestBody.imp[0].tagid).to.equal(baseBannerBidRequests[0].params.placementId);
|
|
251
248
|
});
|
|
252
249
|
|
|
250
|
+
it('sends gpid in tagid if present', function () {
|
|
251
|
+
let clonedBannerRequests = deepClone(baseBannerBidRequests);
|
|
252
|
+
const gpid = '/1111/home#header';
|
|
253
|
+
clonedBannerRequests[0].ortb2Imp = {
|
|
254
|
+
ext: {
|
|
255
|
+
gpid: gpid
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;
|
|
259
|
+
expect(requestBody.imp[0].tagid).to.equal(gpid);
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
it('sends gpid in ext.gpid if present', function () {
|
|
263
|
+
let clonedBannerRequests = deepClone(baseBannerBidRequests);
|
|
264
|
+
const gpid = '/1111/home#header';
|
|
265
|
+
clonedBannerRequests[0].ortb2Imp = {
|
|
266
|
+
ext: {
|
|
267
|
+
gpid: gpid
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;
|
|
271
|
+
expect(requestBody.imp[0].ext).to.be.not.null;
|
|
272
|
+
expect(requestBody.imp[0].ext.gpid).to.equal(gpid);
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
it('sends transaction id in source.tid', function () {
|
|
276
|
+
const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;
|
|
277
|
+
expect(requestBody.source).to.be.not.null;
|
|
278
|
+
expect(requestBody.source.tid).to.equal('1111474f-58b1-4368-b812-84f8c937a099');
|
|
279
|
+
});
|
|
280
|
+
|
|
253
281
|
it('includes the ad size in the bid request', function () {
|
|
254
282
|
const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;
|
|
255
283
|
expect(requestBody.imp[0].banner.format[0].w).to.equal(300);
|
|
@@ -283,18 +311,44 @@ describe('ttdBidAdapter', function () {
|
|
|
283
311
|
});
|
|
284
312
|
|
|
285
313
|
it('sets keywords properly if sent', function () {
|
|
286
|
-
let clonedBannerRequests = deepClone(baseBannerBidRequests);
|
|
287
|
-
|
|
288
314
|
const ortb2 = {
|
|
289
315
|
site: {
|
|
290
316
|
keywords: 'highViewability, clothing, holiday shopping'
|
|
291
317
|
}
|
|
292
318
|
};
|
|
293
|
-
const requestBody = testBuildRequests(
|
|
319
|
+
const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;
|
|
294
320
|
config.resetConfig();
|
|
295
321
|
expect(requestBody.ext.ttdprebid.keywords).to.deep.equal(['highViewability', 'clothing', 'holiday shopping']);
|
|
296
322
|
});
|
|
297
323
|
|
|
324
|
+
it('sets bcat properly if sent', function () {
|
|
325
|
+
const ortb2 = {
|
|
326
|
+
bcat: ['IAB1-1', 'IAB2-9']
|
|
327
|
+
};
|
|
328
|
+
const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;
|
|
329
|
+
config.resetConfig();
|
|
330
|
+
expect(requestBody.bcat).to.deep.equal(['IAB1-1', 'IAB2-9']);
|
|
331
|
+
});
|
|
332
|
+
|
|
333
|
+
it('sets badv properly if sent', function () {
|
|
334
|
+
const ortb2 = {
|
|
335
|
+
badv: ['adv1.com', 'adv2.com']
|
|
336
|
+
};
|
|
337
|
+
const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;
|
|
338
|
+
config.resetConfig();
|
|
339
|
+
expect(requestBody.badv).to.deep.equal(['adv1.com', 'adv2.com']);
|
|
340
|
+
});
|
|
341
|
+
|
|
342
|
+
it('sets battr properly if present', function () {
|
|
343
|
+
let clonedBannerRequests = deepClone(baseBannerBidRequests);
|
|
344
|
+
const battr = [1, 2, 3];
|
|
345
|
+
clonedBannerRequests[0].ortb2Imp = {
|
|
346
|
+
battr: battr
|
|
347
|
+
};
|
|
348
|
+
const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;
|
|
349
|
+
expect(requestBody.imp[0].banner.battr).to.equal(battr);
|
|
350
|
+
});
|
|
351
|
+
|
|
298
352
|
it('sets ext properly', function () {
|
|
299
353
|
let clonedBannerRequests = deepClone(baseBannerBidRequests);
|
|
300
354
|
|
|
@@ -442,9 +496,14 @@ describe('ttdBidAdapter', function () {
|
|
|
442
496
|
'sizes': [[300, 250], [300, 600]]
|
|
443
497
|
}
|
|
444
498
|
},
|
|
499
|
+
'ortb2Imp': {
|
|
500
|
+
'ext': {
|
|
501
|
+
'tid': '8651474f-58b1-4368-b812-84f8c937a099',
|
|
502
|
+
}
|
|
503
|
+
},
|
|
445
504
|
'sizes': [[300, 250], [300, 600]],
|
|
505
|
+
'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',
|
|
446
506
|
'adUnitCode': 'div-gpt-ad-1460505748561-0',
|
|
447
|
-
'transactionId': '8651474f-58b1-4368-b812-84f8c937a099',
|
|
448
507
|
'bidId': 'small',
|
|
449
508
|
'bidderRequestId': '18084284054531',
|
|
450
509
|
'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',
|
|
@@ -454,17 +513,21 @@ describe('ttdBidAdapter', function () {
|
|
|
454
513
|
'bidder': 'ttd',
|
|
455
514
|
'params': {
|
|
456
515
|
'publisherId': '13144370',
|
|
457
|
-
'placementId': 'top'
|
|
458
|
-
'siteId': 'testSite123'
|
|
516
|
+
'placementId': 'top'
|
|
459
517
|
},
|
|
460
518
|
'mediaTypes': {
|
|
461
519
|
'banner': {
|
|
462
520
|
'sizes': [[728, 90]]
|
|
463
521
|
}
|
|
464
522
|
},
|
|
523
|
+
'ortb2Imp': {
|
|
524
|
+
'ext': {
|
|
525
|
+
'tid': '12345678-58b1-4368-b812-84f8c937a099',
|
|
526
|
+
}
|
|
527
|
+
},
|
|
465
528
|
'sizes': [[728, 90]],
|
|
466
|
-
'adUnitCode': 'div-gpt-ad-91515710-0',
|
|
467
529
|
'transactionId': '825c1228-ca8c-4657-b40f-2df500621527',
|
|
530
|
+
'adUnitCode': 'div-gpt-ad-91515710-0',
|
|
468
531
|
'bidId': 'large',
|
|
469
532
|
'bidderRequestId': '18084284054531',
|
|
470
533
|
'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',
|
|
@@ -493,6 +556,12 @@ describe('ttdBidAdapter', function () {
|
|
|
493
556
|
it('sends multiple impressions', function () {
|
|
494
557
|
const requestBody = testBuildRequests(baseBannerMultipleBidRequests, baseBidderRequest).data;
|
|
495
558
|
expect(requestBody.imp.length).to.equal(2);
|
|
559
|
+
expect(requestBody.source).to.be.not.null;
|
|
560
|
+
expect(requestBody.source.tid).to.equal('1111474f-58b1-4368-b812-84f8c937a099');
|
|
561
|
+
expect(requestBody.imp[0].ext).to.be.not.null;
|
|
562
|
+
expect(requestBody.imp[0].ext.tid).to.equal('8651474f-58b1-4368-b812-84f8c937a099');
|
|
563
|
+
expect(requestBody.imp[1].ext).to.be.not.null;
|
|
564
|
+
expect(requestBody.imp[1].ext.tid).to.equal('12345678-58b1-4368-b812-84f8c937a099');
|
|
496
565
|
});
|
|
497
566
|
|
|
498
567
|
it('sends the right tag ids for each ad unit', function () {
|
|
@@ -547,8 +616,13 @@ describe('ttdBidAdapter', function () {
|
|
|
547
616
|
'sizes': [[300, 250], [300, 600]]
|
|
548
617
|
}
|
|
549
618
|
},
|
|
619
|
+
'ortb2Imp': {
|
|
620
|
+
'ext': {
|
|
621
|
+
'tid': '8651474f-58b1-4368-b812-84f8c937a099',
|
|
622
|
+
}
|
|
623
|
+
},
|
|
624
|
+
'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',
|
|
550
625
|
'adUnitCode': 'div-gpt-ad-1460505748561-0',
|
|
551
|
-
'transactionId': '8651474f-58b1-4368-b812-84f8c937a099',
|
|
552
626
|
'bidId': '243310435309b5',
|
|
553
627
|
'bidderRequestId': '18084284054531',
|
|
554
628
|
'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',
|
|
@@ -607,8 +681,13 @@ describe('ttdBidAdapter', function () {
|
|
|
607
681
|
'maxduration': 30
|
|
608
682
|
}
|
|
609
683
|
},
|
|
684
|
+
'ortb2Imp': {
|
|
685
|
+
'ext': {
|
|
686
|
+
'tid': '8651474f-58b1-4368-b812-84f8c937a099',
|
|
687
|
+
}
|
|
688
|
+
},
|
|
689
|
+
'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',
|
|
610
690
|
'adUnitCode': 'div-gpt-ad-1460505748561-0',
|
|
611
|
-
'transactionId': '8651474f-58b1-4368-b812-84f8c937a099',
|
|
612
691
|
'bidId': '243310435309b5',
|
|
613
692
|
'bidderRequestId': '18084284054531',
|
|
614
693
|
'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',
|
|
@@ -46,6 +46,7 @@ import {deepintentDpesSubmodule} from 'modules/deepintentDpesIdSystem.js';
|
|
|
46
46
|
import {amxIdSubmodule} from '../../../modules/amxIdSystem.js';
|
|
47
47
|
import {kinessoIdSubmodule} from 'modules/kinessoIdSystem.js';
|
|
48
48
|
import {adqueryIdSubmodule} from 'modules/adqueryIdSystem.js';
|
|
49
|
+
import {imuIdSubmodule} from 'modules/imuIdSystem.js';
|
|
49
50
|
import * as mockGpt from '../integration/faker/googletag.js';
|
|
50
51
|
import 'src/prebid.js';
|
|
51
52
|
import {hook} from '../../../src/hook.js';
|
|
@@ -402,7 +403,7 @@ describe('User ID', function () {
|
|
|
402
403
|
it('should set googletag ppid correctly', function () {
|
|
403
404
|
let adUnits = [getAdUnitMock()];
|
|
404
405
|
init(config);
|
|
405
|
-
setSubmoduleRegistry([amxIdSubmodule, sharedIdSystemSubmodule, identityLinkSubmodule]);
|
|
406
|
+
setSubmoduleRegistry([amxIdSubmodule, sharedIdSystemSubmodule, identityLinkSubmodule, imuIdSubmodule]);
|
|
406
407
|
|
|
407
408
|
config.setConfig({
|
|
408
409
|
userSync: {
|
|
@@ -411,6 +412,7 @@ describe('User ID', function () {
|
|
|
411
412
|
{ name: 'amxId', value: {'amxId': 'amx-id-value-amx-id-value-amx-id-value'} },
|
|
412
413
|
{ name: 'pubCommonId', value: {'pubcid': 'pubCommon-id-value-pubCommon-id-value'} },
|
|
413
414
|
{ name: 'identityLink', value: {'idl_env': 'identityLink-id-value-identityLink-id-value'} },
|
|
415
|
+
{ name: 'imuid', value: {'imppid': 'imppid-value-imppid-value-imppid-value'} },
|
|
414
416
|
]
|
|
415
417
|
}
|
|
416
418
|
});
|
|
@@ -422,6 +424,27 @@ describe('User ID', function () {
|
|
|
422
424
|
});
|
|
423
425
|
});
|
|
424
426
|
|
|
427
|
+
it('should set googletag ppid correctly for imuIdSubmodule', function () {
|
|
428
|
+
let adUnits = [getAdUnitMock()];
|
|
429
|
+
init(config);
|
|
430
|
+
setSubmoduleRegistry([imuIdSubmodule]);
|
|
431
|
+
|
|
432
|
+
config.setConfig({
|
|
433
|
+
userSync: {
|
|
434
|
+
ppid: 'ppid.intimatemerger.com',
|
|
435
|
+
userIds: [
|
|
436
|
+
{ name: 'imuid', value: {'imppid': 'imppid-value-imppid-value-imppid-value'} },
|
|
437
|
+
]
|
|
438
|
+
}
|
|
439
|
+
});
|
|
440
|
+
// before ppid should not be set
|
|
441
|
+
expect(window.googletag._ppid).to.equal(undefined);
|
|
442
|
+
return expectImmediateBidHook(() => {}, {adUnits}).then(() => {
|
|
443
|
+
// ppid should have been set without dashes and stuff
|
|
444
|
+
expect(window.googletag._ppid).to.equal('imppidvalueimppidvalueimppidvalue');
|
|
445
|
+
});
|
|
446
|
+
});
|
|
447
|
+
|
|
425
448
|
it('should log a warning if PPID too big or small', function () {
|
|
426
449
|
let adUnits = [getAdUnitMock()];
|
|
427
450
|
|
|
@@ -516,9 +539,22 @@ describe('User ID', function () {
|
|
|
516
539
|
clearStack().then(() => {
|
|
517
540
|
// simulate init complete
|
|
518
541
|
mockIdCallback.callArg(0, {id: {MOCKID: '1111'}});
|
|
519
|
-
})
|
|
542
|
+
});
|
|
520
543
|
});
|
|
521
544
|
|
|
545
|
+
it('should continue the auction when init fails', (done) => {
|
|
546
|
+
startInit();
|
|
547
|
+
requestBidsHook(() => {
|
|
548
|
+
done();
|
|
549
|
+
},
|
|
550
|
+
{adUnits: [getAdUnitMock()]},
|
|
551
|
+
{
|
|
552
|
+
delay: delay(),
|
|
553
|
+
getIds: () => Promise.reject(new Error())
|
|
554
|
+
}
|
|
555
|
+
);
|
|
556
|
+
})
|
|
557
|
+
|
|
522
558
|
it('should not get stuck when init fails', () => {
|
|
523
559
|
const err = new Error();
|
|
524
560
|
mockIdCallback.callsFake(() => { throw err; });
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {expect} from 'chai';
|
|
2
2
|
import {
|
|
3
3
|
spec as adapter,
|
|
4
4
|
SUPPORTED_ID_SYSTEMS,
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
getVidazooSessionId,
|
|
16
16
|
} from 'modules/vidazooBidAdapter.js';
|
|
17
17
|
import * as utils from 'src/utils.js';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
18
|
+
import {version} from 'package.json';
|
|
19
|
+
import {useFakeTimers} from 'sinon';
|
|
20
20
|
|
|
21
21
|
const SUB_DOMAIN = 'openrtb';
|
|
22
22
|
|
|
@@ -48,12 +48,14 @@ const BIDDER_REQUEST = {
|
|
|
48
48
|
},
|
|
49
49
|
'uspConsent': 'consent_string',
|
|
50
50
|
'refererInfo': {
|
|
51
|
-
'page': 'https://www.greatsite.com'
|
|
51
|
+
'page': 'https://www.greatsite.com',
|
|
52
|
+
'ref': 'https://www.somereferrer.com'
|
|
52
53
|
}
|
|
53
54
|
};
|
|
54
55
|
|
|
55
56
|
const SERVER_RESPONSE = {
|
|
56
57
|
body: {
|
|
58
|
+
cid: 'testcid123',
|
|
57
59
|
results: [{
|
|
58
60
|
'ad': '<iframe>console.log("hello world")</iframe>',
|
|
59
61
|
'price': 0.8,
|
|
@@ -83,7 +85,7 @@ const REQUEST = {
|
|
|
83
85
|
|
|
84
86
|
function getTopWindowQueryParams() {
|
|
85
87
|
try {
|
|
86
|
-
const parsedUrl = utils.parseUrl(window.top.document.URL, {
|
|
88
|
+
const parsedUrl = utils.parseUrl(window.top.document.URL, {decodeSearchAsString: true});
|
|
87
89
|
return parsedUrl.search;
|
|
88
90
|
} catch (e) {
|
|
89
91
|
return '';
|
|
@@ -168,6 +170,7 @@ describe('VidazooBidAdapter', function () {
|
|
|
168
170
|
usPrivacy: 'consent_string',
|
|
169
171
|
sizes: ['300x250', '300x600'],
|
|
170
172
|
url: 'https%3A%2F%2Fwww.greatsite.com',
|
|
173
|
+
referrer: 'https://www.somereferrer.com',
|
|
171
174
|
cb: 1000,
|
|
172
175
|
bidFloor: 0.1,
|
|
173
176
|
bidId: '2d52001cabd527',
|
|
@@ -194,19 +197,27 @@ describe('VidazooBidAdapter', function () {
|
|
|
194
197
|
});
|
|
195
198
|
describe('getUserSyncs', function () {
|
|
196
199
|
it('should have valid user sync with iframeEnabled', function () {
|
|
197
|
-
const result = adapter.getUserSyncs({
|
|
200
|
+
const result = adapter.getUserSyncs({iframeEnabled: true}, [SERVER_RESPONSE]);
|
|
198
201
|
|
|
199
202
|
expect(result).to.deep.equal([{
|
|
200
203
|
type: 'iframe',
|
|
201
|
-
url: 'https://
|
|
204
|
+
url: 'https://sync.cootlogix.com/api/sync/iframe/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy='
|
|
205
|
+
}]);
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
it('should have valid user sync with cid on response', function () {
|
|
209
|
+
const result = adapter.getUserSyncs({iframeEnabled: true}, [SERVER_RESPONSE]);
|
|
210
|
+
expect(result).to.deep.equal([{
|
|
211
|
+
type: 'iframe',
|
|
212
|
+
url: 'https://sync.cootlogix.com/api/sync/iframe/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy='
|
|
202
213
|
}]);
|
|
203
214
|
});
|
|
204
215
|
|
|
205
216
|
it('should have valid user sync with pixelEnabled', function () {
|
|
206
|
-
const result = adapter.getUserSyncs({
|
|
217
|
+
const result = adapter.getUserSyncs({pixelEnabled: true}, [SERVER_RESPONSE]);
|
|
207
218
|
|
|
208
219
|
expect(result).to.deep.equal([{
|
|
209
|
-
'url': 'https://
|
|
220
|
+
'url': 'https://sync.cootlogix.com/api/sync/image/?cid=testcid123&gdpr=0&gdpr_consent=&us_privacy=',
|
|
210
221
|
'type': 'image'
|
|
211
222
|
}]);
|
|
212
223
|
})
|
|
@@ -219,12 +230,12 @@ describe('VidazooBidAdapter', function () {
|
|
|
219
230
|
});
|
|
220
231
|
|
|
221
232
|
it('should return empty array when there is no ad', function () {
|
|
222
|
-
const responses = adapter.interpretResponse({
|
|
233
|
+
const responses = adapter.interpretResponse({price: 1, ad: ''});
|
|
223
234
|
expect(responses).to.be.empty;
|
|
224
235
|
});
|
|
225
236
|
|
|
226
237
|
it('should return empty array when there is no price', function () {
|
|
227
|
-
const responses = adapter.interpretResponse({
|
|
238
|
+
const responses = adapter.interpretResponse({price: null, ad: 'great ad'});
|
|
228
239
|
expect(responses).to.be.empty;
|
|
229
240
|
});
|
|
230
241
|
|
|
@@ -263,10 +274,14 @@ describe('VidazooBidAdapter', function () {
|
|
|
263
274
|
|
|
264
275
|
const userId = (function () {
|
|
265
276
|
switch (idSystemProvider) {
|
|
266
|
-
case 'lipb':
|
|
267
|
-
|
|
268
|
-
case '
|
|
269
|
-
|
|
277
|
+
case 'lipb':
|
|
278
|
+
return {lipbid: id};
|
|
279
|
+
case 'parrableId':
|
|
280
|
+
return {eid: id};
|
|
281
|
+
case 'id5id':
|
|
282
|
+
return {uid: id};
|
|
283
|
+
default:
|
|
284
|
+
return id;
|
|
270
285
|
}
|
|
271
286
|
})();
|
|
272
287
|
|
|
@@ -283,18 +298,18 @@ describe('VidazooBidAdapter', function () {
|
|
|
283
298
|
|
|
284
299
|
describe('alternate param names extractors', function () {
|
|
285
300
|
it('should return undefined when param not supported', function () {
|
|
286
|
-
const cid = extractCID({
|
|
287
|
-
const pid = extractPID({
|
|
288
|
-
const subDomain = extractSubDomain({
|
|
301
|
+
const cid = extractCID({'c_id': '1'});
|
|
302
|
+
const pid = extractPID({'p_id': '1'});
|
|
303
|
+
const subDomain = extractSubDomain({'sub_domain': 'prebid'});
|
|
289
304
|
expect(cid).to.be.undefined;
|
|
290
305
|
expect(pid).to.be.undefined;
|
|
291
306
|
expect(subDomain).to.be.undefined;
|
|
292
307
|
});
|
|
293
308
|
|
|
294
309
|
it('should return value when param supported', function () {
|
|
295
|
-
const cid = extractCID({
|
|
296
|
-
const pid = extractPID({
|
|
297
|
-
const subDomain = extractSubDomain({
|
|
310
|
+
const cid = extractCID({'cID': '1'});
|
|
311
|
+
const pid = extractPID({'Pid': '2'});
|
|
312
|
+
const subDomain = extractSubDomain({'subDOMAIN': 'prebid'});
|
|
298
313
|
expect(cid).to.be.equal('1');
|
|
299
314
|
expect(pid).to.be.equal('2');
|
|
300
315
|
expect(subDomain).to.be.equal('prebid');
|
|
@@ -407,7 +422,7 @@ describe('VidazooBidAdapter', function () {
|
|
|
407
422
|
now
|
|
408
423
|
});
|
|
409
424
|
setStorageItem('myKey', 2020);
|
|
410
|
-
const {
|
|
425
|
+
const {value, created} = getStorageItem('myKey');
|
|
411
426
|
expect(created).to.be.equal(now);
|
|
412
427
|
expect(value).to.be.equal(2020);
|
|
413
428
|
expect(typeof value).to.be.equal('number');
|
|
@@ -423,8 +438,8 @@ describe('VidazooBidAdapter', function () {
|
|
|
423
438
|
});
|
|
424
439
|
|
|
425
440
|
it('should parse JSON value', function () {
|
|
426
|
-
const data = JSON.stringify({
|
|
427
|
-
const {
|
|
441
|
+
const data = JSON.stringify({event: 'send'});
|
|
442
|
+
const {event} = tryParseJSON(data);
|
|
428
443
|
expect(event).to.be.equal('send');
|
|
429
444
|
});
|
|
430
445
|
|
|
@@ -334,6 +334,19 @@ describe('YahooSSP Bid Adapter:', () => {
|
|
|
334
334
|
});
|
|
335
335
|
|
|
336
336
|
describe('Schain module support:', () => {
|
|
337
|
+
it('should not include schain data when schain array is empty', function () {
|
|
338
|
+
const { bidRequest, validBidRequests, bidderRequest } = generateBuildRequestMock({});
|
|
339
|
+
const globalSchain = {
|
|
340
|
+
ver: '1.0',
|
|
341
|
+
complete: 1,
|
|
342
|
+
nodes: []
|
|
343
|
+
};
|
|
344
|
+
bidRequest.schain = globalSchain;
|
|
345
|
+
const data = spec.buildRequests(validBidRequests, bidderRequest)[0].data;
|
|
346
|
+
const schain = data.source.ext.schain;
|
|
347
|
+
expect(schain).to.be.undefined;
|
|
348
|
+
});
|
|
349
|
+
|
|
337
350
|
it('should send Global or Bidder specific schain', function () {
|
|
338
351
|
const { bidRequest, validBidRequests, bidderRequest } = generateBuildRequestMock({});
|
|
339
352
|
const globalSchain = {
|
|
@@ -269,7 +269,11 @@ describe('Yieldone Prebid Analytic', function () {
|
|
|
269
269
|
setTimeout(function() {
|
|
270
270
|
events.emit(constants.EVENTS.BID_WON, winner);
|
|
271
271
|
|
|
272
|
-
sinon.assert.callCount(sendStatStub, 2)
|
|
272
|
+
sinon.assert.callCount(sendStatStub, 2)
|
|
273
|
+
const billableEventIndex = yieldoneAnalytics.eventsStorage[auctionId].events.findIndex(event => event.eventType === constants.EVENTS.BILLABLE_EVENT);
|
|
274
|
+
if (billableEventIndex > -1) {
|
|
275
|
+
yieldoneAnalytics.eventsStorage[auctionId].events.splice(billableEventIndex, 1);
|
|
276
|
+
}
|
|
273
277
|
expect(yieldoneAnalytics.eventsStorage[auctionId]).to.deep.equal(wonExpectedResult);
|
|
274
278
|
|
|
275
279
|
delete yieldoneAnalytics.eventsStorage[auctionId];
|
|
@@ -44,6 +44,48 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
44
44
|
test: 1
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
+
const multiImpRequest = [
|
|
48
|
+
{
|
|
49
|
+
bidId: 12345,
|
|
50
|
+
auctionId: 67890,
|
|
51
|
+
mediaTypes: {
|
|
52
|
+
banner: {
|
|
53
|
+
sizes: [[300, 250]],
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
refererInfo: {
|
|
57
|
+
page: 'http://www.zetaglobal.com/page?param=value',
|
|
58
|
+
domain: 'www.zetaglobal.com',
|
|
59
|
+
},
|
|
60
|
+
gdprConsent: {
|
|
61
|
+
gdprApplies: 1,
|
|
62
|
+
consentString: 'consentString'
|
|
63
|
+
},
|
|
64
|
+
uspConsent: 'someCCPAString',
|
|
65
|
+
params: params,
|
|
66
|
+
userIdAsEids: eids
|
|
67
|
+
}, {
|
|
68
|
+
bidId: 54321,
|
|
69
|
+
auctionId: 67890,
|
|
70
|
+
mediaTypes: {
|
|
71
|
+
banner: {
|
|
72
|
+
sizes: [[600, 400]],
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
refererInfo: {
|
|
76
|
+
page: 'http://www.zetaglobal.com/page?param=value',
|
|
77
|
+
domain: 'www.zetaglobal.com',
|
|
78
|
+
},
|
|
79
|
+
gdprConsent: {
|
|
80
|
+
gdprApplies: 1,
|
|
81
|
+
consentString: 'consentString'
|
|
82
|
+
},
|
|
83
|
+
uspConsent: 'someCCPAString',
|
|
84
|
+
params: params,
|
|
85
|
+
userIdAsEids: eids
|
|
86
|
+
}
|
|
87
|
+
];
|
|
88
|
+
|
|
47
89
|
const bannerRequest = [{
|
|
48
90
|
bidId: 12345,
|
|
49
91
|
auctionId: 67890,
|
|
@@ -271,7 +313,7 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
271
313
|
it('Test required params in banner request', function () {
|
|
272
314
|
const request = spec.buildRequests(bannerRequest, bannerRequest[0]);
|
|
273
315
|
const payload = JSON.parse(request.data);
|
|
274
|
-
expect(request.url).to.eql('https://ssp.disqus.com/bid?shortname=test_shortname');
|
|
316
|
+
expect(request.url).to.eql('https://ssp.disqus.com/bid/prebid?shortname=test_shortname');
|
|
275
317
|
expect(payload.ext.sid).to.eql('publisherId');
|
|
276
318
|
expect(payload.ext.tags.someTag).to.eql(444);
|
|
277
319
|
expect(payload.ext.tags.shortname).to.be.undefined;
|
|
@@ -280,9 +322,26 @@ describe('Zeta Ssp Bid Adapter', function () {
|
|
|
280
322
|
it('Test required params in video request', function () {
|
|
281
323
|
const request = spec.buildRequests(videoRequest, videoRequest[0]);
|
|
282
324
|
const payload = JSON.parse(request.data);
|
|
283
|
-
expect(request.url).to.eql('https://ssp.disqus.com/bid?shortname=test_shortname');
|
|
325
|
+
expect(request.url).to.eql('https://ssp.disqus.com/bid/prebid?shortname=test_shortname');
|
|
284
326
|
expect(payload.ext.sid).to.eql('publisherId');
|
|
285
327
|
expect(payload.ext.tags.someTag).to.eql(444);
|
|
286
328
|
expect(payload.ext.tags.shortname).to.be.undefined;
|
|
287
329
|
});
|
|
330
|
+
|
|
331
|
+
it('Test multi imp', function () {
|
|
332
|
+
const request = spec.buildRequests(multiImpRequest, multiImpRequest[0]);
|
|
333
|
+
const payload = JSON.parse(request.data);
|
|
334
|
+
expect(request.url).to.eql('https://ssp.disqus.com/bid/prebid?shortname=test_shortname');
|
|
335
|
+
|
|
336
|
+
expect(payload.imp.length).to.eql(2);
|
|
337
|
+
|
|
338
|
+
expect(payload.imp[0].id).to.eql(12345);
|
|
339
|
+
expect(payload.imp[1].id).to.eql(54321);
|
|
340
|
+
|
|
341
|
+
expect(payload.imp[0].banner.w).to.eql(300);
|
|
342
|
+
expect(payload.imp[0].banner.h).to.eql(250);
|
|
343
|
+
|
|
344
|
+
expect(payload.imp[1].banner.w).to.eql(600);
|
|
345
|
+
expect(payload.imp[1].banner.h).to.eql(400);
|
|
346
|
+
});
|
|
288
347
|
});
|