prebid.js 10.3.0 → 10.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/dependabot.yml +8 -0
- package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.js +1 -1
- package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
- package/dist/chunks/33acrossIdSystem.js +1 -1
- package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
- package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.js +1 -1
- package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
- package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
- package/dist/chunks/adagioUtils.js +1 -1
- package/dist/chunks/addefendBidAdapter.js +1 -1
- package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfBidAdapter.metadata.js +1 -1
- package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
- package/dist/chunks/adgenerationBidAdapter.js +1 -1
- package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
- package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
- package/dist/chunks/adlooxRtdProvider.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerIdSystem.metadata.js +1 -1
- package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
- package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
- package/dist/chunks/adotBidAdapter.metadata.js +1 -1
- package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryBidAdapter.js +1 -1
- package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
- package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
- package/dist/chunks/adrelevantisBidAdapter.js +1 -1
- package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
- package/dist/chunks/adstirBidAdapter.js +1 -1
- package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
- package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
- package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
- package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
- package/dist/chunks/advertisingBidAdapter.js +1 -1
- package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
- package/dist/chunks/adxcgBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.js +1 -1
- package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
- package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
- package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
- package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
- package/dist/chunks/ajaBidAdapter.js +1 -1
- package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxBidAdapter.js +1 -1
- package/dist/chunks/amxBidAdapter.metadata.js +1 -1
- package/dist/chunks/amxIdSystem.js +1 -1
- package/dist/chunks/amxIdSystem.metadata.js +1 -1
- package/dist/chunks/aniviewBidAdapter.js +1 -1
- package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
- package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
- package/dist/chunks/appierAnalyticsAdapter.js +1 -1
- package/dist/chunks/appierBidAdapter.metadata.js +1 -1
- package/dist/chunks/appnexusBidAdapter.js +1 -1
- package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
- package/dist/chunks/appushBidAdapter.metadata.js +1 -1
- package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
- package/dist/chunks/asoBidAdapter.js +1 -1
- package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
- package/dist/chunks/axisBidAdapter.metadata.js +1 -1
- package/dist/chunks/axonixBidAdapter.js +1 -1
- package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
- package/dist/chunks/beopBidAdapter.js +1 -1
- package/dist/chunks/beopBidAdapter.metadata.js +1 -1
- package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidglassBidAdapter.js +1 -1
- package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
- package/dist/chunks/big-richmediaBidAdapter.js +1 -1
- package/dist/chunks/bitmediaBidAdapter.js +1 -1
- package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.js +1 -1
- package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/blueBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
- package/dist/chunks/bmtmBidAdapter.js +1 -1
- package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridBidAdapter.js +1 -1
- package/dist/chunks/bridBidAdapter.metadata.js +1 -1
- package/dist/chunks/bridgewellBidAdapter.js +1 -1
- package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
- package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
- package/dist/chunks/carodaBidAdapter.js +1 -1
- package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
- package/dist/chunks/categoryTranslation.metadata.js +1 -1
- package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
- package/dist/chunks/ceeIdSystem.metadata.js +1 -1
- package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/chtnwBidAdapter.js +1 -1
- package/dist/chunks/chunk-core.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertBidAdapter.js +1 -1
- package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
- package/dist/chunks/connectIdSystem.metadata.js +1 -1
- package/dist/chunks/connectadBidAdapter.js +1 -1
- package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
- package/dist/chunks/consumableBidAdapter.js +1 -1
- package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
- package/dist/chunks/contxtfulBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.js +1 -1
- package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
- package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
- package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
- package/dist/chunks/craftBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.js +1 -1
- package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/criteoIdSystem.metadata.js +1 -1
- package/dist/chunks/cwireBidAdapter.js +1 -1
- package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
- package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.js +1 -1
- package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
- package/dist/chunks/debugging.metadata.js +1 -1
- package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
- package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
- package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
- package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
- package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
- package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
- package/dist/chunks/dspxBidAdapter.js +1 -1
- package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
- package/dist/chunks/dxkultureBidAdapter.js +1 -1
- package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
- package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
- package/dist/chunks/eplanningBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.js +1 -1
- package/dist/chunks/equativBidAdapter.metadata.js +1 -1
- package/dist/chunks/eskimiBidAdapter.js +1 -1
- package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
- package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
- package/dist/chunks/euidIdSystem.js +1 -1
- package/dist/chunks/euidIdSystem.metadata.js +1 -1
- package/dist/chunks/exadsBidAdapter.js +1 -1
- package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/excoBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.js +1 -1
- package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
- package/dist/chunks/finativeBidAdapter.js +1 -1
- package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
- package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
- package/dist/chunks/gmosspBidAdapter.js +1 -1
- package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.js +1 -1
- package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
- package/dist/chunks/greenbidsRtdProvider.js +1 -1
- package/dist/chunks/gridBidAdapter.js +1 -1
- package/dist/chunks/gridBidAdapter.metadata.js +1 -1
- package/dist/chunks/gumgumBidAdapter.js +1 -1
- package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
- package/dist/chunks/h12mediaBidAdapter.js +1 -1
- package/dist/chunks/hadronIdSystem.metadata.js +1 -1
- package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
- package/dist/chunks/holidBidAdapter.metadata.js +1 -1
- package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
- package/dist/chunks/hypelabBidAdapter.js +1 -1
- package/dist/chunks/id5AnalyticsAdapter.js +1 -1
- package/dist/chunks/id5IdSystem.js +1 -1
- package/dist/chunks/id5IdSystem.metadata.js +1 -1
- package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
- package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
- package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.js +1 -1
- package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/inmobiBidAdapter.js +1 -1
- package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/innityBidAdapter.metadata.js +1 -1
- package/dist/chunks/insticatorBidAdapter.js +1 -1
- package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
- package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
- package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
- package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
- package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
- package/dist/chunks/ixBidAdapter.js +1 -1
- package/dist/chunks/ixBidAdapter.metadata.js +1 -1
- package/dist/chunks/jixieBidAdapter.js +1 -1
- package/dist/chunks/justIdSystem.metadata.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.js +1 -1
- package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
- package/dist/chunks/kargoBidAdapter.js +1 -1
- package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
- package/dist/chunks/kimberliteBidAdapter.js +1 -1
- package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
- package/dist/chunks/lassoBidAdapter.js +1 -1
- package/dist/chunks/lifestreetBidAdapter.js +1 -1
- package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/liveIntentId.js +1 -1
- package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
- package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
- package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
- package/dist/chunks/logicadBidAdapter.js +1 -1
- package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
- package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
- package/dist/chunks/luceadBidAdapter.js +1 -1
- package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
- package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mabidderBidAdapter.js +1 -1
- package/dist/chunks/madsenseBidAdapter.js +1 -1
- package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
- package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
- package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.js +1 -1
- package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.js +1 -1
- package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
- package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetBidAdapter.js +1 -1
- package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
- package/dist/chunks/medianetUtils.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.js +1 -1
- package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidBidAdapter.js +1 -1
- package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
- package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
- package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
- package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/missenaBidAdapter.js +1 -1
- package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.js +1 -1
- package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
- package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
- package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
- package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
- package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
- package/dist/chunks/nexx360Utils.js +1 -1
- package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.js +1 -1
- package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.js +1 -1
- package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
- package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
- package/dist/chunks/oguryBidAdapter.js +1 -1
- package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
- package/dist/chunks/omsBidAdapter.metadata.js +1 -1
- package/dist/chunks/onetagBidAdapter.js +1 -1
- package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
- package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
- package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
- package/dist/chunks/openxBidAdapter.js +1 -1
- package/dist/chunks/openxBidAdapter.metadata.js +1 -1
- package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.js +1 -1
- package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
- package/dist/chunks/orbidderBidAdapter.js +1 -1
- package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
- package/dist/chunks/outbrainBidAdapter.js +1 -1
- package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
- package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/pairIdSystem.metadata.js +1 -1
- package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
- package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.js +1 -1
- package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
- package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prebid-core.metadata.js +1 -1
- package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
- package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
- package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
- package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/publinkIdSystem.js +1 -1
- package/dist/chunks/publinkIdSystem.metadata.js +1 -1
- package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.js +1 -1
- package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
- package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastBidAdapter.js +1 -1
- package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
- package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
- package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
- package/dist/chunks/raynRtdProvider.metadata.js +1 -1
- package/dist/chunks/readpeakBidAdapter.js +1 -1
- package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
- package/dist/chunks/relaidoBidAdapter.js +1 -1
- package/dist/chunks/relayBidAdapter.metadata.js +1 -1
- package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/retailspotBidAdapter.js +1 -1
- package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
- package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.js +1 -1
- package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseBidAdapter.metadata.js +1 -1
- package/dist/chunks/riseUtils.js +1 -1
- package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
- package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
- package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
- package/dist/chunks/seedtagBidAdapter.js +1 -1
- package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
- package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
- package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
- package/dist/chunks/sevioBidAdapter.js +1 -1
- package/dist/chunks/sevioBidAdapter.metadata.js +1 -1
- package/dist/chunks/sharedIdSystem.metadata.js +1 -1
- package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.js +1 -1
- package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
- package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
- package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
- package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
- package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
- package/dist/chunks/smaatoBidAdapter.js +1 -1
- package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.js +1 -1
- package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartxBidAdapter.js +1 -1
- package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
- package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.js +1 -1
- package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
- package/dist/chunks/snigelBidAdapter.js +1 -1
- package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.js +1 -1
- package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
- package/dist/chunks/sonobiBidAdapter.js +1 -1
- package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
- package/dist/chunks/sovrnBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.js +1 -1
- package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
- package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
- package/dist/chunks/sspBCBidAdapter.js +1 -1
- package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
- package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
- package/dist/chunks/startioBidAdapter.metadata.js +1 -1
- package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
- package/dist/chunks/stvBidAdapter.js +1 -1
- package/dist/chunks/stvBidAdapter.metadata.js +1 -1
- package/dist/chunks/sublimeBidAdapter.js +1 -1
- package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaBidAdapter.js +1 -1
- package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
- package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
- package/dist/chunks/tappxBidAdapter.js +1 -1
- package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.js +1 -1
- package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsBidAdapter.js +1 -1
- package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
- package/dist/chunks/teadsIdSystem.metadata.js +1 -1
- package/dist/chunks/tealBidAdapter.metadata.js +1 -1
- package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
- package/dist/chunks/themoneytizerBidAdapter.js +1 -1
- package/dist/chunks/tncIdSystem.metadata.js +1 -1
- package/dist/chunks/topicsFpdModule.metadata.js +1 -1
- package/dist/chunks/trionBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.js +1 -1
- package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/ttdBidAdapter.js +1 -1
- package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
- package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
- package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/chunks/uid2IdSystem.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.js +1 -1
- package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
- package/dist/chunks/undertoneBidAdapter.js +1 -1
- package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
- package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
- package/dist/chunks/unrulyBidAdapter.js +1 -1
- package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidazooUtils.js +1 -1
- package/dist/chunks/videobyteBidAdapter.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
- package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
- package/dist/chunks/visxBidAdapter.js +1 -1
- package/dist/chunks/visxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
- package/dist/chunks/voxBidAdapter.metadata.js +1 -1
- package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
- package/dist/chunks/vuukleBidAdapter.js +1 -1
- package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
- package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
- package/dist/chunks/welectBidAdapter.metadata.js +1 -1
- package/dist/chunks/widespaceBidAdapter.js +1 -1
- package/dist/chunks/winrBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.js +1 -1
- package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
- package/dist/chunks/yandexBidAdapter.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.js +1 -1
- package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
- package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
- package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
- package/dist/not-for-prod/prebid.js +424 -424
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
- package/dist/src/libraries/liveIntentId/shared.js +20 -0
- package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
- package/dist/src/libraries/medianetUtils/constants.js +1 -1
- package/dist/src/libraries/nexx360Utils/index.js +1 -1
- package/dist/src/libraries/riseUtils/index.js +1 -1
- package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
- package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
- package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
- package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
- package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
- package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
- package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
- package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
- package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
- package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
- package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/amxIdSystem.js +1 -1
- package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
- package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
- package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
- package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
- package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
- package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
- package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
- package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
- package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/categoryTranslation.js +1 -1
- package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
- package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/connectIdSystem.js +1 -1
- package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
- package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
- package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
- package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
- package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/debugging.js +1 -1
- package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
- package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
- package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
- package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
- package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/euidIdSystem.js +1 -1
- package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
- package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
- package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
- package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
- package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
- package/dist/src/metadata/modules/id5IdSystem.js +1 -1
- package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
- package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
- package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
- package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
- package/dist/src/metadata/modules/justIdSystem.js +1 -1
- package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
- package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
- package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
- package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
- package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
- package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
- package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
- package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
- package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
- package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
- package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
- package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
- package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pairIdSystem.js +1 -1
- package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
- package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prebid-core.js +1 -1
- package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
- package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
- package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
- package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
- package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
- package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
- package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
- package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
- package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
- package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
- package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sevioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
- package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
- package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
- package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
- package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
- package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
- package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
- package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
- package/dist/src/metadata/modules/tncIdSystem.js +1 -1
- package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
- package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
- package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
- package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/userId.js +1 -1
- package/dist/src/metadata/modules/validationFpdModule.js +1 -1
- package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
- package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
- package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
- package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
- package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
- package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
- package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
- package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
- package/dist/src/modules/33acrossBidAdapter.js +1 -1
- package/dist/src/modules/33acrossIdSystem.js +1 -1
- package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adagioBidAdapter.js +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +2 -2
- package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
- package/dist/src/modules/adxcgBidAdapter.js +1 -1
- package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
- package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/amxBidAdapter.js +2 -2
- package/dist/src/modules/amxIdSystem.js +1 -1
- package/dist/src/modules/aniviewBidAdapter.js +1 -1
- package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
- package/dist/src/modules/appnexusBidAdapter.js +2 -2
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bitmediaBidAdapter.js +1 -1
- package/dist/src/modules/blockthroughBidAdapter.js +1 -1
- package/dist/src/modules/bmtmBidAdapter.js +1 -1
- package/dist/src/modules/bridBidAdapter.js +1 -1
- package/dist/src/modules/bridgewellBidAdapter.js +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/concertBidAdapter.js +1 -1
- package/dist/src/modules/connectadBidAdapter.js +1 -1
- package/dist/src/modules/consumableBidAdapter.js +1 -1
- package/dist/src/modules/contxtfulBidAdapter.js +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +2 -2
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +1 -1
- package/dist/src/modules/equativBidAdapter.js +1 -1
- package/dist/src/modules/eskimiBidAdapter.js +1 -1
- package/dist/src/modules/euidIdSystem.js +1 -1
- package/dist/src/modules/exadsBidAdapter.js +1 -1
- package/dist/src/modules/excoBidAdapter.js +3 -3
- package/dist/src/modules/feedadBidAdapter.js +2 -2
- package/dist/src/modules/finativeBidAdapter.js +1 -1
- package/dist/src/modules/gmosspBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
- package/dist/src/modules/greenbidsBidAdapter.js +1 -1
- package/dist/src/modules/greenbidsRtdProvider.js +1 -1
- package/dist/src/modules/gridBidAdapter.js +2 -2
- package/dist/src/modules/gumgumBidAdapter.js +2 -2
- package/dist/src/modules/h12mediaBidAdapter.js +1 -1
- package/dist/src/modules/hypelabBidAdapter.js +1 -1
- package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
- package/dist/src/modules/id5IdSystem.js +1 -1
- package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
- package/dist/src/modules/inmobiBidAdapter.js +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +1 -1
- package/dist/src/modules/kargoBidAdapter.js +1 -1
- package/dist/src/modules/kimberliteBidAdapter.js +1 -1
- package/dist/src/modules/lassoBidAdapter.js +1 -1
- package/dist/src/modules/lifestreetBidAdapter.js +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
- package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
- package/dist/src/modules/marsmediaBidAdapter.js +1 -1
- package/dist/src/modules/mediafuseBidAdapter.js +2 -2
- package/dist/src/modules/medianetBidAdapter.js +1 -1
- package/dist/src/modules/mediasquareBidAdapter.js +2 -2
- package/dist/src/modules/mgidBidAdapter.js +1 -1
- package/dist/src/modules/missenaBidAdapter.js +1 -1
- package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
- package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
- package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
- package/dist/src/modules/nobidBidAdapter.js +1 -1
- package/dist/src/modules/nodalsAiRtdProvider.js +1 -1
- package/dist/src/modules/oguryBidAdapter.js +1 -1
- package/dist/src/modules/onetagBidAdapter.js +1 -1
- package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
- package/dist/src/modules/openxBidAdapter.js +7 -2
- package/dist/src/modules/openxBidAdapter.js.map +1 -1
- package/dist/src/modules/optidigitalBidAdapter.js +1 -1
- package/dist/src/modules/orbidderBidAdapter.js +1 -1
- package/dist/src/modules/outbrainBidAdapter.js +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/priceFloors.d.ts +2 -2
- package/dist/src/modules/priceFloors.js.map +1 -1
- package/dist/src/modules/publinkIdSystem.js +1 -1
- package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
- package/dist/src/modules/pubmaticBidAdapter.js +23 -3
- package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
- package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/readpeakBidAdapter.js +1 -1
- package/dist/src/modules/relaidoBidAdapter.js +1 -1
- package/dist/src/modules/retailspotBidAdapter.js +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +1 -1
- package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
- package/dist/src/modules/seedtagBidAdapter.js +1 -1
- package/dist/src/modules/sevioBidAdapter.js +4 -1
- package/dist/src/modules/sevioBidAdapter.js.map +1 -1
- package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/src/modules/sharethroughBidAdapter.js +1 -1
- package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
- package/dist/src/modules/smaatoBidAdapter.js +1 -1
- package/dist/src/modules/smartadserverBidAdapter.js +1 -1
- package/dist/src/modules/smartxBidAdapter.js +1 -1
- package/dist/src/modules/smilewantedBidAdapter.js +1 -1
- package/dist/src/modules/snigelBidAdapter.js +1 -1
- package/dist/src/modules/sonaradsBidAdapter.js +2 -2
- package/dist/src/modules/sonobiBidAdapter.js +1 -1
- package/dist/src/modules/sovrnBidAdapter.js +1 -1
- package/dist/src/modules/sparteoBidAdapter.js +1 -1
- package/dist/src/modules/sspBCBidAdapter.js +1 -1
- package/dist/src/modules/stvBidAdapter.js +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tappxBidAdapter.js +1 -1
- package/dist/src/modules/targetVideoBidAdapter.js +1 -1
- package/dist/src/modules/teadsBidAdapter.js +1 -1
- package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
- package/dist/src/modules/themoneytizerBidAdapter.js +1 -1
- package/dist/src/modules/trionBidAdapter.js +1 -1
- package/dist/src/modules/tripleliftBidAdapter.js +1 -1
- package/dist/src/modules/ttdBidAdapter.js +1 -1
- package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/src/modules/uid2IdSystem.js +1 -1
- package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
- package/dist/src/modules/undertoneBidAdapter.js +1 -1
- package/dist/src/modules/unrulyBidAdapter.js +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/visxBidAdapter.js +1 -1
- package/dist/src/modules/vuukleBidAdapter.js +1 -1
- package/dist/src/modules/widespaceBidAdapter.js +1 -1
- package/dist/src/modules/winrBidAdapter.js +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +2 -2
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/targeting.d.ts +4 -4
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/src/types/summary/core.d.ts +1 -1
- package/dist/src/src/types/summary/modules.d.ts +2 -2
- package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
- package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
- package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
- package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
- package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
- package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
- package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +9 -9
- package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
- package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
- package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
- package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
- package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
- package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
- package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
- package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
- package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
- package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
- package/gulpfile.js +0 -7
- package/libraries/liveIntentId/shared.js +16 -0
- package/metadata/modules/33acrossBidAdapter.json +1 -1
- package/metadata/modules/33acrossIdSystem.json +1 -1
- package/metadata/modules/acuityadsBidAdapter.json +1 -1
- package/metadata/modules/adagioBidAdapter.json +1 -1
- package/metadata/modules/adagioRtdProvider.json +1 -1
- package/metadata/modules/addefendBidAdapter.json +1 -1
- package/metadata/modules/adfBidAdapter.json +1 -1
- package/metadata/modules/adfusionBidAdapter.json +1 -1
- package/metadata/modules/adheseBidAdapter.json +1 -1
- package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
- package/metadata/modules/adkernelBidAdapter.json +4 -4
- package/metadata/modules/admaticBidAdapter.json +2 -2
- package/metadata/modules/admixerBidAdapter.json +1 -1
- package/metadata/modules/admixerIdSystem.json +1 -1
- package/metadata/modules/adnowBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusBidAdapter.json +1 -1
- package/metadata/modules/adnuntiusRtdProvider.json +1 -1
- package/metadata/modules/adotBidAdapter.json +1 -1
- package/metadata/modules/adponeBidAdapter.json +1 -1
- package/metadata/modules/adqueryBidAdapter.json +1 -1
- package/metadata/modules/adqueryIdSystem.json +1 -1
- package/metadata/modules/adrinoBidAdapter.json +1 -1
- package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
- package/metadata/modules/adtargetBidAdapter.json +1 -1
- package/metadata/modules/adtelligentBidAdapter.json +3 -3
- package/metadata/modules/adtelligentIdSystem.json +1 -1
- package/metadata/modules/aduptechBidAdapter.json +1 -1
- package/metadata/modules/adyoulikeBidAdapter.json +1 -1
- package/metadata/modules/aidemBidAdapter.json +1 -1
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +1 -1
- package/metadata/modules/amxBidAdapter.json +1 -1
- package/metadata/modules/amxIdSystem.json +1 -1
- package/metadata/modules/aniviewBidAdapter.json +1 -1
- package/metadata/modules/anonymisedRtdProvider.json +1 -1
- package/metadata/modules/appierBidAdapter.json +1 -1
- package/metadata/modules/appnexusBidAdapter.json +5 -5
- package/metadata/modules/appushBidAdapter.json +1 -1
- package/metadata/modules/apstreamBidAdapter.json +1 -1
- package/metadata/modules/audiencerunBidAdapter.json +1 -1
- package/metadata/modules/axisBidAdapter.json +1 -1
- package/metadata/modules/azerionedgeRtdProvider.json +1 -1
- package/metadata/modules/beopBidAdapter.json +1 -1
- package/metadata/modules/betweenBidAdapter.json +1 -1
- package/metadata/modules/bidmaticBidAdapter.json +1 -1
- package/metadata/modules/bidtheatreBidAdapter.json +1 -1
- package/metadata/modules/bliinkBidAdapter.json +1 -1
- package/metadata/modules/blockthroughBidAdapter.json +1 -1
- package/metadata/modules/blueBidAdapter.json +1 -1
- package/metadata/modules/bmsBidAdapter.json +1 -1
- package/metadata/modules/boldwinBidAdapter.json +1 -1
- package/metadata/modules/bridBidAdapter.json +1 -1
- package/metadata/modules/browsiBidAdapter.json +1 -1
- package/metadata/modules/bucksenseBidAdapter.json +1 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +1 -1
- package/metadata/modules/ceeIdSystem.json +1 -1
- package/metadata/modules/chromeAiRtdProvider.json +1 -1
- package/metadata/modules/compassBidAdapter.json +1 -1
- package/metadata/modules/conceptxBidAdapter.json +1 -1
- package/metadata/modules/connatixBidAdapter.json +1 -1
- package/metadata/modules/connectIdSystem.json +1 -1
- package/metadata/modules/connectadBidAdapter.json +1 -1
- package/metadata/modules/contentexchangeBidAdapter.json +1 -1
- package/metadata/modules/conversantBidAdapter.json +1 -1
- package/metadata/modules/copper6sspBidAdapter.json +1 -1
- package/metadata/modules/cpmstarBidAdapter.json +1 -1
- package/metadata/modules/criteoBidAdapter.json +1 -1
- package/metadata/modules/criteoIdSystem.json +1 -1
- package/metadata/modules/cwireBidAdapter.json +1 -1
- package/metadata/modules/czechAdIdSystem.json +1 -1
- package/metadata/modules/dailymotionBidAdapter.json +1 -1
- package/metadata/modules/debugging.json +1 -1
- package/metadata/modules/deepintentBidAdapter.json +1 -1
- package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
- package/metadata/modules/dianomiBidAdapter.json +1 -1
- package/metadata/modules/digitalMatterBidAdapter.json +1 -1
- package/metadata/modules/distroscaleBidAdapter.json +1 -1
- package/metadata/modules/docereeAdManagerBidAdapter.json +1 -1
- package/metadata/modules/docereeBidAdapter.json +1 -1
- package/metadata/modules/dspxBidAdapter.json +1 -1
- package/metadata/modules/e_volutionBidAdapter.json +1 -1
- package/metadata/modules/edge226BidAdapter.json +1 -1
- package/metadata/modules/equativBidAdapter.json +1 -1
- package/metadata/modules/eskimiBidAdapter.json +1 -1
- package/metadata/modules/etargetBidAdapter.json +1 -1
- package/metadata/modules/euidIdSystem.json +1 -1
- package/metadata/modules/exadsBidAdapter.json +1 -1
- package/metadata/modules/feedadBidAdapter.json +1 -1
- package/metadata/modules/fwsspBidAdapter.json +1 -1
- package/metadata/modules/gamoshiBidAdapter.json +1 -1
- package/metadata/modules/glomexBidAdapter.json +1 -1
- package/metadata/modules/goldbachBidAdapter.json +1 -1
- package/metadata/modules/greenbidsBidAdapter.json +1 -1
- package/metadata/modules/gridBidAdapter.json +1 -1
- package/metadata/modules/gumgumBidAdapter.json +1 -1
- package/metadata/modules/hadronIdSystem.json +1 -1
- package/metadata/modules/hadronRtdProvider.json +1 -1
- package/metadata/modules/holidBidAdapter.json +1 -1
- package/metadata/modules/hybridBidAdapter.json +1 -1
- package/metadata/modules/id5IdSystem.json +1 -1
- package/metadata/modules/identityLinkIdSystem.json +1 -1
- package/metadata/modules/illuminBidAdapter.json +1 -1
- package/metadata/modules/impactifyBidAdapter.json +1 -1
- package/metadata/modules/improvedigitalBidAdapter.json +1 -1
- package/metadata/modules/inmobiBidAdapter.json +1 -1
- package/metadata/modules/innityBidAdapter.json +1 -1
- package/metadata/modules/insticatorBidAdapter.json +1 -1
- package/metadata/modules/intentIqIdSystem.json +1 -1
- package/metadata/modules/invibesBidAdapter.json +1 -1
- package/metadata/modules/ipromBidAdapter.json +1 -1
- package/metadata/modules/ixBidAdapter.json +1 -1
- package/metadata/modules/justIdSystem.json +1 -1
- package/metadata/modules/justpremiumBidAdapter.json +1 -1
- package/metadata/modules/jwplayerBidAdapter.json +1 -1
- package/metadata/modules/kargoBidAdapter.json +1 -1
- package/metadata/modules/kueezRtbBidAdapter.json +1 -1
- package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
- package/metadata/modules/liveIntentIdSystem.json +1 -1
- package/metadata/modules/liveIntentRtdProvider.json +1 -1
- package/metadata/modules/livewrappedBidAdapter.json +1 -1
- package/metadata/modules/loopmeBidAdapter.json +1 -1
- package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
- package/metadata/modules/luceadBidAdapter.json +1 -1
- package/metadata/modules/luponmediaBidAdapter.json +1 -1
- package/metadata/modules/madvertiseBidAdapter.json +1 -1
- package/metadata/modules/marsmediaBidAdapter.json +1 -1
- package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
- package/metadata/modules/mediaforceBidAdapter.json +1 -1
- package/metadata/modules/mediafuseBidAdapter.json +1 -1
- package/metadata/modules/mediagoBidAdapter.json +1 -1
- package/metadata/modules/mediakeysBidAdapter.json +1 -1
- package/metadata/modules/medianetBidAdapter.json +2 -2
- package/metadata/modules/mediasquareBidAdapter.json +1 -1
- package/metadata/modules/mgidBidAdapter.json +1 -1
- package/metadata/modules/mgidRtdProvider.json +1 -1
- package/metadata/modules/mgidXBidAdapter.json +1 -1
- package/metadata/modules/minutemediaBidAdapter.json +1 -1
- package/metadata/modules/missenaBidAdapter.json +1 -1
- package/metadata/modules/mobianRtdProvider.json +1 -1
- package/metadata/modules/mobilefuseBidAdapter.json +1 -1
- package/metadata/modules/mobkoiBidAdapter.json +1 -1
- package/metadata/modules/mobkoiIdSystem.json +1 -1
- package/metadata/modules/nativeryBidAdapter.json +1 -1
- package/metadata/modules/nativoBidAdapter.json +1 -1
- package/metadata/modules/newspassidBidAdapter.json +1 -1
- package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
- package/metadata/modules/nextrollBidAdapter.json +1 -1
- package/metadata/modules/nexx360BidAdapter.json +5 -5
- package/metadata/modules/nobidBidAdapter.json +2 -2
- package/metadata/modules/nodalsAiRtdProvider.json +1 -1
- package/metadata/modules/novatiqIdSystem.json +1 -1
- package/metadata/modules/oguryBidAdapter.json +1 -1
- package/metadata/modules/omsBidAdapter.json +1 -1
- package/metadata/modules/onetagBidAdapter.json +1 -1
- package/metadata/modules/openwebBidAdapter.json +1 -1
- package/metadata/modules/openxBidAdapter.json +1 -1
- package/metadata/modules/operaadsBidAdapter.json +1 -1
- package/metadata/modules/optidigitalBidAdapter.json +1 -1
- package/metadata/modules/optoutBidAdapter.json +1 -1
- package/metadata/modules/orbidderBidAdapter.json +1 -1
- package/metadata/modules/outbrainBidAdapter.json +1 -1
- package/metadata/modules/ozoneBidAdapter.json +1 -1
- package/metadata/modules/pairIdSystem.json +1 -1
- package/metadata/modules/performaxBidAdapter.json +1 -1
- package/metadata/modules/pgamsspBidAdapter.json +1 -1
- package/metadata/modules/pixfutureBidAdapter.json +1 -1
- package/metadata/modules/playdigoBidAdapter.json +1 -1
- package/metadata/modules/prebid-core.json +2 -2
- package/metadata/modules/precisoBidAdapter.json +1 -1
- package/metadata/modules/prismaBidAdapter.json +1 -1
- package/metadata/modules/programmaticXBidAdapter.json +1 -1
- package/metadata/modules/proxistoreBidAdapter.json +1 -1
- package/metadata/modules/publinkIdSystem.json +1 -1
- package/metadata/modules/pubmaticBidAdapter.json +1 -1
- package/metadata/modules/pubmaticIdSystem.json +1 -1
- package/metadata/modules/pulsepointBidAdapter.json +1 -1
- package/metadata/modules/qtBidAdapter.json +1 -1
- package/metadata/modules/quantcastBidAdapter.json +1 -1
- package/metadata/modules/quantcastIdSystem.json +1 -1
- package/metadata/modules/r2b2BidAdapter.json +1 -1
- package/metadata/modules/raynRtdProvider.json +1 -1
- package/metadata/modules/readpeakBidAdapter.json +1 -1
- package/metadata/modules/relayBidAdapter.json +1 -1
- package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
- package/metadata/modules/resetdigitalBidAdapter.json +1 -1
- package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
- package/metadata/modules/retailspotBidAdapter.json +1 -1
- package/metadata/modules/revcontentBidAdapter.json +1 -1
- package/metadata/modules/rhythmoneBidAdapter.json +1 -1
- package/metadata/modules/richaudienceBidAdapter.json +1 -1
- package/metadata/modules/riseBidAdapter.json +2 -2
- package/metadata/modules/rixengineBidAdapter.json +1 -1
- package/metadata/modules/rtbhouseBidAdapter.json +1 -1
- package/metadata/modules/rubiconBidAdapter.json +1 -1
- package/metadata/modules/scatteredBidAdapter.json +1 -1
- package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
- package/metadata/modules/seedtagBidAdapter.json +1 -1
- package/metadata/modules/semantiqRtdProvider.json +1 -1
- package/metadata/modules/setupadBidAdapter.json +1 -1
- package/metadata/modules/sevioBidAdapter.json +1 -1
- package/metadata/modules/sharedIdSystem.json +1 -1
- package/metadata/modules/sharethroughBidAdapter.json +1 -1
- package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
- package/metadata/modules/silvermobBidAdapter.json +1 -1
- package/metadata/modules/sirdataRtdProvider.json +1 -1
- package/metadata/modules/slimcutBidAdapter.json +1 -1
- package/metadata/modules/smaatoBidAdapter.json +1 -1
- package/metadata/modules/smartadserverBidAdapter.json +1 -1
- package/metadata/modules/smartxBidAdapter.json +1 -1
- package/metadata/modules/smartyadsBidAdapter.json +1 -1
- package/metadata/modules/smilewantedBidAdapter.json +1 -1
- package/metadata/modules/snigelBidAdapter.json +1 -1
- package/metadata/modules/sonaradsBidAdapter.json +1 -1
- package/metadata/modules/sonobiBidAdapter.json +1 -1
- package/metadata/modules/sparteoBidAdapter.json +1 -1
- package/metadata/modules/ssmasBidAdapter.json +1 -1
- package/metadata/modules/sspBCBidAdapter.json +1 -1
- package/metadata/modules/stackadaptBidAdapter.json +1 -1
- package/metadata/modules/startioBidAdapter.json +1 -1
- package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
- package/metadata/modules/stvBidAdapter.json +1 -1
- package/metadata/modules/sublimeBidAdapter.json +1 -1
- package/metadata/modules/taboolaBidAdapter.json +1 -1
- package/metadata/modules/taboolaIdSystem.json +1 -1
- package/metadata/modules/tappxBidAdapter.json +1 -1
- package/metadata/modules/targetVideoBidAdapter.json +1 -1
- package/metadata/modules/teadsBidAdapter.json +1 -1
- package/metadata/modules/teadsIdSystem.json +1 -1
- package/metadata/modules/tealBidAdapter.json +1 -1
- package/metadata/modules/tncIdSystem.json +1 -1
- package/metadata/modules/topicsFpdModule.json +1 -1
- package/metadata/modules/tripleliftBidAdapter.json +1 -1
- package/metadata/modules/ttdBidAdapter.json +1 -1
- package/metadata/modules/twistDigitalBidAdapter.json +1 -1
- package/metadata/modules/underdogmediaBidAdapter.json +1 -1
- package/metadata/modules/undertoneBidAdapter.json +1 -1
- package/metadata/modules/unifiedIdSystem.json +1 -1
- package/metadata/modules/unrulyBidAdapter.json +1 -1
- package/metadata/modules/userId.json +1 -1
- package/metadata/modules/validationFpdModule.json +1 -1
- package/metadata/modules/vidazooBidAdapter.json +1 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
- package/metadata/modules/viouslyBidAdapter.json +1 -1
- package/metadata/modules/visxBidAdapter.json +1 -1
- package/metadata/modules/vlybyBidAdapter.json +1 -1
- package/metadata/modules/voxBidAdapter.json +1 -1
- package/metadata/modules/vrtcalBidAdapter.json +1 -1
- package/metadata/modules/vuukleBidAdapter.json +1 -1
- package/metadata/modules/weboramaRtdProvider.json +1 -1
- package/metadata/modules/welectBidAdapter.json +1 -1
- package/metadata/modules/yahooAdsBidAdapter.json +1 -1
- package/metadata/modules/yieldlabBidAdapter.json +1 -1
- package/metadata/modules/yieldliftBidAdapter.json +1 -1
- package/metadata/modules/yieldloveBidAdapter.json +1 -1
- package/metadata/modules/yieldmoBidAdapter.json +1 -1
- package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
- package/metadata/modules/zeta_globalBidAdapter.json +1 -1
- package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
- package/modules/openxBidAdapter.js +6 -1
- package/modules/priceFloors.ts +2 -2
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/sevioBidAdapter.js +4 -1
- package/package.json +2 -3
- package/src/targeting.ts +3 -3
- package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
- package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +70 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubmaticBidAdapter_spec.js","names":["expect","spec","cpmAdjustment","addViewabilityToImp","utils","bidderSettings","config","describe","firstBid","videoBid","firstResponse","response","videoResponse","request","adUnitCode","bidder","mediaTypes","banner","sizes","pos","params","publisherId","adSlot","kadfloor","pmzoneid","yob","gender","lat","lon","wiid","profId","verId","currency","dctr","deals","placementCode","bidId","requestId","bidderRequestId","ortb2","device","w","h","sua","language","js","connectiontype","site","domain","page","source","ortb2Imp","ext","tid","gpid","data","pbadslot","adserver","name","adslot","customData","id","cur","seatbid","validBidRequests","bidderRequest","bids","auctionId","auctionStart","bidderCode","refererInfo","ref","timeout","videoBidRequest","videoBidderRequest","utilsLogWarnMock","nativeBidderRequest","it","isValid","isBidRequestValid","to","equal","bid","deepClone","beforeEach","video","playerSize","protocols","context","skippable","skip","linearity","mimes","bidRequestWithPrevAuction","bidderRequestWithPrevAuction","prebid","previousauctioninfo","buildRequests","have","property","previousAuctionInfo","deep","imp","be","an","with","lengthOf","not","singleSizeBid","singleSizeBidderRequest","sinon","stub","minduration","maxduration","startdelay","playbackmethod","api","battr","placement","plcmt","minbitrate","maxbitrate","afterEach","restore","assert","called","logWarn","undefined","nativeOrtbRequest","ver","assets","img","required","native","title","length","image","sponsoredBy","bcat","acat","include","members","options","bidderSettingStub","returns","withArgs","marketplace","allowedbidders","copiedBidderRequest","app","badv","copiedValidBidRequests","wrapper","user","consent","regs","gpp","gpp_sid","that","eql","dsa","dsarequired","pubrender","datatopub","transparency","dsaparams","global","onBidWon","cpm","originalCpm","originalCurrency","mediaType","meta","adjustment","Number","toFixed","metaMediaType","bidResponse","interpretResponse","copiedResponse","body","deal_channel","dealid","cat","resetConfig","setConfig","coppa","gdprConsent","gdprApplies","consentString","uspConsent","gppConsent","gppString","applicableSections","sync","getUserSyncs","iframeEnabled","type","url","element","originalGetElementById","originalVisibilityState","sandbox","createSandbox","document","createElement","appendChild","getElementById","callsFake","visibilityState","Object","defineProperty","value","configurable","window","removeChild","isIframeStub","viewability","amount","exist"],"sourceRoot":"../../../../..","sources":["test/spec/modules/pubmaticBidAdapter_spec.js"],"sourcesContent":["import { expect } from 'chai';\nimport { spec, cpmAdjustment, addViewabilityToImp } from 'modules/pubmaticBidAdapter.js';\nimport * as utils from 'src/utils.js';\nimport { bidderSettings } from 'src/bidderSettings.js';\nimport { config } from 'src/config.js';\n\ndescribe('PubMatic adapter', () => {\n let firstBid, videoBid, firstResponse, response, videoResponse;\n const request = {};\n firstBid = {\n adUnitCode: 'Div1',\n bidder: 'pubmatic',\n mediaTypes: {\n banner: {\n sizes: [[728, 90], [160, 600]],\n pos: 1\n }\n },\n params: {\n publisherId: '5670',\n adSlot: '/15671365/DMDemo@300x250:0',\n kadfloor: '1.2',\n pmzoneid: 'aabc, ddef',\n // kadpageurl: 'www.publisher.com',\n yob: '1986',\n gender: 'M',\n lat: '12.3',\n lon: '23.7',\n wiid: '1234567890',\n profId: '100',\n verId: '200',\n currency: 'AUD',\n dctr: 'key1:val1,val2|key2:val1',\n deals: ['deal-1', 'deal-2']\n },\n placementCode: '/19968336/header-bid-tag-1',\n sizes: [\n [300, 250],\n [300, 600],\n ['fluid']\n ],\n bidId: '3736271c3c4b27',\n requestId: '0fb4905b-9456-4152-86be-c6f6d259ba99',\n bidderRequestId: '1c56ad30b9b8ca8',\n ortb2: {\n device: {\n w: 1200,\n h: 1800,\n sua: {},\n language: 'en',\n js: 1,\n connectiontype: 6\n },\n site: {domain: 'ebay.com', page: 'https://ebay.com'},\n source: {}\n },\n ortb2Imp: {\n ext: {\n tid: '92489f71-1bf2-49a0-adf9-000cea934729',\n gpid: '/1111/homepage-leftnav',\n data: {\n pbadslot: '/1111/homepage-leftnav',\n adserver: {\n name: 'gam',\n adslot: '/1111/homepage-leftnav'\n },\n customData: {\n id: 'id-1'\n }\n }\n }\n },\n }\n videoBid = {\n 'seat': 'seat-id',\n 'ext': {\n 'buyid': 'BUYER-ID-987'\n },\n 'bid': [{\n 'id': '74858439-49D7-4169-BA5D-44A046315B2F',\n 'impid': '3736271c3c4b27',\n 'price': 1.3,\n 'adm': '<VAST version=\"3.0\"><Ad id=\"601364\"><InLine><AdSystem>Acudeo Compatible</AdSystem><AdTitle>VAST 2.0 Instream Test 1</AdTitle><Description>VAST 2.0 Instream Test 1</Description><Impression><![CDATA[http://172.16.4.213/AdServer/AdDisplayTrackerServlet?operId=1&pubId=5890&siteId=47163&adId=1405268&adType=13&adServerId=243&kefact=70.000000&kaxefact=70.000000&kadNetFrequecy=0&kadwidth=0&kadheight=0&kadsizeid=97&kltstamp=1529929473&indirectAdId=0&adServerOptimizerId=2&ranreq=0.1&kpbmtpfact=100.000000&dcId=1&tldId=0&passback=0&svr=MADS1107&ekefact=Ad8wW91TCwCmdG0jlfjXn7Tyzh20hnTVx-m5DoNSep-RXGDr&ekaxefact=Ad8wWwRUCwAGir4Zzl1eF0bKiC-qrCV0D0yp_eE7YizB_BQk&ekpbmtpfact=Ad8wWxRUCwD7qgzwwPE2LnS5-Ou19uO5amJl1YT6-XVFvQ41&imprId=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&oid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&crID=creative-1_1_2&ucrid=160175026529250297&campaignId=17050&creativeId=0&pctr=0.000000&wDSPByrId=511&wDspId=6&wbId=0&wrId=0&wAdvID=3170&isRTB=1&rtbId=EBCA079F-8D7C-45B8-B733-92951F670AA1&pmZoneId=zone1&pageURL=www.yahoo.com&lpu=ae.com]]></Impression><Impression>https://dsptracker.com/{PSPM}</Impression><Error><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&er=[ERRORCODE]]]></Error><Error><![CDATA[https://Errortrack.com?p=1234&er=[ERRORCODE]]]></Error><Creatives><Creative AdID=\"601364\"><Linear skipoffset=\"20%\"><TrackingEvents><Tracking event=\"close\"><![CDATA[https://mytracking.com/linear/close]]></Tracking><Tracking event=\"skip\"><![CDATA[https://mytracking.com/linear/skip]]></Tracking><Tracking event=\"creativeView\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=1]]></Tracking><Tracking event=\"start\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=2]]></Tracking><Tracking event=\"midpoint\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=3]]></Tracking><Tracking event=\"firstQuartile\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=4]]></Tracking><Tracking event=\"thirdQuartile\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=5]]></Tracking><Tracking event=\"complete\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=6]]></Tracking></TrackingEvents><Duration>00:00:04</Duration><VideoClicks><ClickTracking><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=99]]></ClickTracking><ClickThrough>https://www.pubmatic.com</ClickThrough></VideoClicks><MediaFiles><MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"500\" width=\"400\" height=\"300\" scalable=\"true\" maintainAspectRatio=\"true\"><![CDATA[https://stagingnyc.pubmatic.com:8443/video/Shashank/mediaFileHost/media/mp4-sample-2.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>',\n 'adomain': ['blackrock.com'],\n 'h': 250,\n 'w': 300,\n 'ext': {\n 'deal_channel': 6,\n 'advid': 976,\n 'dspid': 123\n },\n 'dealid': 'PUBDEAL1',\n 'mtype': 2\n }]\n };\n firstResponse = {\n 'seat': 'seat-id',\n 'ext': {\n 'buyid': 'BUYER-ID-987'\n },\n 'bid': [{\n 'id': '74858439-49D7-4169-BA5D-44A046315B2F',\n 'impid': '3736271c3c4b27',\n 'price': 1.3,\n 'adm': 'image3.pubmatic.com Layer based creative',\n 'adomain': ['blackrock.com'],\n 'h': 250,\n 'w': 300,\n 'ext': {\n 'deal_channel': 6,\n 'advid': 976,\n 'dspid': 123\n },\n 'dealid': 'PUBDEAL1',\n 'mtype': 1\n }]\n };\n response = {\n 'body': {\n cur: 'USD',\n id: '93D3BAD6-E2E2-49FB-9D89-920B1761C865',\n seatbid: [firstResponse]\n }\n };\n videoResponse = {\n 'body': {\n cur: 'USD',\n id: '93D3BAD6-E2E2-49FB-9D89-920B1761C865',\n seatbid: [videoBid]\n }\n }\n const validBidRequests = [firstBid];\n const bidderRequest = {\n bids: [firstBid],\n auctionId: 'ee3074fe-97ce-4681-9235-d7622aede74c',\n auctionStart: 1725514077194,\n bidderCode: 'pubmatic',\n bidderRequestId: '1c56ad30b9b8ca8',\n refererInfo: {\n page: 'https://ebay.com',\n ref: ''\n },\n ortb2: {\n device: {\n w: 1200,\n h: 1800,\n sua: {},\n language: 'en',\n js: 1,\n connectiontype: 6\n },\n site: {domain: 'ebay.com', page: 'https://ebay.com'},\n source: {}\n },\n timeout: 2000\n };\n let videoBidRequest, videoBidderRequest, utilsLogWarnMock, nativeBidderRequest;\n\n describe('Bid validations', () => {\n it('should return true if publisherId is present in params', () => {\n const isValid = spec.isBidRequestValid(validBidRequests[0]);\n expect(isValid).to.equal(true);\n });\n\n it('should return false if publisherId is missing', () => {\n const bid = utils.deepClone(validBidRequests[0]);\n delete bid.params.publisherId;\n const isValid = spec.isBidRequestValid(bid);\n expect(isValid).to.equal(false);\n });\n\n it('should return false if publisherId is not of type string', () => {\n const bid = utils.deepClone(validBidRequests[0]);\n bid.params.publisherId = 5890;\n const isValid = spec.isBidRequestValid(bid);\n expect(isValid).to.equal(false);\n });\n\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n videoBidRequest = utils.deepClone(validBidRequests[0]);\n delete videoBidRequest.mediaTypes.banner;\n videoBidRequest.mediaTypes.video = {\n playerSize: [\n [640, 480]\n ],\n protocols: [1, 2, 5],\n context: 'instream',\n skippable: false,\n skip: 1,\n linearity: 2\n }\n });\n it('should return false if mimes are missing in a video impression request', () => {\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n });\n\n it('should return false if context is missing in a video impression request', () => {\n delete videoBidRequest.mediaTypes.context;\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n })\n\n it('should return true if banner/native present, but outstreamAU or renderer is missing', () => {\n videoBidRequest.mediaTypes.video.mimes = ['video/flv'];\n videoBidRequest.mediaTypes.video.context = 'outstream';\n videoBidRequest.mediaTypes.banner = {\n sizes: [[728, 90], [160, 600]]\n }\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(true);\n });\n\n it('should return false if outstreamAU or renderer is missing', () => {\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n });\n });\n }\n });\n\n describe('Request formation', () => {\n describe('IMP', () => {\n it('should include previousAuctionInfo in request when available', () => {\n const bidRequestWithPrevAuction = utils.deepClone(validBidRequests[0]);\n const bidderRequestWithPrevAuction = utils.deepClone(bidderRequest);\n\n bidderRequestWithPrevAuction.ortb2 = bidderRequestWithPrevAuction.ortb2 || {};\n bidderRequestWithPrevAuction.ortb2.ext = bidderRequestWithPrevAuction.ortb2.ext || {};\n bidderRequestWithPrevAuction.ortb2.ext.prebid = bidderRequestWithPrevAuction.ortb2.ext.prebid || {};\n bidderRequestWithPrevAuction.ortb2.ext.prebid.previousauctioninfo = {\n bidderRequestId: 'bidder-request-id'\n };\n\n const request = spec.buildRequests([bidRequestWithPrevAuction], bidderRequestWithPrevAuction);\n expect(request.data.ext).to.have.property('previousAuctionInfo');\n expect(request.data.ext.previousAuctionInfo).to.deep.equal({\n bidderRequestId: 'bidder-request-id'\n });\n });\n\n it('should generate request with banner', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0]).to.have.property('id').equal('3736271c3c4b27');\n });\n\n it('should add pmp if deals are present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('pmp');\n expect(imp[0]).to.have.property('pmp').to.have.property('deals').with.lengthOf(2);\n });\n\n it('should not add pmp if deals are absent in parameters', () => {\n delete validBidRequests[0].params.deals;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.not.have.property('pmp');\n });\n\n it('should add key_val property if dctr is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext');\n expect(imp[0]).to.have.property('ext').to.have.property('key_val');\n });\n\n it('should not add key_val if dctr is absent in parameters', () => {\n delete validBidRequests[0].params.dctr;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext').to.not.have.property('key_val');\n });\n\n it('should set w and h to the primary size for banner', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0]).to.have.property('banner').to.have.property('w').equal(300);\n expect(imp[0]).to.have.property('banner').to.have.property('h').equal(250);\n });\n\n it('should have 1 size in the banner.format array', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('format');\n expect(imp[0]).to.have.property('banner').to.have.property('format').to.be.an('array');\n });\n\n it('should not have format object in banner when there is only a single size', () => {\n // Create a complete bid with only one size\n const singleSizeBid = utils.deepClone(validBidRequests[0]);\n singleSizeBid.mediaTypes.banner.sizes = [[300, 250]];\n singleSizeBid.params.adSlot = '/15671365/DMDemo@300x250:0';\n\n // Create a complete bidder request\n const singleSizeBidderRequest = utils.deepClone(bidderRequest);\n singleSizeBidderRequest.bids = [singleSizeBid];\n\n const request = spec.buildRequests([singleSizeBid], singleSizeBidderRequest);\n const { imp } = request?.data;\n\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0].banner).to.not.have.property('format');\n expect(imp[0].banner).to.have.property('w').equal(300);\n expect(imp[0].banner).to.have.property('h').equal(250);\n });\n\n it('should add pmZoneId in ext if pmzoneid is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext');\n expect(imp[0]).to.have.property('ext').to.have.property('pmZoneId');\n });\n\n it('should add bidfloor if kadfloor is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloor');\n expect(imp[0]).to.have.property('bidfloor').equal(1.2);\n });\n\n it('should add bidfloorcur if currency is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloorcur');\n expect(imp[0]).to.have.property('bidfloorcur').equal('AUD');\n });\n\n it('should add bidfloorcur with default value if currency is missing in parameters', () => {\n delete validBidRequests[0].params.currency;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloorcur');\n expect(imp[0]).to.have.property('bidfloorcur').equal('USD');\n });\n\n it('should add tagid', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('tagid');\n expect(imp[0]).to.have.property('tagid').equal('/15671365/DMDemo');\n });\n\n it('should add secure, displaymanager & displaymanagerver', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('secure').equal(1);\n expect(imp[0]).to.have.property('displaymanager').equal('Prebid.js');\n expect(imp[0]).to.have.property('displaymanagerver');\n });\n\n it('should include the properties topframe and format as an array', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('topframe');\n expect(imp[0]).to.have.property('banner').to.have.property('format').to.be.an('array');\n });\n\n it('should respect the publisher-provided pos for the banner impression', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('pos');\n expect(imp[0]).to.have.property('banner').to.have.property('pos').equal(1);\n });\n\n it('should default pos to 0 if not explicitly provided by the publisher', () => {\n delete bidderRequest.bids[0].mediaTypes.banner.pos;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('pos');\n expect(imp[0]).to.have.property('banner').to.have.property('pos').equal(0);\n });\n\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n utilsLogWarnMock = sinon.stub(utils, 'logWarn');\n videoBidderRequest = utils.deepClone(bidderRequest);\n delete videoBidderRequest.bids[0].mediaTypes.banner;\n videoBidderRequest.bids[0].mediaTypes.video = {\n skip: 1,\n mimes: ['video/mp4', 'video/x-flv'],\n minduration: 5,\n maxduration: 30,\n startdelay: 5,\n playbackmethod: [1, 3],\n api: [1, 2],\n protocols: [2, 3],\n battr: [13, 14],\n linearity: 1,\n placement: 2,\n plcmt: 1,\n minbitrate: 10,\n maxbitrate: 10,\n playerSize: [640, 480]\n }\n });\n\n afterEach(() => {\n utilsLogWarnMock.restore();\n })\n\n it('should generate request with mediatype video', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n });\n\n it('should log a warning if playerSize is missing', () => {\n delete videoBidderRequest.bids[0].mediaTypes.video.playerSize;\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n sinon.assert.called(utils.logWarn);\n });\n\n it('should log a warning if plcmt is missing', () => {\n delete videoBidderRequest.bids[0].mediaTypes.video.plcmt;\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n sinon.assert.called(utils.logWarn);\n expect(imp.video).to.be.undefined;\n });\n\n it('should have all supporting parameters', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n expect(imp[0]).to.have.property('video').to.have.property('mimes');\n expect(imp[0]).to.have.property('video').to.have.property('minbitrate');\n expect(imp[0]).to.have.property('video').to.have.property('maxbitrate');\n expect(imp[0]).to.have.property('video').to.have.property('minduration');\n expect(imp[0]).to.have.property('video').to.have.property('maxduration');\n expect(imp[0]).to.have.property('video').to.have.property('plcmt');\n expect(imp[0]).to.have.property('video').to.have.property('battr');\n expect(imp[0]).to.have.property('video').to.have.property('startdelay');\n expect(imp[0]).to.have.property('video').to.have.property('playbackmethod');\n expect(imp[0]).to.have.property('video').to.have.property('api');\n expect(imp[0]).to.have.property('video').to.have.property('protocols');\n expect(imp[0]).to.have.property('video').to.have.property('linearity');\n expect(imp[0]).to.have.property('video').to.have.property('placement');\n expect(imp[0]).to.have.property('video').to.have.property('skip');\n expect(imp[0]).to.have.property('video').to.have.property('w');\n expect(imp[0]).to.have.property('video').to.have.property('h');\n });\n });\n }\n if (FEATURES.NATIVE) {\n describe('NATIVE', () => {\n beforeEach(() => {\n utilsLogWarnMock = sinon.stub(utils, 'logWarn');\n nativeBidderRequest = utils.deepClone(bidderRequest);\n delete nativeBidderRequest.bids[0].mediaTypes.banner;\n nativeBidderRequest.bids[0].nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 0,\n img: {\n 'type': 3,\n 'w': 300,\n 'h': 250\n },\n required: 1,\n }]\n };\n nativeBidderRequest.bids[0].mediaTypes.native = {\n title: {\n required: true,\n length: 80\n },\n image: {\n required: true,\n sizes: [300, 250]\n },\n sponsoredBy: {\n required: true\n }\n }\n });\n\n afterEach(() => {\n utilsLogWarnMock.restore();\n })\n\n it('should generate request with mediatype native', () => {\n const request = spec.buildRequests(validBidRequests, nativeBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('native');\n });\n });\n }\n // describe('MULTIFORMAT', () => {\n // let multiFormatBidderRequest;\n // it('should have both banner & video impressions', () => {\n // multiFormatBidderRequest = utils.deepClone(bidderRequest);\n // multiFormatBidderRequest.bids[0].mediaTypes.video = {\n // skip: 1,\n // mimes: ['video/mp4', 'video/x-flv'],\n // minduration: 5,\n // maxduration: 30,\n // startdelay: 5,\n // playbackmethod: [1, 3],\n // api: [1, 2],\n // protocols: [2, 3],\n // battr: [13, 14],\n // linearity: 1,\n // placement: 2,\n // plcmt: 1,\n // minbitrate: 10,\n // maxbitrate: 10,\n // playerSize: [640, 480]\n // }\n // const request = spec.buildRequests(validBidRequests, multiFormatBidderRequest);\n // const { imp } = request?.data;\n // expect(imp).to.be.an('array');\n // expect(imp[0]).to.have.property('banner');\n // expect(imp[0].banner).to.have.property('topframe');\n // expect(imp[0].banner).to.have.property('format');\n // expect(imp[0]).to.have.property('video');\n // });\n\n // it('should have both banner & native impressions', () => {\n // multiFormatBidderRequest = utils.deepClone(bidderRequest);\n // multiFormatBidderRequest.bids[0].nativeOrtbRequest = {\n // ver: '1.2',\n // assets: [{\n // id: 0,\n // img: {\n // 'type': 3,\n // 'w': 300,\n // 'h': 250\n // },\n // required: 1,\n // }]\n // };\n // const request = spec.buildRequests(validBidRequests, multiFormatBidderRequest);\n // const { imp } = request?.data;\n // expect(imp).to.be.an('array');\n // expect(imp[0]).to.have.property('banner');\n // expect(imp[0].banner).to.have.property('topframe');\n // expect(imp[0].banner).to.have.property('format');\n // expect(imp[0]).to.have.property('native');\n // });\n // });\n });\n\n describe('rest of ORTB request', () => {\n describe('BCAT', () => {\n it('should contain only string values', () => {\n validBidRequests[0].params.bcat = [1, 2, 3, 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should contain string values with length greater than 3', function() {\n validBidRequests[0].params.bcat = ['AB', 'CD', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should trim strings', function() {\n validBidRequests[0].params.bcat = [' IAB1 ', ' IAB2 '];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should pass unique strings', function() {\n validBidRequests[0].params.bcat = ['IAB1', 'IAB2', 'IAB1', 'IAB2', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should fail if validations are not met', function() {\n validBidRequests[0].params.bcat = ['', 'IA', 'IB'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.not.have.property('bcat');\n });\n });\n\n describe('ACAT', () => {\n it('should contain only string values', () => {\n validBidRequests[0].params.acat = [1, 2, 3, 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should trim strings', () => {\n validBidRequests[0].params.acat = [' IAB1 ', ' IAB2 '];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should pass unique strings', () => {\n validBidRequests[0].params.acat = ['IAB1', 'IAB2', 'IAB1', 'IAB2', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should fail if validations are not met', () => {\n validBidRequests[0].params.acat = ['', 'IA', 'IB'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n });\n });\n\n describe('TMAX, ID, AT, CUR, EXT', () => {\n it('should have tmax', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('tmax').to.equal(2000);\n });\n\n it('should remove test if pubmaticTest is not set', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('test').to.equal(undefined);\n });\n\n it('should have id', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('id');\n });\n\n it('should set at to 1', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('at').to.equal(1);\n });\n\n it('should have cur', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('cur').to.be.an('array').to.have.lengthOf(1);\n expect(request.data).to.have.property('cur').to.include.members(['USD']);\n });\n\n it('should have ext', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.have.property('epoch');\n expect(request.data).to.have.property('ext').to.have.property('wrapper');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('profile');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wiid');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wv');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wp');\n });\n\n it('should have url with post method', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request).to.have.property('method').to.equal('POST');\n expect(request).to.have.property('url').to.equal('https://hbopenbid.pubmatic.com/translator?source=prebid-client');\n });\n });\n\n describe('Request Options', () => {\n it('should set endpointCompression to true in request options', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request).to.have.property('options');\n expect(request.options).to.have.property('endpointCompression').to.equal(true);\n });\n });\n\n describe('GROUPM', () => {\n let bidderSettingStub;\n beforeEach(() => {\n bidderSettingStub = sinon.stub(bidderSettings, 'get');\n });\n\n afterEach(() => {\n bidderSettingStub.restore();\n });\n\n it('should skip setting the marketplace object in extension if allowAlternateBidderCodes is not defined', () => {\n bidderSettingStub.returns(undefined);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.not.have.property('marketplace');\n });\n\n it('should set the marketplace object in the extension when allowAlternateBidderCodes is set to \"groupm\"', () => {\n bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);\n bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['groupm']);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.have.property('marketplace');\n expect(request.data).to.have.property('ext').to.have.property('marketplace').to.have.property('allowedbidders').to.be.an('array');\n expect(request.data.ext.marketplace.allowedbidders.length).to.equal(2);\n expect(request.data.ext.marketplace.allowedbidders[0]).to.equal('pubmatic');\n expect(request.data.ext.marketplace.allowedbidders[1]).to.equal('groupm');\n });\n\n it('should be ALL when allowedAlternateBidderCodes is \\'*\\'', () => {\n bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);\n bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['*']);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data.ext.marketplace.allowedbidders).to.be.an('array');\n expect(request.data.ext.marketplace.allowedbidders[0]).to.equal('all');\n });\n });\n\n describe('SITE', () => {\n it('should have site object', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('site');\n });\n\n it('should have site object with page, domain', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('site').to.have.property('page').to.equal('https://ebay.com');\n expect(request.data).to.have.property('site').to.have.property('domain').to.equal('ebay.com');\n });\n });\n\n describe('DEVICE', () => {\n it('should have device object', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('device');\n expect(request.data.device).to.have.property('w').to.equal(1200);\n expect(request.data.device).to.have.property('h').to.equal(1800);\n expect(request.data.device).to.have.property('js').to.equal(1);\n expect(request.data.device).to.have.property('connectiontype');\n expect(request.data.device).to.have.property('language').to.equal('en');\n });\n });\n\n describe('CONFIG/BADV', () => {\n let copiedBidderRequest;\n beforeEach(() => {\n copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.app = {\n id: 'app-id',\n name: 'app-name',\n };\n copiedBidderRequest.ortb2.site.ext = {\n id: 'site-id',\n name: 'site-name',\n }\n copiedBidderRequest.ortb2.badv = ['example.com'];\n });\n\n it('should have app if it is set in ortb2', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('app');\n });\n\n it('should include app if it is defined in ortb2 but not site', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('app');\n expect(request.data).to.not.have.property('site');\n });\n\n it('should have badv if it is set in ortb2', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('badv');\n expect(request.data.badv).to.deep.equal(['example.com']);\n });\n });\n\n describe('AUCTION ID', () => {\n it('should use auctionId as wiid when it is not provided in params', () => {\n const copiedValidBidRequests = utils.deepClone(validBidRequests);\n delete copiedValidBidRequests[0].params.wiid;\n const request = spec.buildRequests(copiedValidBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext');\n expect(request.data.ext).to.have.property('wrapper');\n expect(request.data.ext.wrapper).to.have.property('wiid');\n expect(request.data.ext.wrapper.wiid).to.equal('ee3074fe-97ce-4681-9235-d7622aede74c');\n });\n\n it('should use auctionId as wiid from params', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext');\n expect(request.data.ext).to.have.property('wrapper');\n expect(request.data.ext.wrapper).to.have.property('wiid');\n expect(request.data.ext.wrapper.wiid).to.equal('1234567890');\n });\n });\n\n describe('GDPR', () => {\n let copiedBidderRequest;\n beforeEach(() => {\n copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.user = {\n ext: {\n consent: 'kjfdniwjnifwenrif3'\n }\n }\n });\n\n it('should have GDPR string', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('user');\n expect(request.data.user).to.have.property('ext');\n expect(request.data.user.ext).to.have.property('consent').to.equal('kjfdniwjnifwenrif3');\n });\n });\n\n describe('GPP', () => {\n it('should have gpp & gpp_sid in request if set using ortb2 and not present in request', () => {\n const copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.regs = {\n gpp: 'DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN',\n gpp_sid: [5]\n }\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('regs');\n expect(request.data.regs).to.have.property('gpp').to.equal('DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN');\n expect(request.data.regs).to.have.property('gpp_sid').that.eql([5]);\n });\n });\n\n describe('DSA', () => {\n const dsa = {\n dsarequired: 3,\n pubrender: 0,\n datatopub: 2,\n transparency: [\n {\n domain: 'platform1domain.com',\n dsaparams: [1]\n },\n {\n domain: 'SSP2domain.com',\n dsaparams: [1, 2]\n }\n ]\n };\n beforeEach(() => {\n bidderRequest.ortb2.regs = {ext: { dsa }};\n });\n\n it('should have DSA in regs.ext', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('regs');\n expect(request.data.regs).to.have.property('ext');\n expect(request.data.regs.ext).to.have.property('dsa').to.deep.equal(dsa);\n });\n });\n\n describe('ORTB2IMP', () => {\n it('should send gpid if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('gpid');\n expect(request.data.imp[0].ext.gpid).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send pbadslot if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('pbadslot');\n expect(request.data.imp[0].ext.data.pbadslot).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send adserver if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('adserver');\n expect(request.data.imp[0].ext.data.adserver).to.have.property('name');\n expect(request.data.imp[0].ext.data.adserver.name).to.equal('gam');\n expect(request.data.imp[0].ext.data.adserver).to.have.property('adslot');\n expect(request.data.imp[0].ext.data.adserver.adslot).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send custom data if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('customData');\n expect(request.data.imp[0].ext.data.customData).to.have.property('id').to.equal('id-1');\n });\n });\n\n describe('FLEDGE', () => {\n it('should not send imp.ext.ae when FLEDGE is disabled, ', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp).to.be.an('array');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.not.have.property('ae');\n });\n })\n\n describe('cpm adjustment', () => {\n beforeEach(() => {\n global.cpmAdjustment = {};\n });\n\n it('should not perform any action if the bid is undefined', () => {\n spec.onBidWon(undefined);\n expect(global.cpmAdjustment).to.deep.equal({});\n });\n\n it('should not perform any action if the bid is null', () => {\n spec.onBidWon(null);\n expect(global.cpmAdjustment).to.deep.equal({});\n });\n it('should invoke _calculateBidCpmAdjustment and correctly update cpmAdjustment', () => {\n const bid = {\n cpm: 2.5,\n originalCpm: 3,\n originalCurrency: 'USD',\n currency: 'USD',\n mediaType: 'banner',\n meta: { mediaType: 'banner' }\n };\n\n spec.onBidWon(bid);\n\n expect(cpmAdjustment).to.deep.equal({\n currency: 'USD',\n originalCurrency: 'USD',\n adjustment: [\n {\n cpmAdjustment: Number(((3 - 2.5) / 3).toFixed(2)), // Expected: 0.17\n mediaType: 'banner',\n metaMediaType: 'banner',\n cpm: 2.5,\n originalCpm: 3\n }\n ]\n });\n });\n });\n\n // describe('USER ID/ EIDS', () => {\n // let copiedBidderRequest;\n // beforeEach(() => {\n // copiedBidderRequest = utils.deepClone(bidderRequest);\n // copiedBidderRequest.bids[0].userId = {\n // id5id : {\n // uid: 'id5id-xyz-user-id'\n // }\n // }\n // copiedBidderRequest.bids[0].userIdAsEids = [{\n // source: 'id5-sync.com',\n // uids: [{\n // 'id': \"ID5*G3_osFE_-UHoUjSuA4T8-f51U-JTNOoGcb2aMpx1APnDy8pDwkKCzXCcoSb1HXIIw9AjWBOWmZ3QbMUDTXKq8MPPW8h0II9mBYkP4F_IXkvD-XG64NuFFDPKvez1YGGx\",\n // 'atype': 1,\n // 'ext': {\n // 'linkType': 2,\n // 'pba': 'q6Vzr0jEebxzmvS8aSrVQJFoJnOxs9gKBKCOLw1y6ew='\n // }\n // }]\n // }]\n // });\n\n // it('should send gpid if specified', () => {\n // const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n // expect(request.data).to.have.property('user');\n // expect(request.data.user).to.have.property('eids');\n // });\n // });\n });\n });\n\n describe('Response', () => {\n it('should return response in prebid format', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(response, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('ad');\n expect(bidResponse[0]).to.have.property('dealId');\n expect(bidResponse[0]).to.have.property('dealChannel');\n expect(bidResponse[0]).to.have.property('currency');\n expect(bidResponse[0]).to.have.property('meta');\n expect(bidResponse[0]).to.have.property('mediaType');\n expect(bidResponse[0]).to.have.property('referrer');\n expect(bidResponse[0]).to.have.property('cpm');\n expect(bidResponse[0]).to.have.property('pm_seat');\n expect(bidResponse[0]).to.have.property('pm_dspid');\n expect(bidResponse[0]).to.have.property('sspID');\n expect(bidResponse[0]).to.have.property('partnerImpId');\n expect(bidResponse[0]).to.have.property('requestId');\n expect(bidResponse[0]).to.have.property('width');\n expect(bidResponse[0]).to.have.property('height');\n expect(bidResponse[0]).to.have.property('ttl');\n expect(bidResponse[0]).to.have.property('netRevenue');\n expect(bidResponse[0]).to.have.property('creativeId');\n });\n\n it('should return response and match with input values', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(response, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('currency').to.be.equal('USD');\n expect(bidResponse[0]).to.have.property('dealId').to.equal('PUBDEAL1');\n expect(bidResponse[0]).to.have.property('dealChannel').to.equal('PMPG');\n expect(bidResponse[0]).to.have.property('meta').to.be.an('object');\n expect(bidResponse[0]).to.have.property('mediaType').to.equal('banner');\n expect(bidResponse[0]).to.have.property('cpm').to.equal(1.3);\n expect(bidResponse[0]).to.have.property('pm_seat').to.equal('seat-id');\n expect(bidResponse[0]).to.have.property('pm_dspid').to.equal(123);\n expect(bidResponse[0]).to.have.property('sspID').to.equal('74858439-49D7-4169-BA5D-44A046315B2F');\n expect(bidResponse[0]).to.have.property('requestId').to.equal('3736271c3c4b27');\n expect(bidResponse[0]).to.have.property('width').to.equal(300);\n expect(bidResponse[0]).to.have.property('height').to.equal(250);\n expect(bidResponse[0]).to.have.property('ttl').to.equal(360);\n });\n\n describe('DEALID', () => {\n it('should set deal_channel to PMP if ext.deal_channel is missing', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].ext.deal_channel;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('dealChannel').to.equal('PMP');\n });\n\n it('should exclude deal_id and deal_channel from the response if the deal id is missing', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].ext.deal_channel;\n delete copiedResponse.body.seatbid[0].bid[0].dealid;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.not.have.property('dealId');\n expect(bidResponse[0]).to.not.have.property('dealChannel');\n });\n });\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n const videoBidderRequest = utils.deepClone(bidderRequest);\n delete videoBidderRequest.bids[0].mediaTypes.banner;\n videoBidderRequest.bids[0].mediaTypes.video = {\n skip: 1,\n mimes: ['video/mp4', 'video/x-flv'],\n minduration: 5,\n maxduration: 30,\n startdelay: 5,\n playbackmethod: [1, 3],\n api: [1, 2],\n protocols: [2, 3],\n battr: [13, 14],\n linearity: 1,\n placement: 2,\n plcmt: 1,\n context: 'outstream',\n minbitrate: 10,\n maxbitrate: 10,\n playerSize: [640, 480]\n }\n });\n\n it('should generate video response', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n const bidResponse = spec.interpretResponse(videoResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('vastXml');\n expect(bidResponse[0]).to.have.property('mediaType');\n expect(bidResponse[0]).to.have.property('playerHeight');\n expect(bidResponse[0]).to.have.property('playerWidth');\n });\n\n it('should generate video response with input values', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n const bidResponse = spec.interpretResponse(videoResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('mediaType').to.equal('video');\n expect(bidResponse[0]).to.have.property('playerHeight').to.equal(480);\n expect(bidResponse[0]).to.have.property('playerWidth').to.equal(640);\n });\n });\n }\n\n describe('CATEGORY IDS', () => {\n it('should set primaryCatId and secondaryCatIds in meta when bid.cat is present', () => {\n const copiedResponse = utils.deepClone(response);\n copiedResponse.body.seatbid[0].bid[0].cat = ['IAB1', 'IAB2', 'IAB3'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.have.property('primaryCatId').to.equal('IAB1');\n expect(bidResponse[0].meta).to.have.property('secondaryCatIds').to.deep.equal(['IAB1', 'IAB2', 'IAB3']);\n });\n\n it('should not set primaryCatId and secondaryCatIds in meta when bid.cat is null', () => {\n const copiedResponse = utils.deepClone(response);\n copiedResponse.body.seatbid[0].bid[0].cat = null;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.not.have.property('primaryCatId');\n expect(bidResponse[0].meta).to.not.have.property('secondaryCatIds');\n });\n\n it('should not set primaryCatId and secondaryCatIds in meta when bid.cat is undefined', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].cat;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.not.have.property('primaryCatId');\n expect(bidResponse[0].meta).to.not.have.property('secondaryCatIds');\n });\n });\n\n describe('getUserSyncs', () => {\n beforeEach(() => {\n spec.buildRequests(validBidRequests, bidderRequest);\n });\n\n afterEach(() => {\n config.resetConfig();\n });\n\n it('returns iframe sync url with consent parameters and COPPA', () => {\n config.setConfig({ coppa: true });\n const gdprConsent = { gdprApplies: true, consentString: 'CONSENT' };\n const uspConsent = '1YNN';\n const gppConsent = { gppString: 'GPP', applicableSections: [2, 4] };\n const [sync] = spec.getUserSyncs({ iframeEnabled: true }, [], gdprConsent, uspConsent, gppConsent);\n expect(sync).to.deep.equal({\n type: 'iframe',\n url: 'https://ads.pubmatic.com/AdServer/js/user_sync.html?kdntuid=1&p=5670&gdpr=1&gdpr_consent=CONSENT&us_privacy=1YNN&gpp=GPP&gpp_sid=2%2C4&coppa=1'\n });\n });\n\n it('returns image sync url when no consent data provided', () => {\n const [sync] = spec.getUserSyncs({}, []);\n expect(sync).to.deep.equal({\n type: 'image',\n url: 'https://image8.pubmatic.com/AdServer/ImgSync?p=5670'\n });\n });\n });\n })\n})\n\ndescribe('addViewabilityToImp', () => {\n let imp;\n let element;\n let originalGetElementById;\n let originalVisibilityState;\n let sandbox;\n\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n imp = { ext: {} };\n element = document.createElement('div');\n element.id = 'Div1';\n document.body.appendChild(element);\n originalGetElementById = document.getElementById;\n sandbox.stub(document, 'getElementById').callsFake(id => id === 'Div1' ? element : null);\n originalVisibilityState = document.visibilityState;\n Object.defineProperty(document, 'visibilityState', {\n value: 'visible',\n configurable: true\n });\n sandbox.stub(utils, 'getWindowTop').returns(window);\n });\n\n afterEach(() => {\n sandbox.restore();\n document.body.removeChild(element);\n Object.defineProperty(document, 'visibilityState', {\n value: originalVisibilityState,\n configurable: true\n });\n document.getElementById = originalGetElementById;\n });\n\n it('should add viewability to imp.ext when measurable', () => {\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.have.property('viewability');\n });\n\n it('should set viewability amount to \"na\" if not measurable (e.g., in iframe)', () => {\n const isIframeStub = sandbox.stub(utils, 'inIframe').returns(true);\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.have.property('viewability');\n expect(imp.ext.viewability.amount).to.equal('na');\n });\n\n it('should not add viewability if element is not found', () => {\n document.getElementById.restore();\n sandbox.stub(document, 'getElementById').returns(null);\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.not.have.property('viewability');\n });\n\n it('should create imp.ext if not present', () => {\n imp = {};\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.exist;\n expect(imp.ext).to.have.property('viewability');\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"pubmaticBidAdapter_spec.js","names":["expect","spec","cpmAdjustment","addViewabilityToImp","utils","bidderSettings","config","describe","firstBid","videoBid","firstResponse","response","videoResponse","request","adUnitCode","bidder","mediaTypes","banner","sizes","pos","params","publisherId","adSlot","kadfloor","pmzoneid","yob","gender","lat","lon","wiid","profId","verId","currency","dctr","deals","placementCode","bidId","requestId","bidderRequestId","ortb2","device","w","h","sua","language","js","connectiontype","site","domain","page","source","ortb2Imp","ext","tid","gpid","data","pbadslot","adserver","name","adslot","customData","id","cur","seatbid","validBidRequests","bidderRequest","bids","auctionId","auctionStart","bidderCode","refererInfo","ref","timeout","videoBidRequest","videoBidderRequest","utilsLogWarnMock","nativeBidderRequest","it","isValid","isBidRequestValid","to","equal","bid","deepClone","beforeEach","video","playerSize","protocols","context","skippable","skip","linearity","mimes","bidRequestWithPrevAuction","bidderRequestWithPrevAuction","prebid","previousauctioninfo","buildRequests","have","property","previousAuctionInfo","deep","imp","be","an","with","lengthOf","not","singleSizeBid","singleSizeBidderRequest","sinon","stub","minduration","maxduration","startdelay","playbackmethod","api","battr","placement","plcmt","minbitrate","maxbitrate","afterEach","restore","assert","called","logWarn","undefined","nativeOrtbRequest","ver","assets","img","required","native","title","length","image","sponsoredBy","bcat","acat","configStub","bidderConfigStub","options","endpointCompression","true","returns","pubmatic","gzipEnabled","false","include","members","bidderSettingStub","withArgs","marketplace","allowedbidders","copiedBidderRequest","app","badv","copiedValidBidRequests","wrapper","user","consent","regs","gpp","gpp_sid","that","eql","dsa","dsarequired","pubrender","datatopub","transparency","dsaparams","global","onBidWon","cpm","originalCpm","originalCurrency","mediaType","meta","adjustment","Number","toFixed","metaMediaType","bidResponse","interpretResponse","copiedResponse","body","deal_channel","dealid","cat","resetConfig","setConfig","coppa","gdprConsent","gdprApplies","consentString","uspConsent","gppConsent","gppString","applicableSections","sync","getUserSyncs","iframeEnabled","type","url","element","originalGetElementById","originalVisibilityState","sandbox","createSandbox","document","createElement","appendChild","getElementById","callsFake","visibilityState","Object","defineProperty","value","configurable","window","removeChild","isIframeStub","viewability","amount","exist"],"sourceRoot":"../../../../..","sources":["test/spec/modules/pubmaticBidAdapter_spec.js"],"sourcesContent":["import { expect } from 'chai';\nimport { spec, cpmAdjustment, addViewabilityToImp } from 'modules/pubmaticBidAdapter.js';\nimport * as utils from 'src/utils.js';\nimport { bidderSettings } from 'src/bidderSettings.js';\nimport { config } from 'src/config.js';\n\ndescribe('PubMatic adapter', () => {\n let firstBid, videoBid, firstResponse, response, videoResponse;\n const request = {};\n firstBid = {\n adUnitCode: 'Div1',\n bidder: 'pubmatic',\n mediaTypes: {\n banner: {\n sizes: [[728, 90], [160, 600]],\n pos: 1\n }\n },\n params: {\n publisherId: '5670',\n adSlot: '/15671365/DMDemo@300x250:0',\n kadfloor: '1.2',\n pmzoneid: 'aabc, ddef',\n // kadpageurl: 'www.publisher.com',\n yob: '1986',\n gender: 'M',\n lat: '12.3',\n lon: '23.7',\n wiid: '1234567890',\n profId: '100',\n verId: '200',\n currency: 'AUD',\n dctr: 'key1:val1,val2|key2:val1',\n deals: ['deal-1', 'deal-2']\n },\n placementCode: '/19968336/header-bid-tag-1',\n sizes: [\n [300, 250],\n [300, 600],\n ['fluid']\n ],\n bidId: '3736271c3c4b27',\n requestId: '0fb4905b-9456-4152-86be-c6f6d259ba99',\n bidderRequestId: '1c56ad30b9b8ca8',\n ortb2: {\n device: {\n w: 1200,\n h: 1800,\n sua: {},\n language: 'en',\n js: 1,\n connectiontype: 6\n },\n site: {domain: 'ebay.com', page: 'https://ebay.com'},\n source: {}\n },\n ortb2Imp: {\n ext: {\n tid: '92489f71-1bf2-49a0-adf9-000cea934729',\n gpid: '/1111/homepage-leftnav',\n data: {\n pbadslot: '/1111/homepage-leftnav',\n adserver: {\n name: 'gam',\n adslot: '/1111/homepage-leftnav'\n },\n customData: {\n id: 'id-1'\n }\n }\n }\n },\n }\n videoBid = {\n 'seat': 'seat-id',\n 'ext': {\n 'buyid': 'BUYER-ID-987'\n },\n 'bid': [{\n 'id': '74858439-49D7-4169-BA5D-44A046315B2F',\n 'impid': '3736271c3c4b27',\n 'price': 1.3,\n 'adm': '<VAST version=\"3.0\"><Ad id=\"601364\"><InLine><AdSystem>Acudeo Compatible</AdSystem><AdTitle>VAST 2.0 Instream Test 1</AdTitle><Description>VAST 2.0 Instream Test 1</Description><Impression><![CDATA[http://172.16.4.213/AdServer/AdDisplayTrackerServlet?operId=1&pubId=5890&siteId=47163&adId=1405268&adType=13&adServerId=243&kefact=70.000000&kaxefact=70.000000&kadNetFrequecy=0&kadwidth=0&kadheight=0&kadsizeid=97&kltstamp=1529929473&indirectAdId=0&adServerOptimizerId=2&ranreq=0.1&kpbmtpfact=100.000000&dcId=1&tldId=0&passback=0&svr=MADS1107&ekefact=Ad8wW91TCwCmdG0jlfjXn7Tyzh20hnTVx-m5DoNSep-RXGDr&ekaxefact=Ad8wWwRUCwAGir4Zzl1eF0bKiC-qrCV0D0yp_eE7YizB_BQk&ekpbmtpfact=Ad8wWxRUCwD7qgzwwPE2LnS5-Ou19uO5amJl1YT6-XVFvQ41&imprId=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&oid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&crID=creative-1_1_2&ucrid=160175026529250297&campaignId=17050&creativeId=0&pctr=0.000000&wDSPByrId=511&wDspId=6&wbId=0&wrId=0&wAdvID=3170&isRTB=1&rtbId=EBCA079F-8D7C-45B8-B733-92951F670AA1&pmZoneId=zone1&pageURL=www.yahoo.com&lpu=ae.com]]></Impression><Impression>https://dsptracker.com/{PSPM}</Impression><Error><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&er=[ERRORCODE]]]></Error><Error><![CDATA[https://Errortrack.com?p=1234&er=[ERRORCODE]]]></Error><Creatives><Creative AdID=\"601364\"><Linear skipoffset=\"20%\"><TrackingEvents><Tracking event=\"close\"><![CDATA[https://mytracking.com/linear/close]]></Tracking><Tracking event=\"skip\"><![CDATA[https://mytracking.com/linear/skip]]></Tracking><Tracking event=\"creativeView\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=1]]></Tracking><Tracking event=\"start\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=2]]></Tracking><Tracking event=\"midpoint\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=3]]></Tracking><Tracking event=\"firstQuartile\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=4]]></Tracking><Tracking event=\"thirdQuartile\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=5]]></Tracking><Tracking event=\"complete\"><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=6]]></Tracking></TrackingEvents><Duration>00:00:04</Duration><VideoClicks><ClickTracking><![CDATA[http://172.16.4.213/track?operId=7&p=5890&s=47163&a=1405268&wa=243&ts=1529929473&wc=17050&crId=creative-1_1_2&ucrid=160175026529250297&impid=48F73E1A-7F23-443D-A53C-30EE6BBF5F7F&advertiser_id=3170&ecpm=70.000000&e=99]]></ClickTracking><ClickThrough>https://www.pubmatic.com</ClickThrough></VideoClicks><MediaFiles><MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"500\" width=\"400\" height=\"300\" scalable=\"true\" maintainAspectRatio=\"true\"><![CDATA[https://stagingnyc.pubmatic.com:8443/video/Shashank/mediaFileHost/media/mp4-sample-2.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>',\n 'adomain': ['blackrock.com'],\n 'h': 250,\n 'w': 300,\n 'ext': {\n 'deal_channel': 6,\n 'advid': 976,\n 'dspid': 123\n },\n 'dealid': 'PUBDEAL1',\n 'mtype': 2\n }]\n };\n firstResponse = {\n 'seat': 'seat-id',\n 'ext': {\n 'buyid': 'BUYER-ID-987'\n },\n 'bid': [{\n 'id': '74858439-49D7-4169-BA5D-44A046315B2F',\n 'impid': '3736271c3c4b27',\n 'price': 1.3,\n 'adm': 'image3.pubmatic.com Layer based creative',\n 'adomain': ['blackrock.com'],\n 'h': 250,\n 'w': 300,\n 'ext': {\n 'deal_channel': 6,\n 'advid': 976,\n 'dspid': 123\n },\n 'dealid': 'PUBDEAL1',\n 'mtype': 1\n }]\n };\n response = {\n 'body': {\n cur: 'USD',\n id: '93D3BAD6-E2E2-49FB-9D89-920B1761C865',\n seatbid: [firstResponse]\n }\n };\n videoResponse = {\n 'body': {\n cur: 'USD',\n id: '93D3BAD6-E2E2-49FB-9D89-920B1761C865',\n seatbid: [videoBid]\n }\n }\n const validBidRequests = [firstBid];\n const bidderRequest = {\n bids: [firstBid],\n auctionId: 'ee3074fe-97ce-4681-9235-d7622aede74c',\n auctionStart: 1725514077194,\n bidderCode: 'pubmatic',\n bidderRequestId: '1c56ad30b9b8ca8',\n refererInfo: {\n page: 'https://ebay.com',\n ref: ''\n },\n ortb2: {\n device: {\n w: 1200,\n h: 1800,\n sua: {},\n language: 'en',\n js: 1,\n connectiontype: 6\n },\n site: {domain: 'ebay.com', page: 'https://ebay.com'},\n source: {}\n },\n timeout: 2000\n };\n let videoBidRequest, videoBidderRequest, utilsLogWarnMock, nativeBidderRequest;\n\n describe('Bid validations', () => {\n it('should return true if publisherId is present in params', () => {\n const isValid = spec.isBidRequestValid(validBidRequests[0]);\n expect(isValid).to.equal(true);\n });\n\n it('should return false if publisherId is missing', () => {\n const bid = utils.deepClone(validBidRequests[0]);\n delete bid.params.publisherId;\n const isValid = spec.isBidRequestValid(bid);\n expect(isValid).to.equal(false);\n });\n\n it('should return false if publisherId is not of type string', () => {\n const bid = utils.deepClone(validBidRequests[0]);\n bid.params.publisherId = 5890;\n const isValid = spec.isBidRequestValid(bid);\n expect(isValid).to.equal(false);\n });\n\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n videoBidRequest = utils.deepClone(validBidRequests[0]);\n delete videoBidRequest.mediaTypes.banner;\n videoBidRequest.mediaTypes.video = {\n playerSize: [\n [640, 480]\n ],\n protocols: [1, 2, 5],\n context: 'instream',\n skippable: false,\n skip: 1,\n linearity: 2\n }\n });\n it('should return false if mimes are missing in a video impression request', () => {\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n });\n\n it('should return false if context is missing in a video impression request', () => {\n delete videoBidRequest.mediaTypes.context;\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n })\n\n it('should return true if banner/native present, but outstreamAU or renderer is missing', () => {\n videoBidRequest.mediaTypes.video.mimes = ['video/flv'];\n videoBidRequest.mediaTypes.video.context = 'outstream';\n videoBidRequest.mediaTypes.banner = {\n sizes: [[728, 90], [160, 600]]\n }\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(true);\n });\n\n it('should return false if outstreamAU or renderer is missing', () => {\n const isValid = spec.isBidRequestValid(videoBidRequest);\n expect(isValid).to.equal(false);\n });\n });\n }\n });\n\n describe('Request formation', () => {\n describe('IMP', () => {\n it('should include previousAuctionInfo in request when available', () => {\n const bidRequestWithPrevAuction = utils.deepClone(validBidRequests[0]);\n const bidderRequestWithPrevAuction = utils.deepClone(bidderRequest);\n\n bidderRequestWithPrevAuction.ortb2 = bidderRequestWithPrevAuction.ortb2 || {};\n bidderRequestWithPrevAuction.ortb2.ext = bidderRequestWithPrevAuction.ortb2.ext || {};\n bidderRequestWithPrevAuction.ortb2.ext.prebid = bidderRequestWithPrevAuction.ortb2.ext.prebid || {};\n bidderRequestWithPrevAuction.ortb2.ext.prebid.previousauctioninfo = {\n bidderRequestId: 'bidder-request-id'\n };\n\n const request = spec.buildRequests([bidRequestWithPrevAuction], bidderRequestWithPrevAuction);\n expect(request.data.ext).to.have.property('previousAuctionInfo');\n expect(request.data.ext.previousAuctionInfo).to.deep.equal({\n bidderRequestId: 'bidder-request-id'\n });\n });\n\n it('should generate request with banner', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0]).to.have.property('id').equal('3736271c3c4b27');\n });\n\n it('should add pmp if deals are present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('pmp');\n expect(imp[0]).to.have.property('pmp').to.have.property('deals').with.lengthOf(2);\n });\n\n it('should not add pmp if deals are absent in parameters', () => {\n delete validBidRequests[0].params.deals;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.not.have.property('pmp');\n });\n\n it('should add key_val property if dctr is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext');\n expect(imp[0]).to.have.property('ext').to.have.property('key_val');\n });\n\n it('should not add key_val if dctr is absent in parameters', () => {\n delete validBidRequests[0].params.dctr;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext').to.not.have.property('key_val');\n });\n\n it('should set w and h to the primary size for banner', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0]).to.have.property('banner').to.have.property('w').equal(300);\n expect(imp[0]).to.have.property('banner').to.have.property('h').equal(250);\n });\n\n it('should have 1 size in the banner.format array', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('format');\n expect(imp[0]).to.have.property('banner').to.have.property('format').to.be.an('array');\n });\n\n it('should not have format object in banner when there is only a single size', () => {\n // Create a complete bid with only one size\n const singleSizeBid = utils.deepClone(validBidRequests[0]);\n singleSizeBid.mediaTypes.banner.sizes = [[300, 250]];\n singleSizeBid.params.adSlot = '/15671365/DMDemo@300x250:0';\n\n // Create a complete bidder request\n const singleSizeBidderRequest = utils.deepClone(bidderRequest);\n singleSizeBidderRequest.bids = [singleSizeBid];\n\n const request = spec.buildRequests([singleSizeBid], singleSizeBidderRequest);\n const { imp } = request?.data;\n\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner');\n expect(imp[0].banner).to.not.have.property('format');\n expect(imp[0].banner).to.have.property('w').equal(300);\n expect(imp[0].banner).to.have.property('h').equal(250);\n });\n\n it('should add pmZoneId in ext if pmzoneid is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('ext');\n expect(imp[0]).to.have.property('ext').to.have.property('pmZoneId');\n });\n\n it('should add bidfloor if kadfloor is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloor');\n expect(imp[0]).to.have.property('bidfloor').equal(1.2);\n });\n\n it('should add bidfloorcur if currency is present in parameters', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloorcur');\n expect(imp[0]).to.have.property('bidfloorcur').equal('AUD');\n });\n\n it('should add bidfloorcur with default value if currency is missing in parameters', () => {\n delete validBidRequests[0].params.currency;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('bidfloorcur');\n expect(imp[0]).to.have.property('bidfloorcur').equal('USD');\n });\n\n it('should add tagid', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('tagid');\n expect(imp[0]).to.have.property('tagid').equal('/15671365/DMDemo');\n });\n\n it('should add secure, displaymanager & displaymanagerver', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('secure').equal(1);\n expect(imp[0]).to.have.property('displaymanager').equal('Prebid.js');\n expect(imp[0]).to.have.property('displaymanagerver');\n });\n\n it('should include the properties topframe and format as an array', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('topframe');\n expect(imp[0]).to.have.property('banner').to.have.property('format').to.be.an('array');\n });\n\n it('should respect the publisher-provided pos for the banner impression', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('pos');\n expect(imp[0]).to.have.property('banner').to.have.property('pos').equal(1);\n });\n\n it('should default pos to 0 if not explicitly provided by the publisher', () => {\n delete bidderRequest.bids[0].mediaTypes.banner.pos;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('banner').to.have.property('pos');\n expect(imp[0]).to.have.property('banner').to.have.property('pos').equal(0);\n });\n\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n utilsLogWarnMock = sinon.stub(utils, 'logWarn');\n videoBidderRequest = utils.deepClone(bidderRequest);\n delete videoBidderRequest.bids[0].mediaTypes.banner;\n videoBidderRequest.bids[0].mediaTypes.video = {\n skip: 1,\n mimes: ['video/mp4', 'video/x-flv'],\n minduration: 5,\n maxduration: 30,\n startdelay: 5,\n playbackmethod: [1, 3],\n api: [1, 2],\n protocols: [2, 3],\n battr: [13, 14],\n linearity: 1,\n placement: 2,\n plcmt: 1,\n minbitrate: 10,\n maxbitrate: 10,\n playerSize: [640, 480]\n }\n });\n\n afterEach(() => {\n utilsLogWarnMock.restore();\n })\n\n it('should generate request with mediatype video', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n });\n\n it('should log a warning if playerSize is missing', () => {\n delete videoBidderRequest.bids[0].mediaTypes.video.playerSize;\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n sinon.assert.called(utils.logWarn);\n });\n\n it('should log a warning if plcmt is missing', () => {\n delete videoBidderRequest.bids[0].mediaTypes.video.plcmt;\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n sinon.assert.called(utils.logWarn);\n expect(imp.video).to.be.undefined;\n });\n\n it('should have all supporting parameters', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n expect(imp[0]).to.have.property('video').to.have.property('mimes');\n expect(imp[0]).to.have.property('video').to.have.property('minbitrate');\n expect(imp[0]).to.have.property('video').to.have.property('maxbitrate');\n expect(imp[0]).to.have.property('video').to.have.property('minduration');\n expect(imp[0]).to.have.property('video').to.have.property('maxduration');\n expect(imp[0]).to.have.property('video').to.have.property('plcmt');\n expect(imp[0]).to.have.property('video').to.have.property('battr');\n expect(imp[0]).to.have.property('video').to.have.property('startdelay');\n expect(imp[0]).to.have.property('video').to.have.property('playbackmethod');\n expect(imp[0]).to.have.property('video').to.have.property('api');\n expect(imp[0]).to.have.property('video').to.have.property('protocols');\n expect(imp[0]).to.have.property('video').to.have.property('linearity');\n expect(imp[0]).to.have.property('video').to.have.property('placement');\n expect(imp[0]).to.have.property('video').to.have.property('skip');\n expect(imp[0]).to.have.property('video').to.have.property('w');\n expect(imp[0]).to.have.property('video').to.have.property('h');\n });\n });\n }\n if (FEATURES.NATIVE) {\n describe('NATIVE', () => {\n beforeEach(() => {\n utilsLogWarnMock = sinon.stub(utils, 'logWarn');\n nativeBidderRequest = utils.deepClone(bidderRequest);\n delete nativeBidderRequest.bids[0].mediaTypes.banner;\n nativeBidderRequest.bids[0].nativeOrtbRequest = {\n ver: '1.2',\n assets: [{\n id: 0,\n img: {\n 'type': 3,\n 'w': 300,\n 'h': 250\n },\n required: 1,\n }]\n };\n nativeBidderRequest.bids[0].mediaTypes.native = {\n title: {\n required: true,\n length: 80\n },\n image: {\n required: true,\n sizes: [300, 250]\n },\n sponsoredBy: {\n required: true\n }\n }\n });\n\n afterEach(() => {\n utilsLogWarnMock.restore();\n })\n\n it('should generate request with mediatype native', () => {\n const request = spec.buildRequests(validBidRequests, nativeBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('native');\n });\n });\n }\n // describe('MULTIFORMAT', () => {\n // let multiFormatBidderRequest;\n // it('should have both banner & video impressions', () => {\n // multiFormatBidderRequest = utils.deepClone(bidderRequest);\n // multiFormatBidderRequest.bids[0].mediaTypes.video = {\n // skip: 1,\n // mimes: ['video/mp4', 'video/x-flv'],\n // minduration: 5,\n // maxduration: 30,\n // startdelay: 5,\n // playbackmethod: [1, 3],\n // api: [1, 2],\n // protocols: [2, 3],\n // battr: [13, 14],\n // linearity: 1,\n // placement: 2,\n // plcmt: 1,\n // minbitrate: 10,\n // maxbitrate: 10,\n // playerSize: [640, 480]\n // }\n // const request = spec.buildRequests(validBidRequests, multiFormatBidderRequest);\n // const { imp } = request?.data;\n // expect(imp).to.be.an('array');\n // expect(imp[0]).to.have.property('banner');\n // expect(imp[0].banner).to.have.property('topframe');\n // expect(imp[0].banner).to.have.property('format');\n // expect(imp[0]).to.have.property('video');\n // });\n\n // it('should have both banner & native impressions', () => {\n // multiFormatBidderRequest = utils.deepClone(bidderRequest);\n // multiFormatBidderRequest.bids[0].nativeOrtbRequest = {\n // ver: '1.2',\n // assets: [{\n // id: 0,\n // img: {\n // 'type': 3,\n // 'w': 300,\n // 'h': 250\n // },\n // required: 1,\n // }]\n // };\n // const request = spec.buildRequests(validBidRequests, multiFormatBidderRequest);\n // const { imp } = request?.data;\n // expect(imp).to.be.an('array');\n // expect(imp[0]).to.have.property('banner');\n // expect(imp[0].banner).to.have.property('topframe');\n // expect(imp[0].banner).to.have.property('format');\n // expect(imp[0]).to.have.property('native');\n // });\n // });\n });\n\n describe('rest of ORTB request', () => {\n describe('BCAT', () => {\n it('should contain only string values', () => {\n validBidRequests[0].params.bcat = [1, 2, 3, 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should contain string values with length greater than 3', function() {\n validBidRequests[0].params.bcat = ['AB', 'CD', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should trim strings', function() {\n validBidRequests[0].params.bcat = [' IAB1 ', ' IAB2 '];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should pass unique strings', function() {\n validBidRequests[0].params.bcat = ['IAB1', 'IAB2', 'IAB1', 'IAB2', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('bcat');\n expect(request.data).to.have.property('bcat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should fail if validations are not met', function() {\n validBidRequests[0].params.bcat = ['', 'IA', 'IB'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.not.have.property('bcat');\n });\n });\n\n describe('ACAT', () => {\n it('should contain only string values', () => {\n validBidRequests[0].params.acat = [1, 2, 3, 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should trim strings', () => {\n validBidRequests[0].params.acat = [' IAB1 ', ' IAB2 '];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should pass unique strings', () => {\n validBidRequests[0].params.acat = ['IAB1', 'IAB2', 'IAB1', 'IAB2', 'IAB1', 'IAB2'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n expect(request.data).to.have.property('acat').to.deep.equal(['IAB1', 'IAB2']);\n });\n\n it('should fail if validations are not met', () => {\n validBidRequests[0].params.acat = ['', 'IA', 'IB'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('acat');\n });\n });\n\n describe('TMAX, ID, AT, CUR, EXT', () => {\n it('should have tmax', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('tmax').to.equal(2000);\n });\n\n describe('Gzip Configuration', () => {\n let configStub;\n let bidderConfigStub;\n\n beforeEach(() => {\n configStub = sinon.stub(config, 'getConfig');\n bidderConfigStub = sinon.stub(config, 'getBidderConfig');\n });\n\n afterEach(() => {\n configStub.restore();\n if (bidderConfigStub && bidderConfigStub.restore) {\n bidderConfigStub.restore();\n }\n });\n\n it('should enable gzip compression by default', () => {\n // No specific configuration set, should use default\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.options.endpointCompression).to.be.true;\n });\n\n it('should respect bidder-specific boolean configuration set via setBidderConfig', () => {\n // Mock bidder-specific config to return false\n bidderConfigStub.returns({\n pubmatic: {\n gzipEnabled: false\n }\n });\n\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.options.endpointCompression).to.be.false;\n });\n\n it('should handle bidder-specific string configuration (\"true\")', () => {\n bidderConfigStub.returns({\n pubmatic: {\n gzipEnabled: 'true'\n }\n });\n\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.options.endpointCompression).to.be.true;\n });\n\n it('should handle bidder-specific string configuration (\"false\")', () => {\n bidderConfigStub.returns({\n pubmatic: {\n gzipEnabled: 'false'\n }\n });\n\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.options.endpointCompression).to.be.false;\n });\n\n it('should fall back to default when bidder-specific value is invalid', () => {\n // Mock bidder-specific config to return invalid value\n bidderConfigStub.returns({\n pubmatic: {\n gzipEnabled: 'invalid'\n }\n });\n\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n // Should fall back to default (true)\n expect(request.options.endpointCompression).to.be.true;\n });\n });\n\n it('should remove test if pubmaticTest is not set', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('test').to.equal(undefined);\n });\n\n it('should have id', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('id');\n });\n\n it('should set at to 1', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('at').to.equal(1);\n });\n\n it('should have cur', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('cur').to.be.an('array').to.have.lengthOf(1);\n expect(request.data).to.have.property('cur').to.include.members(['USD']);\n });\n\n it('should have ext', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.have.property('epoch');\n expect(request.data).to.have.property('ext').to.have.property('wrapper');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('profile');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wiid');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wv');\n expect(request.data).to.have.property('ext').to.have.property('wrapper').to.have.property('wp');\n });\n\n it('should have url with post method', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request).to.have.property('method').to.equal('POST');\n expect(request).to.have.property('url').to.equal('https://hbopenbid.pubmatic.com/translator?source=prebid-client');\n });\n });\n\n describe('Request Options', () => {\n it('should set endpointCompression to true in request options', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request).to.have.property('options');\n expect(request.options).to.have.property('endpointCompression').to.equal(true);\n });\n });\n\n describe('GROUPM', () => {\n let bidderSettingStub;\n beforeEach(() => {\n bidderSettingStub = sinon.stub(bidderSettings, 'get');\n });\n\n afterEach(() => {\n bidderSettingStub.restore();\n });\n\n it('should skip setting the marketplace object in extension if allowAlternateBidderCodes is not defined', () => {\n bidderSettingStub.returns(undefined);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.not.have.property('marketplace');\n });\n\n it('should set the marketplace object in the extension when allowAlternateBidderCodes is set to \"groupm\"', () => {\n bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);\n bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['groupm']);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext').to.have.property('marketplace');\n expect(request.data).to.have.property('ext').to.have.property('marketplace').to.have.property('allowedbidders').to.be.an('array');\n expect(request.data.ext.marketplace.allowedbidders.length).to.equal(2);\n expect(request.data.ext.marketplace.allowedbidders[0]).to.equal('pubmatic');\n expect(request.data.ext.marketplace.allowedbidders[1]).to.equal('groupm');\n });\n\n it('should be ALL when allowedAlternateBidderCodes is \\'*\\'', () => {\n bidderSettingStub.withArgs('pubmatic', 'allowAlternateBidderCodes').returns(true);\n bidderSettingStub.withArgs('pubmatic', 'allowedAlternateBidderCodes').returns(['*']);\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data.ext.marketplace.allowedbidders).to.be.an('array');\n expect(request.data.ext.marketplace.allowedbidders[0]).to.equal('all');\n });\n });\n\n describe('SITE', () => {\n it('should have site object', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('site');\n });\n\n it('should have site object with page, domain', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('site').to.have.property('page').to.equal('https://ebay.com');\n expect(request.data).to.have.property('site').to.have.property('domain').to.equal('ebay.com');\n });\n });\n\n describe('DEVICE', () => {\n it('should have device object', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('device');\n expect(request.data.device).to.have.property('w').to.equal(1200);\n expect(request.data.device).to.have.property('h').to.equal(1800);\n expect(request.data.device).to.have.property('js').to.equal(1);\n expect(request.data.device).to.have.property('connectiontype');\n expect(request.data.device).to.have.property('language').to.equal('en');\n });\n });\n\n describe('CONFIG/BADV', () => {\n let copiedBidderRequest;\n beforeEach(() => {\n copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.app = {\n id: 'app-id',\n name: 'app-name',\n };\n copiedBidderRequest.ortb2.site.ext = {\n id: 'site-id',\n name: 'site-name',\n }\n copiedBidderRequest.ortb2.badv = ['example.com'];\n });\n\n it('should have app if it is set in ortb2', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('app');\n });\n\n it('should include app if it is defined in ortb2 but not site', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('app');\n expect(request.data).to.not.have.property('site');\n });\n\n it('should have badv if it is set in ortb2', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('badv');\n expect(request.data.badv).to.deep.equal(['example.com']);\n });\n });\n\n describe('AUCTION ID', () => {\n it('should use auctionId as wiid when it is not provided in params', () => {\n const copiedValidBidRequests = utils.deepClone(validBidRequests);\n delete copiedValidBidRequests[0].params.wiid;\n const request = spec.buildRequests(copiedValidBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext');\n expect(request.data.ext).to.have.property('wrapper');\n expect(request.data.ext.wrapper).to.have.property('wiid');\n expect(request.data.ext.wrapper.wiid).to.equal('ee3074fe-97ce-4681-9235-d7622aede74c');\n });\n\n it('should use auctionId as wiid from params', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('ext');\n expect(request.data.ext).to.have.property('wrapper');\n expect(request.data.ext.wrapper).to.have.property('wiid');\n expect(request.data.ext.wrapper.wiid).to.equal('1234567890');\n });\n });\n\n describe('GDPR', () => {\n let copiedBidderRequest;\n beforeEach(() => {\n copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.user = {\n ext: {\n consent: 'kjfdniwjnifwenrif3'\n }\n }\n });\n\n it('should have GDPR string', () => {\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('user');\n expect(request.data.user).to.have.property('ext');\n expect(request.data.user.ext).to.have.property('consent').to.equal('kjfdniwjnifwenrif3');\n });\n });\n\n describe('GPP', () => {\n it('should have gpp & gpp_sid in request if set using ortb2 and not present in request', () => {\n const copiedBidderRequest = utils.deepClone(bidderRequest);\n copiedBidderRequest.ortb2.regs = {\n gpp: 'DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN',\n gpp_sid: [5]\n }\n const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n expect(request.data).to.have.property('regs');\n expect(request.data.regs).to.have.property('gpp').to.equal('DBACNYA~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA~1YNN');\n expect(request.data.regs).to.have.property('gpp_sid').that.eql([5]);\n });\n });\n\n describe('DSA', () => {\n const dsa = {\n dsarequired: 3,\n pubrender: 0,\n datatopub: 2,\n transparency: [\n {\n domain: 'platform1domain.com',\n dsaparams: [1]\n },\n {\n domain: 'SSP2domain.com',\n dsaparams: [1, 2]\n }\n ]\n };\n beforeEach(() => {\n bidderRequest.ortb2.regs = {ext: { dsa }};\n });\n\n it('should have DSA in regs.ext', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('regs');\n expect(request.data.regs).to.have.property('ext');\n expect(request.data.regs.ext).to.have.property('dsa').to.deep.equal(dsa);\n });\n });\n\n describe('ORTB2IMP', () => {\n it('should send gpid if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('gpid');\n expect(request.data.imp[0].ext.gpid).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send pbadslot if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('pbadslot');\n expect(request.data.imp[0].ext.data.pbadslot).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send adserver if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('adserver');\n expect(request.data.imp[0].ext.data.adserver).to.have.property('name');\n expect(request.data.imp[0].ext.data.adserver.name).to.equal('gam');\n expect(request.data.imp[0].ext.data.adserver).to.have.property('adslot');\n expect(request.data.imp[0].ext.data.adserver.adslot).to.equal('/1111/homepage-leftnav');\n });\n\n it('should send custom data if specified', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.have.property('data');\n expect(request.data.imp[0].ext.data).to.have.property('customData');\n expect(request.data.imp[0].ext.data.customData).to.have.property('id').to.equal('id-1');\n });\n });\n\n describe('FLEDGE', () => {\n it('should not send imp.ext.ae when FLEDGE is disabled, ', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n expect(request.data).to.have.property('imp');\n expect(request.data.imp).to.be.an('array');\n expect(request.data.imp[0]).to.have.property('ext');\n expect(request.data.imp[0].ext).to.not.have.property('ae');\n });\n })\n\n describe('cpm adjustment', () => {\n beforeEach(() => {\n global.cpmAdjustment = {};\n });\n\n it('should not perform any action if the bid is undefined', () => {\n spec.onBidWon(undefined);\n expect(global.cpmAdjustment).to.deep.equal({});\n });\n\n it('should not perform any action if the bid is null', () => {\n spec.onBidWon(null);\n expect(global.cpmAdjustment).to.deep.equal({});\n });\n it('should invoke _calculateBidCpmAdjustment and correctly update cpmAdjustment', () => {\n const bid = {\n cpm: 2.5,\n originalCpm: 3,\n originalCurrency: 'USD',\n currency: 'USD',\n mediaType: 'banner',\n meta: { mediaType: 'banner' }\n };\n\n spec.onBidWon(bid);\n\n expect(cpmAdjustment).to.deep.equal({\n currency: 'USD',\n originalCurrency: 'USD',\n adjustment: [\n {\n cpmAdjustment: Number(((3 - 2.5) / 3).toFixed(2)), // Expected: 0.17\n mediaType: 'banner',\n metaMediaType: 'banner',\n cpm: 2.5,\n originalCpm: 3\n }\n ]\n });\n });\n });\n\n // describe('USER ID/ EIDS', () => {\n // let copiedBidderRequest;\n // beforeEach(() => {\n // copiedBidderRequest = utils.deepClone(bidderRequest);\n // copiedBidderRequest.bids[0].userId = {\n // id5id : {\n // uid: 'id5id-xyz-user-id'\n // }\n // }\n // copiedBidderRequest.bids[0].userIdAsEids = [{\n // source: 'id5-sync.com',\n // uids: [{\n // 'id': \"ID5*G3_osFE_-UHoUjSuA4T8-f51U-JTNOoGcb2aMpx1APnDy8pDwkKCzXCcoSb1HXIIw9AjWBOWmZ3QbMUDTXKq8MPPW8h0II9mBYkP4F_IXkvD-XG64NuFFDPKvez1YGGx\",\n // 'atype': 1,\n // 'ext': {\n // 'linkType': 2,\n // 'pba': 'q6Vzr0jEebxzmvS8aSrVQJFoJnOxs9gKBKCOLw1y6ew='\n // }\n // }]\n // }]\n // });\n\n // it('should send gpid if specified', () => {\n // const request = spec.buildRequests(validBidRequests, copiedBidderRequest);\n // expect(request.data).to.have.property('user');\n // expect(request.data.user).to.have.property('eids');\n // });\n // });\n });\n });\n\n describe('Response', () => {\n it('should return response in prebid format', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(response, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('ad');\n expect(bidResponse[0]).to.have.property('dealId');\n expect(bidResponse[0]).to.have.property('dealChannel');\n expect(bidResponse[0]).to.have.property('currency');\n expect(bidResponse[0]).to.have.property('meta');\n expect(bidResponse[0]).to.have.property('mediaType');\n expect(bidResponse[0]).to.have.property('referrer');\n expect(bidResponse[0]).to.have.property('cpm');\n expect(bidResponse[0]).to.have.property('pm_seat');\n expect(bidResponse[0]).to.have.property('pm_dspid');\n expect(bidResponse[0]).to.have.property('sspID');\n expect(bidResponse[0]).to.have.property('partnerImpId');\n expect(bidResponse[0]).to.have.property('requestId');\n expect(bidResponse[0]).to.have.property('width');\n expect(bidResponse[0]).to.have.property('height');\n expect(bidResponse[0]).to.have.property('ttl');\n expect(bidResponse[0]).to.have.property('netRevenue');\n expect(bidResponse[0]).to.have.property('creativeId');\n });\n\n it('should return response and match with input values', () => {\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(response, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('currency').to.be.equal('USD');\n expect(bidResponse[0]).to.have.property('dealId').to.equal('PUBDEAL1');\n expect(bidResponse[0]).to.have.property('dealChannel').to.equal('PMPG');\n expect(bidResponse[0]).to.have.property('meta').to.be.an('object');\n expect(bidResponse[0]).to.have.property('mediaType').to.equal('banner');\n expect(bidResponse[0]).to.have.property('cpm').to.equal(1.3);\n expect(bidResponse[0]).to.have.property('pm_seat').to.equal('seat-id');\n expect(bidResponse[0]).to.have.property('pm_dspid').to.equal(123);\n expect(bidResponse[0]).to.have.property('sspID').to.equal('74858439-49D7-4169-BA5D-44A046315B2F');\n expect(bidResponse[0]).to.have.property('requestId').to.equal('3736271c3c4b27');\n expect(bidResponse[0]).to.have.property('width').to.equal(300);\n expect(bidResponse[0]).to.have.property('height').to.equal(250);\n expect(bidResponse[0]).to.have.property('ttl').to.equal(360);\n });\n\n describe('DEALID', () => {\n it('should set deal_channel to PMP if ext.deal_channel is missing', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].ext.deal_channel;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('dealChannel').to.equal('PMP');\n });\n\n it('should exclude deal_id and deal_channel from the response if the deal id is missing', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].ext.deal_channel;\n delete copiedResponse.body.seatbid[0].bid[0].dealid;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.not.have.property('dealId');\n expect(bidResponse[0]).to.not.have.property('dealChannel');\n });\n });\n if (FEATURES.VIDEO) {\n describe('VIDEO', () => {\n beforeEach(() => {\n const videoBidderRequest = utils.deepClone(bidderRequest);\n delete videoBidderRequest.bids[0].mediaTypes.banner;\n videoBidderRequest.bids[0].mediaTypes.video = {\n skip: 1,\n mimes: ['video/mp4', 'video/x-flv'],\n minduration: 5,\n maxduration: 30,\n startdelay: 5,\n playbackmethod: [1, 3],\n api: [1, 2],\n protocols: [2, 3],\n battr: [13, 14],\n linearity: 1,\n placement: 2,\n plcmt: 1,\n context: 'outstream',\n minbitrate: 10,\n maxbitrate: 10,\n playerSize: [640, 480]\n }\n });\n\n it('should generate video response', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n const bidResponse = spec.interpretResponse(videoResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('vastXml');\n expect(bidResponse[0]).to.have.property('mediaType');\n expect(bidResponse[0]).to.have.property('playerHeight');\n expect(bidResponse[0]).to.have.property('playerWidth');\n });\n\n it('should generate video response with input values', () => {\n const request = spec.buildRequests(validBidRequests, videoBidderRequest);\n const { imp } = request?.data;\n expect(imp).to.be.an('array');\n expect(imp[0]).to.have.property('video');\n const bidResponse = spec.interpretResponse(videoResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0]).to.have.property('mediaType').to.equal('video');\n expect(bidResponse[0]).to.have.property('playerHeight').to.equal(480);\n expect(bidResponse[0]).to.have.property('playerWidth').to.equal(640);\n });\n });\n }\n\n describe('CATEGORY IDS', () => {\n it('should set primaryCatId and secondaryCatIds in meta when bid.cat is present', () => {\n const copiedResponse = utils.deepClone(response);\n copiedResponse.body.seatbid[0].bid[0].cat = ['IAB1', 'IAB2', 'IAB3'];\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.have.property('primaryCatId').to.equal('IAB1');\n expect(bidResponse[0].meta).to.have.property('secondaryCatIds').to.deep.equal(['IAB1', 'IAB2', 'IAB3']);\n });\n\n it('should not set primaryCatId and secondaryCatIds in meta when bid.cat is null', () => {\n const copiedResponse = utils.deepClone(response);\n copiedResponse.body.seatbid[0].bid[0].cat = null;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.not.have.property('primaryCatId');\n expect(bidResponse[0].meta).to.not.have.property('secondaryCatIds');\n });\n\n it('should not set primaryCatId and secondaryCatIds in meta when bid.cat is undefined', () => {\n const copiedResponse = utils.deepClone(response);\n delete copiedResponse.body.seatbid[0].bid[0].cat;\n const request = spec.buildRequests(validBidRequests, bidderRequest);\n const bidResponse = spec.interpretResponse(copiedResponse, request);\n expect(bidResponse).to.be.an('array');\n expect(bidResponse[0]).to.be.an('object');\n expect(bidResponse[0].meta).to.not.have.property('primaryCatId');\n expect(bidResponse[0].meta).to.not.have.property('secondaryCatIds');\n });\n });\n\n describe('getUserSyncs', () => {\n beforeEach(() => {\n spec.buildRequests(validBidRequests, bidderRequest);\n });\n\n afterEach(() => {\n config.resetConfig();\n });\n\n it('returns iframe sync url with consent parameters and COPPA', () => {\n config.setConfig({ coppa: true });\n const gdprConsent = { gdprApplies: true, consentString: 'CONSENT' };\n const uspConsent = '1YNN';\n const gppConsent = { gppString: 'GPP', applicableSections: [2, 4] };\n const [sync] = spec.getUserSyncs({ iframeEnabled: true }, [], gdprConsent, uspConsent, gppConsent);\n expect(sync).to.deep.equal({\n type: 'iframe',\n url: 'https://ads.pubmatic.com/AdServer/js/user_sync.html?kdntuid=1&p=5670&gdpr=1&gdpr_consent=CONSENT&us_privacy=1YNN&gpp=GPP&gpp_sid=2%2C4&coppa=1'\n });\n });\n\n it('returns image sync url when no consent data provided', () => {\n const [sync] = spec.getUserSyncs({}, []);\n expect(sync).to.deep.equal({\n type: 'image',\n url: 'https://image8.pubmatic.com/AdServer/ImgSync?p=5670'\n });\n });\n });\n })\n})\n\ndescribe('addViewabilityToImp', () => {\n let imp;\n let element;\n let originalGetElementById;\n let originalVisibilityState;\n let sandbox;\n\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n imp = { ext: {} };\n element = document.createElement('div');\n element.id = 'Div1';\n document.body.appendChild(element);\n originalGetElementById = document.getElementById;\n sandbox.stub(document, 'getElementById').callsFake(id => id === 'Div1' ? element : null);\n originalVisibilityState = document.visibilityState;\n Object.defineProperty(document, 'visibilityState', {\n value: 'visible',\n configurable: true\n });\n sandbox.stub(utils, 'getWindowTop').returns(window);\n });\n\n afterEach(() => {\n sandbox.restore();\n document.body.removeChild(element);\n Object.defineProperty(document, 'visibilityState', {\n value: originalVisibilityState,\n configurable: true\n });\n document.getElementById = originalGetElementById;\n });\n\n it('should add viewability to imp.ext when measurable', () => {\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.have.property('viewability');\n });\n\n it('should set viewability amount to \"na\" if not measurable (e.g., in iframe)', () => {\n const isIframeStub = sandbox.stub(utils, 'inIframe').returns(true);\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.have.property('viewability');\n expect(imp.ext.viewability.amount).to.equal('na');\n });\n\n it('should not add viewability if element is not found', () => {\n document.getElementById.restore();\n sandbox.stub(document, 'getElementById').returns(null);\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.not.have.property('viewability');\n });\n\n it('should create imp.ext if not present', () => {\n imp = {};\n addViewabilityToImp(imp, 'Div1', { w: 300, h: 250 });\n expect(imp.ext).to.exist;\n expect(imp.ext).to.have.property('viewability');\n });\n});\n"],"mappings":"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","ignoreList":[]}
|