prebid.js 10.3.0 → 10.5.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/.github/workflows/run-unit-tests.yml +8 -0
- package/.github/workflows/test-chunk.yml +9 -0
- package/.github/workflows/test.yml +8 -0
- package/README.md +1 -14
- package/creative/renderers/display/renderer.js +5 -1
- 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/adipoloBidAdapter.js +1 -1
- package/dist/chunks/adipoloBidAdapter.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.js +1 -1
- package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
- package/dist/chunks/admixerBidAdapter.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/adpartnerBidAdapter.js +1 -1
- package/dist/chunks/adplayerproVideoProvider.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.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.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.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/beachfrontBidAdapter.js +1 -1
- package/dist/chunks/beachfrontBidAdapter.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.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/buzzoolaBidAdapter.js +1 -1
- package/dist/chunks/cadent_aperture_mxBidAdapter.js +1 -1
- package/dist/chunks/cadent_aperture_mxBidAdapter.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.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/codefuelBidAdapter.js +1 -1
- package/dist/chunks/compassBidAdapter.metadata.js +1 -1
- package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
- package/dist/chunks/concertAnalyticsAdapter.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/contxtfulRtdProvider.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/creative-renderer-display.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-standalone.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/dependencies.json +7 -0
- 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/equativUtils.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.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/intersectionRtdProvider.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/livewrappedAnalyticsAdapter.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.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/mediaImpactUtils.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/mediaimpactBidAdapter.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/mobkoiAnalyticsAdapter.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.js +1 -1
- package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
- package/dist/chunks/mobkoiIdSystem.js +1 -1
- package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
- package/dist/chunks/multibid.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/ortbConverter.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/pbsExtensions.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/prebidServerBidAdapter.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/pwbidBidAdapter.js +1 -1
- package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
- package/dist/chunks/pxyzBidAdapter.js +1 -1
- package/dist/chunks/qtBidAdapter.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.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/rtbsapeBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.js +1 -1
- package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
- package/dist/chunks/scatteredBidAdapter.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/sizeMapping.js +1 -1
- package/dist/chunks/slimcutBidAdapter.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/sovrnBidAdapter.metadata.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/tadvertisingBidAdapter.js +1 -0
- package/dist/chunks/tadvertisingBidAdapter.metadata.js +1 -0
- package/dist/chunks/talkadsBidAdapter.js +1 -1
- package/dist/chunks/talkadsBidAdapter.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/ucfunnelBidAdapter.js +1 -1
- package/dist/chunks/ucfunnelBidAdapter.metadata.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.js +1 -1
- package/dist/chunks/userId.metadata.js +1 -1
- package/dist/chunks/validationFpdModule.metadata.js +1 -1
- package/dist/chunks/ventesBidAdapter.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/videoreachBidAdapter.js +1 -1
- package/dist/chunks/videoreachBidAdapter.metadata.js +1 -1
- package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
- package/dist/chunks/viewdeosDXBidAdapter.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.js +1 -1
- package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
- package/dist/chunks/yieldliftBidAdapter.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 +480 -478
- package/dist/src/creative/renderers/display/renderer.js +3 -1
- package/dist/src/creative/renderers/display/renderer.js.map +1 -1
- package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
- package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
- package/dist/src/libraries/equativUtils/equativUtils.js +1 -1
- package/dist/src/libraries/equativUtils/equativUtils.js.map +1 -1
- package/dist/src/libraries/greedy/greedyPromise.js +15 -7
- package/dist/src/libraries/greedy/greedyPromise.js.map +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/mediaImpactUtils/index.js +93 -0
- package/dist/src/libraries/mediaImpactUtils/index.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/ortbConverter/processors/default.js +1 -1
- package/dist/src/libraries/ortbConverter/processors/default.js.map +1 -1
- package/dist/src/libraries/pbsExtensions/processors/pbs.js +3 -1
- package/dist/src/libraries/pbsExtensions/processors/pbs.js.map +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/adipoloBidAdapter.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/beachfrontBidAdapter.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/cadent_aperture_mxBidAdapter.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/pwbidBidAdapter.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/sovrnBidAdapter.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/tadvertisingBidAdapter.js +2 -0
- package/dist/src/metadata/modules/talkadsBidAdapter.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/ucfunnelBidAdapter.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/videoreachBidAdapter.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 +5 -2
- package/dist/src/modules/adagioBidAdapter.js.map +1 -1
- package/dist/src/modules/addefendBidAdapter.js +1 -1
- package/dist/src/modules/adgenerationBidAdapter.js +1 -1
- package/dist/src/modules/adipoloBidAdapter.js +2 -0
- package/dist/src/modules/adipoloBidAdapter.js.map +1 -1
- package/dist/src/modules/adlooxRtdProvider.js +1 -1
- package/dist/src/modules/admaticBidAdapter.js +12 -8
- package/dist/src/modules/admaticBidAdapter.js.map +1 -1
- package/dist/src/modules/admixerBidAdapter.js +3 -1
- package/dist/src/modules/admixerBidAdapter.js.map +1 -1
- package/dist/src/modules/adpartnerBidAdapter.js +5 -87
- package/dist/src/modules/adpartnerBidAdapter.js.map +1 -1
- package/dist/src/modules/adplayerproVideoProvider.js +3 -1
- package/dist/src/modules/adplayerproVideoProvider.js.map +1 -1
- package/dist/src/modules/adqueryBidAdapter.js +1 -1
- package/dist/src/modules/adrelevantisBidAdapter.js +10 -4
- package/dist/src/modules/adrelevantisBidAdapter.js.map +1 -1
- package/dist/src/modules/adstirBidAdapter.js +1 -1
- package/dist/src/modules/adtelligentBidAdapter.js +4 -0
- package/dist/src/modules/adtelligentBidAdapter.js.map +1 -1
- package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
- package/dist/src/modules/advertisingBidAdapter.js +5 -3
- package/dist/src/modules/advertisingBidAdapter.js.map +1 -1
- 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/aidemBidAdapter.js +0 -2
- package/dist/src/modules/aidemBidAdapter.js.map +1 -1
- package/dist/src/modules/ajaBidAdapter.js +1 -1
- package/dist/src/modules/ampliffyBidAdapter.js +0 -2
- package/dist/src/modules/ampliffyBidAdapter.js.map +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 +5 -3
- package/dist/src/modules/appnexusBidAdapter.js.map +1 -1
- package/dist/src/modules/asoBidAdapter.js +1 -1
- package/dist/src/modules/axonixBidAdapter.js +1 -1
- package/dist/src/modules/beachfrontBidAdapter.js +2 -2
- package/dist/src/modules/beachfrontBidAdapter.js.map +1 -1
- package/dist/src/modules/beopBidAdapter.js +2 -2
- package/dist/src/modules/bidViewability.js +4 -1
- package/dist/src/modules/bidViewability.js.map +1 -1
- package/dist/src/modules/bidglassBidAdapter.js +1 -1
- package/dist/src/modules/bidmaticBidAdapter.js +1 -0
- package/dist/src/modules/bidmaticBidAdapter.js.map +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/buzzoolaBidAdapter.js +3 -1
- package/dist/src/modules/buzzoolaBidAdapter.js.map +1 -1
- package/dist/src/modules/cadent_aperture_mxBidAdapter.js +5 -10
- package/dist/src/modules/cadent_aperture_mxBidAdapter.js.map +1 -1
- package/dist/src/modules/carodaBidAdapter.js +1 -1
- package/dist/src/modules/ccxBidAdapter.js +0 -2
- package/dist/src/modules/ccxBidAdapter.js.map +1 -1
- package/dist/src/modules/chtnwBidAdapter.js +1 -1
- package/dist/src/modules/codefuelBidAdapter.js +3 -1
- package/dist/src/modules/codefuelBidAdapter.js.map +1 -1
- package/dist/src/modules/concertAnalyticsAdapter.js +3 -1
- package/dist/src/modules/concertAnalyticsAdapter.js.map +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/contxtfulRtdProvider.js +4 -1
- package/dist/src/modules/contxtfulRtdProvider.js.map +1 -1
- package/dist/src/modules/conversantBidAdapter.js +1 -1
- package/dist/src/modules/craftBidAdapter.js +1 -1
- package/dist/src/modules/criteoBidAdapter.js +14 -10
- package/dist/src/modules/criteoBidAdapter.js.map +1 -1
- package/dist/src/modules/cwireBidAdapter.js +1 -1
- package/dist/src/modules/dailymotionBidAdapter.js +1 -1
- package/dist/src/modules/dspxBidAdapter.js +4 -2
- package/dist/src/modules/dspxBidAdapter.js.map +1 -1
- package/dist/src/modules/dxkultureBidAdapter.js +1 -1
- package/dist/src/modules/eplanningBidAdapter.js +4 -2
- package/dist/src/modules/eplanningBidAdapter.js.map +1 -1
- package/dist/src/modules/equativBidAdapter.js +4 -2
- package/dist/src/modules/equativBidAdapter.js.map +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 +7 -5
- package/dist/src/modules/feedadBidAdapter.js.map +1 -1
- 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/innityBidAdapter.js +0 -2
- package/dist/src/modules/innityBidAdapter.js.map +1 -1
- package/dist/src/modules/insticatorBidAdapter.js +1 -1
- package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
- package/dist/src/modules/intersectionRtdProvider.js +3 -1
- package/dist/src/modules/intersectionRtdProvider.js.map +1 -1
- package/dist/src/modules/ixBidAdapter.js +1 -1
- package/dist/src/modules/jixieBidAdapter.js +1 -1
- package/dist/src/modules/justpremiumBidAdapter.js +3 -2
- package/dist/src/modules/justpremiumBidAdapter.js.map +1 -1
- package/dist/src/modules/kargoBidAdapter.js +3 -2
- package/dist/src/modules/kargoBidAdapter.js.map +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/livewrappedAnalyticsAdapter.js +10 -0
- package/dist/src/modules/livewrappedAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/logicadBidAdapter.js +1 -1
- package/dist/src/modules/luceadBidAdapter.js +1 -3
- package/dist/src/modules/luceadBidAdapter.js.map +1 -1
- package/dist/src/modules/mabidderBidAdapter.js +1 -1
- package/dist/src/modules/madsenseBidAdapter.js +1 -1
- package/dist/src/modules/madvertiseBidAdapter.js +3 -1
- package/dist/src/modules/madvertiseBidAdapter.js.map +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 +5 -3
- package/dist/src/modules/mediafuseBidAdapter.js.map +1 -1
- package/dist/src/modules/mediaimpactBidAdapter.js +5 -87
- package/dist/src/modules/mediaimpactBidAdapter.js.map +1 -1
- 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 -2
- package/dist/src/modules/mobilefuseBidAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiAnalyticsAdapter.js +17 -17
- package/dist/src/modules/mobkoiAnalyticsAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiBidAdapter.js +19 -16
- package/dist/src/modules/mobkoiBidAdapter.js.map +1 -1
- package/dist/src/modules/mobkoiIdSystem.js +20 -11
- package/dist/src/modules/mobkoiIdSystem.js.map +1 -1
- package/dist/src/modules/multibid/index.d.ts +1 -1
- package/dist/src/modules/multibid/index.js +3 -1
- package/dist/src/modules/multibid/index.js.map +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/permutiveRtdProvider.js +2 -1
- package/dist/src/modules/permutiveRtdProvider.js.map +1 -1
- package/dist/src/modules/pixfutureBidAdapter.js +2 -2
- package/dist/src/modules/prebidServerBidAdapter/bidderConfig.js +3 -1
- package/dist/src/modules/prebidServerBidAdapter/bidderConfig.js.map +1 -1
- 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 +5 -3
- package/dist/src/modules/pubmaticAnalyticsAdapter.js.map +1 -1
- 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/pulsepointBidAdapter.js.map +1 -1
- package/dist/src/modules/pwbidBidAdapter.js +0 -2
- package/dist/src/modules/pwbidBidAdapter.js.map +1 -1
- package/dist/src/modules/pxyzBidAdapter.js +1 -1
- package/dist/src/modules/qtBidAdapter.js +0 -2
- package/dist/src/modules/qtBidAdapter.js.map +1 -1
- package/dist/src/modules/quantcastBidAdapter.js +1 -1
- package/dist/src/modules/raynRtdProvider.js +1 -3
- package/dist/src/modules/raynRtdProvider.js.map +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 -3
- package/dist/src/modules/retailspotBidAdapter.js.map +1 -1
- package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
- package/dist/src/modules/rtbsapeBidAdapter.js +3 -1
- package/dist/src/modules/rtbsapeBidAdapter.js.map +1 -1
- package/dist/src/modules/rubiconBidAdapter.js +31 -8
- package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
- package/dist/src/modules/scatteredBidAdapter.js +0 -2
- package/dist/src/modules/scatteredBidAdapter.js.map +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/sizeMapping.js +3 -1
- package/dist/src/modules/sizeMapping.js.map +1 -1
- package/dist/src/modules/slimcutBidAdapter.js +1 -3
- package/dist/src/modules/slimcutBidAdapter.js.map +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 +4 -2
- package/dist/src/modules/stvBidAdapter.js.map +1 -1
- package/dist/src/modules/sublimeBidAdapter.js +2 -2
- package/dist/src/modules/taboolaBidAdapter.js +1 -1
- package/dist/src/modules/tadvertisingBidAdapter.js +252 -0
- package/dist/src/modules/tadvertisingBidAdapter.js.map +1 -0
- package/dist/src/modules/talkadsBidAdapter.js +0 -2
- package/dist/src/modules/talkadsBidAdapter.js.map +1 -1
- package/dist/src/modules/tappxBidAdapter.js +15 -2
- package/dist/src/modules/tappxBidAdapter.js.map +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/ucfunnelBidAdapter.js +0 -2
- package/dist/src/modules/ucfunnelBidAdapter.js.map +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/userId/eids.js +8 -6
- package/dist/src/modules/userId/eids.js.map +1 -1
- package/dist/src/modules/ventesBidAdapter.js +6 -2
- package/dist/src/modules/ventesBidAdapter.js.map +1 -1
- package/dist/src/modules/videobyteBidAdapter.js +1 -1
- package/dist/src/modules/videoreachBidAdapter.js +0 -2
- package/dist/src/modules/videoreachBidAdapter.js.map +1 -1
- package/dist/src/modules/viewdeosDXBidAdapter.js +0 -1
- package/dist/src/modules/viewdeosDXBidAdapter.js.map +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 +4 -2
- package/dist/src/modules/winrBidAdapter.js.map +1 -1
- package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
- package/dist/src/modules/yandexBidAdapter.js +1 -1
- package/dist/src/modules/yieldlabBidAdapter.js +2 -1
- package/dist/src/modules/yieldlabBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldliftBidAdapter.js +0 -2
- package/dist/src/modules/yieldliftBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldmoBidAdapter.js +11 -5
- package/dist/src/modules/yieldmoBidAdapter.js.map +1 -1
- package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
- package/dist/src/package.json +2 -3
- package/dist/src/public/tadvertisingBidAdapter.js +1 -0
- package/dist/src/src/activities/rules.js +2 -1
- package/dist/src/src/activities/rules.js.map +1 -1
- package/dist/src/src/adUnits.js +2 -1
- package/dist/src/src/adUnits.js.map +1 -1
- package/dist/src/src/adapterManager.js +0 -1
- package/dist/src/src/adapterManager.js.map +1 -1
- package/dist/src/src/adapters/bidderFactory.js +1 -1
- package/dist/src/src/adapters/bidderFactory.js.map +1 -1
- package/dist/src/src/debugging.js +1 -1
- package/dist/src/src/prebid.js +2 -2
- package/dist/src/src/prebid.public.js +1 -1
- package/dist/src/src/secureCreatives.js +11 -5
- package/dist/src/src/secureCreatives.js.map +1 -1
- package/dist/src/src/targeting.d.ts +4 -4
- package/dist/src/src/targeting.js +2 -1
- package/dist/src/src/targeting.js.map +1 -1
- package/dist/src/test/build-logic/disclosure_spec.js +23 -0
- package/dist/src/test/build-logic/disclosure_spec.js.map +1 -0
- package/dist/src/test/build-logic/gvl_spec.js +31 -0
- package/dist/src/test/build-logic/gvl_spec.js.map +1 -0
- package/dist/src/test/spec/auctionmanager_spec.js +4 -4
- package/dist/src/test/spec/auctionmanager_spec.js.map +1 -1
- 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/adpod_spec.js +3 -3
- package/dist/src/test/spec/modules/adpod_spec.js.map +1 -1
- 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/adtelligentBidAdapter_spec.js +20 -6
- package/dist/src/test/spec/modules/adtelligentBidAdapter_spec.js.map +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/bidmaticBidAdapter_spec.js +16 -3
- package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +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/livewrappedAnalyticsAdapter_spec.js +6 -1
- package/dist/src/test/spec/modules/livewrappedAnalyticsAdapter_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/medianetAnalyticsAdapter_spec.js +1 -1
- package/dist/src/test/spec/modules/medianetAnalyticsAdapter_spec.js.map +1 -1
- 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/mobkoiAnalyticsAdapter_spec.js +11 -13
- package/dist/src/test/spec/modules/mobkoiAnalyticsAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mobkoiBidAdapter_spec.js +23 -33
- package/dist/src/test/spec/modules/mobkoiBidAdapter_spec.js.map +1 -1
- package/dist/src/test/spec/modules/mobkoiIdSystem_spec.js +10 -10
- package/dist/src/test/spec/modules/mobkoiIdSystem_spec.js.map +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/tadvertisingBidAdapter_spec.js +862 -0
- package/dist/src/test/spec/modules/tadvertisingBidAdapter_spec.js.map +1 -0
- package/dist/src/test/spec/modules/tappxBidAdapter_spec.js +41 -0
- package/dist/src/test/spec/modules/tappxBidAdapter_spec.js.map +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/dist/src/test/spec/unit/secureCreatives_spec.js +36 -0
- package/dist/src/test/spec/unit/secureCreatives_spec.js.map +1 -1
- package/dist/src/test/spec/videoCache_spec.js +10 -10
- package/dist/src/test/spec/videoCache_spec.js.map +1 -1
- package/eslint.config.js +2 -2
- package/gulpfile.js +3 -9
- package/libraries/creative-renderer-display/renderer.js +1 -1
- package/libraries/equativUtils/equativUtils.js +3 -1
- package/libraries/greedy/greedyPromise.js +10 -2
- package/libraries/liveIntentId/shared.js +16 -0
- package/libraries/mediaImpactUtils/index.js +116 -0
- package/libraries/ortbConverter/processors/default.js +3 -1
- package/libraries/pbsExtensions/processors/pbs.js +3 -1
- package/metadata/compileMetadata.mjs +24 -0
- package/metadata/gvl.mjs +22 -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/adipoloBidAdapter.json +8 -3
- 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 +3 -8
- package/metadata/modules/airgridRtdProvider.json +1 -1
- package/metadata/modules/alkimiBidAdapter.json +1 -1
- package/metadata/modules/ampliffyBidAdapter.json +3 -8
- 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/beachfrontBidAdapter.json +8 -2
- 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/cadent_aperture_mxBidAdapter.json +30 -1
- package/metadata/modules/carodaBidAdapter.json +1 -1
- package/metadata/modules/categoryTranslation.json +1 -1
- package/metadata/modules/ccxBidAdapter.json +3 -8
- 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 +3 -8
- 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 +3 -8
- 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 +3 -8
- 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/pwbidBidAdapter.json +3 -8
- package/metadata/modules/qtBidAdapter.json +3 -8
- 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 +3 -95
- 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 +3 -8
- 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 +3 -8
- 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 +5 -10
- 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/sovrnBidAdapter.json +3 -3
- 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/tadvertisingBidAdapter.json +18 -0
- package/metadata/modules/talkadsBidAdapter.json +2 -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/ucfunnelBidAdapter.json +2 -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/videoreachBidAdapter.json +2 -1
- package/metadata/modules/vidoomyBidAdapter.json +1 -1
- package/metadata/modules/viewdeosDXBidAdapter.json +3 -8
- 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 +3 -8
- 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/metadata/modules.json +56 -21
- package/metadata/storageDisclosure.mjs +5 -19
- package/modules/adagioBidAdapter.js +6 -1
- package/modules/adipoloBidAdapter.js +2 -0
- package/modules/admaticBidAdapter.js +6 -2
- package/modules/admixerBidAdapter.js +3 -1
- package/modules/adpartnerBidAdapter.js +5 -107
- package/modules/adplayerproVideoProvider.js +3 -1
- package/modules/adrelevantisBidAdapter.js +9 -3
- package/modules/adtelligentBidAdapter.js +6 -0
- package/modules/advertisingBidAdapter.js +3 -1
- package/modules/aidemBidAdapter.js +0 -2
- package/modules/ampliffyBidAdapter.js +0 -2
- package/modules/appnexusBidAdapter.js +3 -1
- package/modules/asoBidAdapter.md +1 -1
- package/modules/beachfrontBidAdapter.js +2 -3
- package/modules/bidViewability.js +4 -1
- package/modules/bidmaticBidAdapter.js +1 -0
- package/modules/buzzoolaBidAdapter.js +3 -1
- package/modules/cadent_aperture_mxBidAdapter.js +5 -6
- package/modules/ccxBidAdapter.js +0 -2
- package/modules/codefuelBidAdapter.js +3 -1
- package/modules/concertAnalyticsAdapter.js +3 -1
- package/modules/contxtfulRtdProvider.js +4 -1
- package/modules/criteoBidAdapter.js +6 -2
- package/modules/dspxBidAdapter.js +3 -1
- package/modules/eplanningBidAdapter.js +3 -1
- package/modules/equativBidAdapter.js +3 -1
- package/modules/exadsBidAdapter.md +1 -1
- package/modules/feedadBidAdapter.js +5 -3
- package/modules/innityBidAdapter.js +0 -2
- package/modules/intersectionRtdProvider.js +3 -1
- package/modules/ixBidAdapter.md +1 -1
- package/modules/justpremiumBidAdapter.js +2 -1
- package/modules/kargoBidAdapter.js +2 -1
- package/modules/limelightDigitalBidAdapter.md +1 -1
- package/modules/livewrappedAnalyticsAdapter.js +13 -0
- package/modules/lkqdBidAdapter.md +1 -1
- package/modules/luceadBidAdapter.js +0 -2
- package/modules/madvertiseBidAdapter.js +3 -1
- package/modules/mediafuseBidAdapter.js +3 -1
- package/modules/mediaimpactBidAdapter.js +5 -107
- package/modules/mobilefuseBidAdapter.js +0 -1
- package/modules/mobkoiAnalyticsAdapter.js +17 -22
- package/modules/mobkoiBidAdapter.js +21 -17
- package/modules/mobkoiIdSystem.js +23 -13
- package/modules/multibid/index.ts +3 -1
- package/modules/openxBidAdapter.js +6 -1
- package/modules/operaadsBidAdapter.md +1 -1
- package/modules/permutiveRtdProvider.js +2 -1
- package/modules/prebidServerBidAdapter/bidderConfig.js +3 -1
- package/modules/priceFloors.ts +2 -2
- package/modules/pstudioBidAdapter.md +1 -1
- package/modules/pubmaticAnalyticsAdapter.js +3 -3
- package/modules/pubmaticBidAdapter.js +21 -1
- package/modules/pubmaticBidAdapter.md +1 -1
- package/modules/pulsepointBidAdapter.js +1 -0
- package/modules/pwbidBidAdapter.js +0 -2
- package/modules/qtBidAdapter.js +0 -2
- package/modules/raynRtdProvider.js +0 -2
- package/modules/retailspotBidAdapter.js +0 -2
- package/modules/rtbsapeBidAdapter.js +3 -1
- package/modules/rubiconBidAdapter.js +19 -12
- package/modules/scatteredBidAdapter.js +0 -2
- package/modules/sevioBidAdapter.js +4 -1
- package/modules/sizeMapping.js +3 -1
- package/modules/slimcutBidAdapter.js +1 -2
- package/modules/stvBidAdapter.js +3 -1
- package/modules/tadvertisingBidAdapter.js +279 -0
- package/modules/tadvertisingBidAdapter.md +74 -0
- package/modules/talkadsBidAdapter.js +0 -2
- package/modules/tappxBidAdapter.js +17 -1
- package/modules/ucfunnelBidAdapter.js +0 -2
- package/modules/userId/eids.js +3 -1
- package/modules/vdoaiBidAdapter.md +1 -1
- package/modules/ventesBidAdapter.js +6 -2
- package/modules/videoreachBidAdapter.js +0 -2
- package/modules/viewdeosDXBidAdapter.js +0 -1
- package/modules/winrBidAdapter.js +3 -1
- package/modules/yieldlabBidAdapter.js +2 -1
- package/modules/yieldliftBidAdapter.js +0 -2
- package/modules/yieldmoBidAdapter.js +9 -3
- package/package.json +2 -3
- package/plugins/pbjsGlobals.js +8 -5
- package/src/activities/rules.js +2 -1
- package/src/adUnits.ts +2 -1
- package/src/adapterManager.ts +0 -1
- package/src/adapters/bidderFactory.ts +3 -1
- package/src/secureCreatives.js +11 -5
- package/src/targeting.ts +5 -4
- package/test/build-logic/disclosure_spec.mjs +26 -0
- package/test/build-logic/gvl_spec.mjs +32 -0
- package/test/spec/auctionmanager_spec.js +4 -4
- package/test/spec/modules/adpod_spec.js +3 -3
- package/test/spec/modules/adtelligentBidAdapter_spec.js +11 -5
- package/test/spec/modules/bidmaticBidAdapter_spec.js +13 -0
- 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/livewrappedAnalyticsAdapter_spec.js +9 -1
- package/test/spec/modules/medianetAnalyticsAdapter_spec.js +1 -1
- package/test/spec/modules/mobkoiAnalyticsAdapter_spec.js +13 -14
- package/test/spec/modules/mobkoiBidAdapter_spec.js +25 -27
- package/test/spec/modules/mobkoiIdSystem_spec.js +10 -10
- package/test/spec/modules/openxBidAdapter_spec.js +129 -0
- package/test/spec/modules/pubmaticBidAdapter_spec.js +70 -0
- package/test/spec/modules/tadvertisingBidAdapter_spec.js +965 -0
- package/test/spec/modules/tappxBidAdapter_spec.js +46 -3
- package/test/spec/unit/secureCreatives_spec.js +40 -0
- package/test/spec/videoCache_spec.js +10 -10
- package/wdio.shared.conf.js +0 -5
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_1/response.json +0 -114
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_biddersettings_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/request.json +0 -402
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/response.json +0 -294
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/request.json +0 -142
- package/dist/src/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_1/response.json +0 -366
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_priceGran_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_1/request.json +0 -401
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_1/response.json +0 -330
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_2/request.json +0 -141
- package/dist/src/test/fake-server/fixtures/longform/longform_requireExactDuration_2/response.json +0 -188
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/request.json +0 -386
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/response.json +0 -654
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/request.json +0 -136
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/response.json +0 -224
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/request.json +0 -387
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/response.json +0 -366
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/request.json +0 -137
- package/dist/src/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/response.json +0 -224
- package/dist/src/test/spec/e2e/longform/basic_w_bidderSettings.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_bidderSettings.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_priceGran.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_priceGran.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js +0 -51
- package/dist/src/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js.map +0 -1
- package/dist/src/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js +0 -56
- package/dist/src/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js.map +0 -1
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/description.md +0 -41
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_biddersettings_1/response.json +0 -114
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/description.md +0 -28
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_biddersettings_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/description.md +0 -43
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/request.json +0 -402
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_1/response.json +0 -294
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/description.md +0 -43
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/request.json +0 -142
- package/test/fake-server/fixtures/longform/longform_custom_adserver_translation_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_priceGran_1/description.md +0 -62
- package/test/fake-server/fixtures/longform/longform_priceGran_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_priceGran_1/response.json +0 -366
- package/test/fake-server/fixtures/longform/longform_priceGran_2/description.md +0 -62
- package/test/fake-server/fixtures/longform/longform_priceGran_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_priceGran_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/request.json +0 -401
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_1/response.json +0 -330
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/request.json +0 -141
- package/test/fake-server/fixtures/longform/longform_requireExactDuration_2/response.json +0 -188
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/request.json +0 -386
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_1/response.json +0 -654
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/request.json +0 -136
- package/test/fake-server/fixtures/longform/longform_wo_brandCategoryExclusion_2/response.json +0 -224
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/request.json +0 -387
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_1/response.json +0 -366
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/description.md +0 -40
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/request.json +0 -137
- package/test/fake-server/fixtures/longform/longform_wo_requireExactDuration_2/response.json +0 -224
- package/test/spec/e2e/longform/basic_w_bidderSettings.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_custom_adserver_translation.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_priceGran.spec.js +0 -64
- package/test/spec/e2e/longform/basic_w_requireExactDuration.spec.js +0 -64
- package/test/spec/e2e/longform/basic_wo_brandCategoryExclusion.spec.js +0 -59
- package/test/spec/e2e/longform/basic_wo_requireExactDuration.spec.js +0 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auctionmanager_spec.js","names":["getKeyValueTargetingPairs","auctionCallbacks","AUCTION_COMPLETED","adjustBids","getMediaTypeGranularity","getPriceByGranularity","addBidResponse","resetAuctionState","responsesReady","newAuction","EVENTS","TARGETING_KEYS","S2S","auctionModule","registerBidder","createBid","config","_internal","store","ajaxLib","server","hook","auctionManager","AuctionIndex","expect","deepClone","IMAGE","ortbNativeRequest","PrebidServer","setConfig","setCurrencyConfig","REJECTION_REASON","setDocumentHidden","sandbox","getMinBidCacheTTL","onMinBidCacheTTLChange","assert","require","utils","fixtures","adapterManager","default","events","BIDDER_CODE","BIDDER_CODE1","ADUNIT_CODE","ADUNIT_CODE1","mockBid","opts","bidderCode","adUnitCode","getUniqueIdentifierStr","transactionId","adUnitId","getSize","getIdentifiers","src","source","bidder","bidId","requestId","auctionId","_ctx","adUnits","uniquePbsTid","mockBidRequest","bid","Error","defaultMediaType","banner","sizes","mediaType","adUnitsS2SCopy","SRC","undefined","mockBidder","bids","spec","code","isBidRequestValid","sinon","stub","buildRequests","interpretResponse","getUserSyncs","returns","TEST_BIDS","TEST_BID_REQS","map","mockAjaxBuilder","url","callback","fakeResponse","success","getResponseHeader","describe","indexAuctions","indexStub","before","addBidderRequests","bidsBackCallback","forEach","h","getHooks","remove","ready","beforeEach","get","afterEach","restore","DEFAULT_BID","cpm","pbLg","pbMg","pbHg","pbAg","height","width","adId","creativeId","meta","advertiserDomains","primaryCatId","networkId","getDefaultExpected","keys","expected","BIDDER","AD_ID","PRICE_BUCKET","SIZE","SOURCE","FORMAT","ADOMAIN","ACAT","DSP","CRID","UUID","videoCacheKey","CACHE_ID","CACHE_HOST","reduce","key","Object","assign","it","pbjs","bidderSettings","hb_cache_host","response","deepEqual","noAcatBid","hb_acat","cache","videoBid","standard","adserverTargeting","val","bidResponse","size","appnexus","nonExistentBidder","s2sConfig","accountId","enabled","defaultVendor","bidders","timeout","adapter","bidCpmAdjustment","bidCpm","getBidResponses","equal","sendStandardTargeting","suppressEmptyKeys","brealtime","bidObj","stubMakeBidRequests","stubCallAdapters","callsFake","au","reqs","addBid","done","r","apply","clearAllAuctions","ortb2Fragments","global","auction","createAuction","callBids","anyArgs","Array","match","any","calledWith","slice","concat","same","getNonBids","to","emit","SEAT_NON_BID","getAuctionId","seatnonbid","resetHistory","requestsDone","eql","minBidCacheTTL","newTTL","ttl","clock","useFakeTimers","push","resetConfig","end","tick","getBidsReceived","length","edn","getNoBids","then","entries","bd","_ref","t","be","true","createAuctionStub","adUnitCodes","ajaxStub","bidderRequests","makeRequestsStub","after","makeBidRequests","mediaTypes","params","placementId","cbTimeout","b","checkPbDg","msg","registeredBid","pop","pbDg","dealId","DEAL","extra","hasBid","eventHandler","storedBid","on","BID_RESPONSE","off","ok","on adUnit","on bid","on mediatype","_ref2","getObj","renderer","render","getBid","renderNow","backupOnly","bids1","addedBid","myBid","bidRequest","video","context","spy","strictEqual","bidRequests","find","ttlBuffer","request","_ref3","ortb2Imp","instl","eventsEmitSpy","auctionDone","respondToRequest","requestIndex","requests","respond","runAuction","Promise","resolve","spec1","spec2","endResolved","pm","handler","AUCTION_TIMEOUT","_ref4","shouldFire","notCalled","bidTimeoutCall","withArgs","BID_TIMEOUT","getCalls","timedOutBids","args","auctionEndCall","AUCTION_END","auctionProps","auctionStatus","registerBidAdapter","endpoint","p1Consent","noP1Consent","maxTimeout","syncEndpoint","s2sAdUnits","unshift","bid_id","toBids","_ref5","bidsReceived","addedBid2","addedBid1","notEqual","callsArgWith","uuid","bidsCopy","bids1Copy","getAuctionStatus","getConfig","maxBid","addBidRejected","rejectionReason","PRICE_TOO_HIGH","logMessageStub","logInfoStub","logWarnStub","logErrorStub","debugging","_ref6","auctionBidRequests","getBidRequests","isArray","nativeOrtbRequest","ortb","native","type","nativeBid","ver","assets","id","title","text","data","value","img","w","link","eventtrackers","event","method","body","sponsoredBy","clickUrl","image","icon","impressionTrackers","javascriptTrackers","createSandbox","addWinningBid","callBidWonBidder","deferBilling","triggerBilling","mockAuction","start","arguments","getAdUnits","flatMap","br","addBidReceived","getTimeout","getAuctionStart","mediaTypePriceGranularity","gpbg","responsesReadyHook","next","doneSpy","Date","now","cbs","reject","_ref7","getMethod","ADUNIT_CODE2","BIDDER_CODE2","bids2","adapterDone","call","callCount","playerSize","responseBody","promise","callbacks","rs","rj","addNoBid","_ref8","resolver","setTimeout","called","expectedRejection","onBidRejected","AU_CODE","rejectHook","fn","BID_REJECTED","parseFloat","with addBidResponse.reject","from addBidResponse hooks","_ref9","rejectBid","calledOnce","requiredBidder","requiredBidder1","secondaryBidder","secondaryBidders","bids3"],"sourceRoot":"../../../..","sources":["test/spec/auctionmanager_spec.js"],"sourcesContent":["import {\n getKeyValueTargetingPairs,\n auctionCallbacks,\n AUCTION_COMPLETED,\n adjustBids,\n getMediaTypeGranularity,\n getPriceByGranularity,\n addBidResponse, resetAuctionState, responsesReady, newAuction\n} from 'src/auction.js';\nimport { EVENTS, TARGETING_KEYS, S2S } from 'src/constants.js';\nimport * as auctionModule from 'src/auction.js';\nimport { registerBidder } from 'src/adapters/bidderFactory.js';\nimport { createBid } from 'src/bidfactory.js';\nimport { config } from 'src/config.js';\nimport {_internal as store} from 'src/videoCache.js';\nimport * as ajaxLib from 'src/ajax.js';\nimport { server } from 'test/mocks/xhr.js';\nimport {hook} from '../../src/hook.js';\nimport {auctionManager} from '../../src/auctionManager.js';\nimport 'modules/debugging/index.js' // some tests look for debugging side effects\nimport {AuctionIndex} from '../../src/auctionIndex.js';\nimport {expect} from 'chai';\nimport {deepClone} from '../../src/utils.js';\nimport { IMAGE as ortbNativeRequest } from 'src/native.js';\nimport {PrebidServer} from '../../modules/prebidServerBidAdapter/index.js';\nimport { setConfig as setCurrencyConfig } from '../../modules/currency.js'\n\nimport { REJECTION_REASON } from '../../src/constants.js';\nimport { setDocumentHidden } from './unit/utils/focusTimeout_spec.js';\nimport {sandbox} from 'sinon';\nimport {getMinBidCacheTTL, onMinBidCacheTTLChange} from '../../src/bidTTL.js';\n\n/**\n * @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest\n * @typedef {import('../src/adapters/bidderFactory.js').Bid} Bid\n */\n\nvar assert = require('assert');\n\n/* use this method to test individual files instead of the whole prebid.js project */\n\n// TODO refactor to use the spec files\nvar utils = require('../../src/utils.js');\nvar fixtures = require('../fixtures/fixtures.js');\nvar adapterManager = require('src/adapterManager').default;\nvar events = require('src/events');\n\nconst BIDDER_CODE = 'sampleBidder';\nconst BIDDER_CODE1 = 'sampleBidder1';\n\nconst ADUNIT_CODE = 'adUnit-code';\nconst ADUNIT_CODE1 = 'adUnit-code-1';\n\n/**\n * @param {Object} [opts]\n * @returns {Bid}\n */\nfunction mockBid(opts) {\n const bidderCode = opts && opts.bidderCode;\n\n return {\n adUnitCode: opts?.adUnitCode || ADUNIT_CODE,\n 'ad': 'creative',\n 'cpm': '1.99',\n 'width': 300,\n 'height': 250,\n 'bidderCode': bidderCode || BIDDER_CODE,\n 'requestId': utils.getUniqueIdentifierStr(),\n 'transactionId': (opts && opts.transactionId) || ADUNIT_CODE,\n adUnitId: (opts && opts.adUnitId) || ADUNIT_CODE,\n 'creativeId': 'id',\n 'currency': 'USD',\n 'netRevenue': true,\n 'ttl': 360,\n getSize: () => '300x250',\n getIdentifiers() {\n return {\n src: this.source,\n bidder: this.bidderCode,\n bidId: this.requestId,\n transactionId: this.transactionId,\n auctionId: this.auctionId\n }\n },\n _ctx: {\n adUnits: opts?.adUnits,\n src: opts?.src,\n uniquePbsTid: opts?.uniquePbsTid,\n }\n };\n}\n\n/**\n * @param {Bid} bid\n * @param {Object} [opts]\n * @returns {BidRequest}\n */\nfunction mockBidRequest(bid, opts) {\n if (!bid) {\n throw new Error('bid required');\n }\n const bidderCode = opts && opts.bidderCode;\n const adUnitCode = opts && opts.adUnitCode;\n const defaultMediaType = {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n }\n const mediaType = (opts && opts.mediaType) ? opts.mediaType : defaultMediaType;\n\n const requestId = utils.getUniqueIdentifierStr();\n\n return {\n 'bidderCode': bidderCode || bid.bidderCode,\n 'auctionId': opts && opts.auctionId,\n 'bidderRequestId': requestId,\n src: bid?._ctx?.src,\n adUnitsS2SCopy: bid?._ctx?.src === S2S.SRC ? bid?._ctx?.adUnits : undefined,\n uniquePbsTid: bid?._ctx?.src === S2S.SRC ? bid?._ctx?.uniquePbsTid : undefined,\n 'bids': [\n {\n 'bidder': bidderCode || bid.bidderCode,\n 'params': {\n 'placementId': 'id'\n },\n 'adUnitCode': adUnitCode || ADUNIT_CODE,\n 'transactionId': bid.transactionId,\n adUnitId: bid.adUnitId,\n 'sizes': [[300, 250], [300, 600]],\n 'bidId': bid.requestId,\n 'bidderRequestId': requestId,\n 'auctionId': opts && opts.auctionId,\n 'mediaTypes': mediaType,\n src: bid?._ctx?.src\n }\n ],\n 'auctionStart': 1505250713622,\n 'timeout': 3000\n };\n}\n\nfunction mockBidder(bidderCode, bids) {\n const spec = {\n code: bidderCode,\n isBidRequestValid: sinon.stub(),\n buildRequests: sinon.stub(),\n interpretResponse: sinon.stub(),\n getUserSyncs: sinon.stub()\n };\n\n spec.buildRequests.returns([{'id': 123, 'method': 'POST'}]);\n spec.isBidRequestValid.returns(true);\n spec.interpretResponse.returns(bids);\n\n return spec;\n}\n\nconst TEST_BIDS = [mockBid()];\nconst TEST_BID_REQS = TEST_BIDS.map(mockBidRequest);\n\nfunction mockAjaxBuilder() {\n return function(url, callback) {\n const fakeResponse = sinon.stub();\n fakeResponse.returns('headerContent');\n callback.success('response body', { getResponseHeader: fakeResponse });\n };\n}\n\ndescribe('auctionmanager.js', function () {\n let indexAuctions, indexStub\n\n before(() => {\n // hooks are global and their side effects depend on what has been loaded\n [\n auctionModule.addBidResponse,\n auctionModule.addBidderRequests,\n auctionModule.bidsBackCallback\n ].forEach((h) => h.getHooks().remove())\n hook.ready();\n });\n\n beforeEach(() => {\n indexAuctions = [];\n indexStub = sinon.stub(auctionManager, 'index');\n indexStub.get(() => new AuctionIndex(() => indexAuctions));\n resetAuctionState();\n });\n\n afterEach(() => {\n indexStub.restore();\n });\n\n describe('getKeyValueTargetingPairs', function () {\n const DEFAULT_BID = {\n cpm: 5.578,\n pbLg: 5.50,\n pbMg: 5.50,\n pbHg: 5.57,\n pbAg: 5.50,\n\n height: 300,\n width: 250,\n getSize() {\n return this.height + 'x' + this.width;\n },\n\n adUnitCode: '12345',\n bidderCode: 'appnexus',\n adId: '1adId',\n source: 'client',\n mediaType: 'banner',\n creativeId: 'monkeys',\n meta: {\n advertiserDomains: ['adomain'],\n primaryCatId: 'IAB-test',\n networkId: '123987'\n }\n };\n\n /* return the expected response for a given bid, filter by keys if given */\n function getDefaultExpected(bid, keys) {\n var expected = {};\n expected[TARGETING_KEYS.BIDDER] = bid.bidderCode;\n expected[TARGETING_KEYS.AD_ID] = bid.adId;\n expected[TARGETING_KEYS.PRICE_BUCKET] = bid.pbMg;\n expected[TARGETING_KEYS.SIZE] = bid.getSize();\n expected[TARGETING_KEYS.SOURCE] = bid.source;\n expected[TARGETING_KEYS.FORMAT] = bid.mediaType;\n expected[TARGETING_KEYS.ADOMAIN] = bid.meta.advertiserDomains[0];\n expected[TARGETING_KEYS.ACAT] = bid.meta.primaryCatId;\n expected[TARGETING_KEYS.DSP] = bid.meta.networkId;\n expected[TARGETING_KEYS.CRID] = bid.creativeId;\n if (bid.mediaType === 'video') {\n expected[TARGETING_KEYS.UUID] = bid.videoCacheKey;\n expected[TARGETING_KEYS.CACHE_ID] = bid.videoCacheKey;\n expected[TARGETING_KEYS.CACHE_HOST] = 'prebid.adnxs.com';\n }\n if (!keys) {\n return expected;\n }\n\n return keys.reduce((map, key) => {\n map[key] = expected[key];\n return map;\n }, {});\n }\n\n var bid = {};\n\n before(function () {\n bid = Object.assign({}, DEFAULT_BID);\n });\n\n it('No bidder level configuration defined - default', function () {\n $$PREBID_GLOBAL$$.bidderSettings = {};\n const expected = getDefaultExpected(bid);\n // remove hb_cache_host from expected\n delete expected.hb_cache_host;\n const response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('should suppress acat if undefined', function () {\n const noAcatBid = deepClone(DEFAULT_BID);\n noAcatBid.meta.primaryCatId = ''\n const expected = getDefaultExpected(noAcatBid);\n delete expected.hb_acat;\n const response = getKeyValueTargetingPairs(noAcatBid.bidderCode, noAcatBid);\n assert.deepEqual(response, expected);\n });\n\n if (FEATURES.VIDEO) {\n it('No bidder level configuration defined - default for video', function () {\n config.setConfig({\n cache: {\n url: 'https://prebid.adnxs.com/pbc/v1/cache'\n }\n });\n $$PREBID_GLOBAL$$.bidderSettings = {};\n const videoBid = utils.deepClone(bid);\n videoBid.mediaType = 'video';\n videoBid.videoCacheKey = 'abc123def';\n\n const expected = getDefaultExpected(videoBid);\n const response = getKeyValueTargetingPairs(videoBid.bidderCode, videoBid);\n assert.deepEqual(response, expected);\n });\n }\n\n it('Custom configuration for all bidders', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n standard: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return bidResponse.pbHg;\n }\n }, {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n },\n {\n key: TARGETING_KEYS.SOURCE,\n val: function (bidResponse) {\n return bidResponse.source;\n }\n },\n {\n key: TARGETING_KEYS.FORMAT,\n val: function (bidResponse) {\n return bidResponse.mediaType;\n }\n },\n {\n key: TARGETING_KEYS.ADOMAIN,\n val: function (bidResponse) {\n return bidResponse.meta.advertiserDomains[0];\n }\n },\n {\n key: TARGETING_KEYS.CRID,\n val: function (bidResponse) {\n return bidResponse.creativeId;\n }\n },\n {\n key: TARGETING_KEYS.DSP,\n val: function (bidResponse) {\n return bidResponse.meta.networkId;\n }\n },\n {\n key: TARGETING_KEYS.ACAT,\n val: function (bidResponse) {\n return bidResponse.meta.primaryCatId;\n }\n }\n ]\n\n }\n };\n\n var expected = getDefaultExpected(bid);\n expected[TARGETING_KEYS.PRICE_BUCKET] = bid.pbHg;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n if (FEATURES.VIDEO) {\n it('Custom configuration for all bidders with video bid', function () {\n config.setConfig({\n cache: {\n url: 'https://prebid.adnxs.com/pbc/v1/cache'\n }\n });\n const videoBid = utils.deepClone(bid);\n videoBid.mediaType = 'video';\n videoBid.videoCacheKey = 'abc123def';\n\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n standard: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n return bidResponse.pbMg;\n }\n }, {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n },\n {\n key: TARGETING_KEYS.SOURCE,\n val: function (bidResponse) {\n return bidResponse.source;\n }\n },\n {\n key: TARGETING_KEYS.FORMAT,\n val: function (bidResponse) {\n return bidResponse.mediaType;\n }\n },\n {\n key: TARGETING_KEYS.UUID,\n val: function (bidResponse) {\n return bidResponse.videoCacheKey;\n }\n },\n {\n key: TARGETING_KEYS.CACHE_ID,\n val: function (bidResponse) {\n return bidResponse.videoCacheKey;\n }\n },\n {\n key: TARGETING_KEYS.ADOMAIN,\n val: function (bidResponse) {\n return bidResponse.meta.advertiserDomains[0];\n }\n },\n {\n key: TARGETING_KEYS.CRID,\n val: function (bidResponse) {\n return bidResponse.creativeId;\n }\n },\n {\n key: TARGETING_KEYS.DSP,\n val: function (bidResponse) {\n return bidResponse.meta.networkId;\n }\n },\n {\n key: TARGETING_KEYS.ACAT,\n val: function (bidResponse) {\n return bidResponse.meta.primaryCatId;\n }\n }\n ]\n\n }\n };\n\n const expected = getDefaultExpected(videoBid);\n\n const response = getKeyValueTargetingPairs(videoBid.bidderCode, videoBid);\n assert.deepEqual(response, expected);\n });\n }\n\n it('Custom configuration for one bidder', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n appnexus: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return bidResponse.pbHg;\n }\n }, {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n }\n ]\n\n }\n };\n\n var expected = getDefaultExpected(bid);\n expected[TARGETING_KEYS.PRICE_BUCKET] = bid.pbHg;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('Custom configuration for one bidder - not matched', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n nonExistentBidder: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return bidResponse.pbHg;\n }\n }, {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n }\n ]\n\n }\n };\n var expected = getDefaultExpected(bid);\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('Should set targeting as expecting when pbs is enabled', function () {\n config.setConfig({\n s2sConfig: {\n accountId: '1',\n enabled: true,\n defaultVendor: 'appnexuspsp',\n bidders: ['appnexus'],\n timeout: 1000,\n adapter: 'prebidServer'\n }\n });\n\n $$PREBID_GLOBAL$$.bidderSettings = {};\n const expected = getDefaultExpected(bid);\n const response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('Custom bidCpmAdjustment for one bidder and inherit standard but doesn\\'t use standard bidCpmAdjustment', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n appnexus: {\n bidCpmAdjustment: function (bidCpm) {\n return bidCpm * 0.7;\n },\n },\n standard: {\n bidCpmAdjustment: function (bidCpm) {\n return 200;\n },\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return 10.00;\n }\n }\n ]\n\n }\n };\n var expected = getDefaultExpected(bid, [TARGETING_KEYS.BIDDER, TARGETING_KEYS.AD_ID]);\n expected[TARGETING_KEYS.PRICE_BUCKET] = 10.0;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('Standard bidCpmAdjustment changes the bid of any bidder', function () {\n const bid = Object.assign({},\n createBid(),\n fixtures.getBidResponses()[5]\n );\n\n assert.equal(bid.cpm, 0.5);\n\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n standard: {\n bidCpmAdjustment: function (bidCpm) {\n return bidCpm * 0.5;\n }\n }\n };\n\n adjustBids(bid)\n assert.equal(bid.cpm, 0.25);\n });\n\n it('Custom bidCpmAdjustment AND custom configuration for one bidder and inherit standard settings', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n appnexus: {\n bidCpmAdjustment: function (bidCpm) {\n return bidCpm * 0.7;\n },\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return 15.00;\n }\n }\n ]\n },\n standard: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return 10.00;\n },\n },\n {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n }\n ]\n\n }\n };\n var expected = getDefaultExpected(bid, [TARGETING_KEYS.BIDDER, TARGETING_KEYS.AD_ID, TARGETING_KEYS.SIZE]);\n expected[TARGETING_KEYS.PRICE_BUCKET] = 15.0;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('sendStandardTargeting=false, and inherit custom', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n appnexus: {\n sendStandardTargeting: false,\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n return bidResponse.pbHg;\n }\n }\n ]\n }\n };\n var expected = getDefaultExpected(bid);\n expected[TARGETING_KEYS.PRICE_BUCKET] = 5.57;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n assert.equal(bid.sendStandardTargeting, false);\n });\n\n it('suppressEmptyKeys=true', function() {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n standard: {\n suppressEmptyKeys: true,\n adserverTargeting: [\n {\n key: 'aKeyWithAValue',\n val: 42\n },\n {\n key: 'aKeyWithAnEmptyValue',\n val: ''\n }\n ]\n }\n };\n\n var expected = {\n 'aKeyWithAValue': 42\n };\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n });\n\n describe('adjustBids', function () {\n it('should adjust bids if greater than zero and pass copy of bid object', function () {\n const bid = Object.assign({},\n createBid(),\n fixtures.getBidResponses()[5]\n );\n\n assert.equal(bid.cpm, 0.5);\n\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n brealtime: {\n bidCpmAdjustment: function (bidCpm, bidObj) {\n assert.deepEqual(bidObj, bid);\n if (bidObj.adUnitCode === 'negative') {\n return bidCpm * -0.5;\n }\n if (bidObj.adUnitCode === 'zero') {\n return 0;\n }\n return bidCpm * 0.5;\n },\n },\n standard: {\n adserverTargeting: [\n ]\n }\n };\n\n // negative\n bid.adUnitCode = 'negative';\n adjustBids(bid)\n assert.equal(bid.cpm, 0.5);\n\n // positive\n bid.adUnitCode = 'normal';\n adjustBids(bid)\n assert.equal(bid.cpm, 0.25);\n\n // zero\n bid.adUnitCode = 'zero';\n adjustBids(bid)\n assert.equal(bid.cpm, 0);\n\n // reset bidderSettings so we don't mess up further tests\n $$PREBID_GLOBAL$$.bidderSettings = {};\n });\n });\n\n describe('createAuction', () => {\n let adUnits, stubMakeBidRequests, stubCallAdapters, bids;\n\n beforeEach(() => {\n bids = [];\n stubMakeBidRequests = sinon.stub(adapterManager, 'makeBidRequests').returns([{\n bidderCode: BIDDER_CODE,\n bids: [{\n bidder: BIDDER_CODE\n }]\n }]);\n stubCallAdapters = sinon.stub(adapterManager, 'callBids').callsFake((au, reqs, addBid, done) => {\n bids.forEach(bid => addBid(bid.adUnitCode, bid));\n reqs.forEach(r => done.apply(r));\n });\n adUnits = [{\n code: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE},\n ]\n }];\n });\n\n afterEach(() => {\n stubMakeBidRequests.restore();\n stubCallAdapters.restore();\n auctionManager.clearAllAuctions();\n });\n\n it('passes global and bidder ortb2 to the auction', () => {\n const ortb2Fragments = {\n global: {},\n bidder: {}\n }\n const auction = auctionManager.createAuction({adUnits, ortb2Fragments});\n auction.callBids();\n const anyArgs = [...Array(7).keys()].map(() => sinon.match.any);\n sinon.assert.calledWith(stubMakeBidRequests, ...anyArgs.slice(0, 5).concat([sinon.match.same(ortb2Fragments)]));\n sinon.assert.calledWith(stubCallAdapters, ...anyArgs.slice(0, 7).concat([sinon.match.same(ortb2Fragments)]));\n });\n\n it('correctly adds nonbids when they are emitted', () => {\n const ortb2Fragments = {\n global: {},\n bidder: {}\n }\n const auction = auctionManager.createAuction({adUnits, ortb2Fragments});\n expect(auction.getNonBids()[0]).to.equal(undefined);\n events.emit(EVENTS.SEAT_NON_BID, {\n auctionId: auction.getAuctionId(),\n seatnonbid: ['test']\n });\n expect(auction.getNonBids()[0]).to.equal('test');\n });\n\n it('resolves .requestsDone', async () => {\n const auction = auctionManager.createAuction({adUnits});\n stubCallAdapters.resetHistory();\n auction.callBids();\n await auction.requestsDone;\n })\n\n describe('setConfig(minBidCacheTTL)', () => {\n it('should update getMinBidCacheTTL', () => {\n expect(getMinBidCacheTTL()).to.eql(null);\n config.setConfig({minBidCacheTTL: 123});\n expect(getMinBidCacheTTL()).to.eql(123);\n });\n\n it('should run listeners registered with onMinBidCacheTTLChange', () => {\n config.setConfig({minBidCacheTTL: 1});\n let newTTL = null;\n onMinBidCacheTTLChange((ttl) => { newTTL = ttl; });\n config.setConfig({minBidCacheTTL: 2});\n expect(newTTL).to.eql(2);\n })\n })\n\n describe('minBidCacheTTL', () => {\n let clock, auction;\n beforeEach(() => {\n clock = sinon.useFakeTimers();\n auction = auctionManager.createAuction({adUnits});\n indexAuctions.push(auction);\n });\n afterEach(() => {\n clock.restore();\n config.resetConfig();\n });\n\n describe('individual bids', () => {\n beforeEach(() => {\n bids = [\n {\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 10\n }, {\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 100\n }\n ];\n })\n it('are dropped when stale (if minBidCacheTTL is set)', async () => {\n config.setConfig({\n minBidCacheTTL: 30\n });\n auction.callBids();\n await auction.end;\n await clock.tick(20 * 1000);\n expect(auctionManager.getBidsReceived().length).to.equal(2);\n await clock.tick(50 * 1000);\n expect(auctionManager.getBidsReceived().length).to.equal(1);\n });\n\n it('pick up updates to minBidCacheTTL that happen during bid lifetime', async () => {\n auction.callBids();\n await auction.edn;\n clock.tick(10 * 1000);\n config.setConfig({\n minBidCacheTTL: 20\n })\n await clock.tick(0);\n await clock.tick(20 * 1000);\n expect(auctionManager.getBidsReceived().length).to.equal(1);\n })\n })\n\n describe('stale auctions', () => {\n it('are dropped after their last bid becomes stale (if minBidCacheTTL is set)', async () => {\n config.setConfig({\n minBidCacheTTL: 90\n });\n bids = [\n {\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 10\n }, {\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 100\n }\n ];\n auction.callBids();\n await auction.end;\n clock.tick(50 * 1000);\n expect(auctionManager.getBidsReceived().length).to.equal(2);\n clock.tick(56 * 1000);\n expect(auctionManager.getBidsReceived()).to.eql([]);\n });\n\n it('are dropped after `minBidCacheTTL` seconds if they had no bid', async () => {\n auction.callBids();\n config.setConfig({\n minBidCacheTTL: 2\n });\n await auction.end;\n await clock.tick(0);\n expect(auctionManager.getNoBids().length).to.eql(1);\n clock.tick(10 * 10000);\n expect(auctionManager.getNoBids().length).to.eql(0);\n });\n\n it('are not dropped after `minBidCacheTTL` seconds if the page was hidden', () => {\n auction.callBids();\n config.setConfig({\n minBidCacheTTL: 10\n });\n return auction.end.then(() => {\n expect(auctionManager.getNoBids().length).to.eql(1);\n setDocumentHidden(true);\n clock.tick(10 * 10000);\n setDocumentHidden(false);\n expect(auctionManager.getNoBids().length).to.eql(1);\n })\n });\n\n Object.entries({\n 'bids': {\n bd: [{\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 10\n }],\n entries: () => auctionManager.getBidsReceived()\n },\n 'no bids': {\n bd: [],\n entries: () => auctionManager.getNoBids()\n }\n }).forEach(([t, {bd, entries}]) => {\n it(`with ${t} are never dropped if minBidCacheTTL is not set`, () => {\n bids = bd;\n auction.callBids();\n return auction.end.then(() => {\n clock.tick(100 * 1000);\n expect(entries().length > 0).to.be.true;\n })\n })\n });\n })\n })\n });\n\n describe('addBidResponse #1', function () {\n let createAuctionStub;\n let adUnits;\n let adUnitCodes;\n let spec;\n let auction;\n let ajaxStub;\n let bids;\n let bidderRequests;\n let makeRequestsStub;\n\n before(function () {\n makeRequestsStub = sinon.stub(adapterManager, 'makeBidRequests');\n });\n\n after(function () {\n adapterManager.makeBidRequests.restore();\n });\n\n describe('when auction timeout is 3000', function () {\n beforeEach(function () {\n ajaxStub = sinon.stub(ajaxLib, 'ajaxBuilder').callsFake(mockAjaxBuilder);\n adUnits = [{\n mediaTypes: {\n banner: {\n sizes: []\n }\n },\n code: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n ]\n }];\n adUnitCodes = [ADUNIT_CODE];\n auction = auctionModule.newAuction({adUnits, adUnitCodes, callback: function() {}, cbTimeout: 3000});\n bids = TEST_BIDS.slice();\n bidderRequests = bids.map(b => mockBidRequest(b, {auctionId: auction.getAuctionId()}));\n makeRequestsStub.returns(bidderRequests);\n indexAuctions = [auction];\n createAuctionStub = sinon.stub(auctionModule, 'newAuction');\n createAuctionStub.returns(auction);\n\n spec = mockBidder(BIDDER_CODE, bids);\n registerBidder(spec);\n });\n\n afterEach(function () {\n ajaxStub.restore();\n auctionModule.newAuction.restore();\n });\n\n function checkPbDg(cpm, expected, msg) {\n return function() {\n bids[0].cpm = cpm;\n auction.callBids();\n\n const registeredBid = auction.getBidsReceived().pop();\n assert.equal(registeredBid.pbDg, expected, msg);\n };\n };\n\n it('should return proper price bucket increments for dense mode when cpm is in range 0-3',\n checkPbDg('1.99', '1.99', '0 - 3 hits at to 1 cent increment'));\n\n it('should return proper price bucket increments for dense mode when cpm is in range 3-8',\n checkPbDg('4.39', '4.35', '3 - 8 hits at 5 cent increment'));\n\n it('should return proper price bucket increments for dense mode when cpm is in range 8-20',\n checkPbDg('19.99', '19.50', '8 - 20 hits at 50 cent increment'));\n\n it('should return proper price bucket increments for dense mode when cpm is 20+',\n checkPbDg('73.07', '20.00', '20+ caps at 20.00'));\n\n it('should place dealIds in adserver targeting', function () {\n bids[0].dealId = 'test deal';\n auction.callBids();\n\n const registeredBid = auction.getBidsReceived().pop();\n assert.equal(registeredBid.adserverTargeting[TARGETING_KEYS.DEAL], 'test deal', 'dealId placed in adserverTargeting');\n });\n\n it('should pass through default adserverTargeting sent from adapter', function () {\n bids[0].adserverTargeting = {};\n bids[0].adserverTargeting.extra = 'stuff';\n auction.callBids();\n\n const registeredBid = auction.getBidsReceived().pop();\n assert.equal(registeredBid.adserverTargeting[TARGETING_KEYS.BIDDER], BIDDER_CODE);\n assert.equal(registeredBid.adserverTargeting.extra, 'stuff');\n });\n it('should add the bidResponse to the collection before calling BID_RESPONSE', function () {\n let hasBid = false;\n const eventHandler = function(bid) {\n const storedBid = auction.getBidsReceived().pop();\n hasBid = storedBid === bid;\n }\n events.on(EVENTS.BID_RESPONSE, eventHandler);\n auction.callBids();\n events.off(EVENTS.BID_RESPONSE, eventHandler);\n assert.ok(hasBid, 'Bid not available');\n });\n\n describe('install publisher-defined renderers', () => {\n Object.entries({\n 'on adUnit': () => adUnits[0],\n 'on bid': () => bidderRequests[0].bids[0],\n 'on mediatype': () => bidderRequests[0].bids[0].mediaTypes.banner,\n }).forEach(([t, getObj]) => {\n let renderer, bid;\n beforeEach(() => {\n renderer = {\n url: 'renderer.js',\n render: (bid) => bid\n };\n })\n\n function getBid() {\n const bid = Object.assign({},\n bids[0],\n {\n bidderCode: BIDDER_CODE,\n mediaType: 'banner',\n }\n );\n Object.assign(getObj(), {renderer});\n spec.interpretResponse.returns(bid);\n auction.callBids();\n return auction.getBidsReceived().pop();\n }\n\n it(t, () => {\n expect(getBid().renderer.url).to.eql('renderer.js');\n });\n\n it('allows renderers without URL', () => {\n delete renderer.url;\n expect(getBid().renderer.renderNow).to.be.true;\n });\n })\n })\n\n it('installs publisher-defined backup renderers on bids', function () {\n const renderer = {\n url: 'renderer.js',\n backupOnly: true,\n render: (bid) => bid\n };\n Object.assign(adUnits[0], {renderer});\n\n const bids1 = Object.assign({},\n bids[0],\n {\n bidderCode: BIDDER_CODE,\n mediaType: 'video-outstream',\n }\n );\n spec.interpretResponse.returns(bids1);\n auction.callBids();\n const addedBid = auction.getBidsReceived().pop();\n assert.equal(addedBid.renderer.url, 'renderer.js');\n });\n\n it('installs publisher-defined renderers for a media type', function () {\n const renderer = {\n url: 'videoRenderer.js',\n render: (bid) => bid\n };\n const myBid = mockBid();\n const bidRequest = mockBidRequest(myBid);\n\n bidRequest.bids[0] = {\n ...bidRequest.bids[0],\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n },\n video: {\n context: 'outstream',\n renderer\n }\n }\n };\n makeRequestsStub.returns([bidRequest]);\n\n myBid.mediaType = 'video';\n spec.interpretResponse.returns(myBid);\n auction.callBids();\n\n const addedBid = auction.getBidsReceived().pop();\n assert.equal(addedBid.renderer.url, renderer.url);\n });\n\n it('installs bidder-defined renderer when onlyBackup is true in mediaTypes.video options ', function () {\n const renderer = {\n url: 'videoRenderer.js',\n backupOnly: true,\n render: (bid) => bid\n };\n const myBid = mockBid();\n const bidRequest = mockBidRequest(myBid);\n\n bidRequest.bids[0] = {\n ...bidRequest.bids[0],\n mediaTypes: {\n video: {\n context: 'outstream',\n renderer\n }\n }\n };\n makeRequestsStub.returns([bidRequest]);\n\n myBid.mediaType = 'video';\n myBid.renderer = {\n url: 'renderer.js',\n render: sinon.spy()\n };\n spec.interpretResponse.returns(myBid);\n auction.callBids();\n\n const addedBid = auction.getBidsReceived().pop();\n assert.strictEqual(addedBid.renderer.url, myBid.renderer.url);\n });\n\n describe('bid for a regular unit and a video unit', () => {\n beforeEach(() => {\n const renderer = {\n url: 'renderer.js',\n render: (bid) => bid\n };\n Object.assign(adUnits[0], {renderer});\n // make sure that if the renderer is only on the second ad unit, prebid\n // still correctly uses it\n const bid = mockBid();\n const bidRequests = [mockBidRequest(bid, {auctionId: auction.getAuctionId()})];\n\n bidRequests[0].bids[1] = Object.assign({\n bidId: utils.getUniqueIdentifierStr()\n }, bidRequests[0].bids[0]);\n Object.assign(bidRequests[0].bids[0], {\n adUnitCode: ADUNIT_CODE1,\n adUnitId: ADUNIT_CODE1,\n });\n\n makeRequestsStub.returns(bidRequests);\n\n // this should correspond with the second bid in the bidReq because of the ad unit code\n bid.mediaType = 'video-outstream';\n spec.interpretResponse.returns(bid);\n });\n\n it('should use renderers on bid response', () => {\n auction.callBids();\n\n const addedBid = auction.getBidsReceived().find(bid => bid.adUnitCode === ADUNIT_CODE);\n assert.equal(addedBid.renderer.url, 'renderer.js');\n });\n\n it('should resolve .end', () => {\n auction.callBids();\n return auction.end.then(() => {\n expect(auction.getBidsReceived().length).to.eql(1);\n })\n });\n })\n\n it('sets bidResponse.ttlBuffer from adUnit.ttlBuffer', () => {\n adUnits[0].ttlBuffer = 0;\n auction.callBids();\n expect(auction.getBidsReceived()[0].ttlBuffer).to.eql(0);\n });\n\n [\n {\n request: 1,\n response: true\n },\n {\n request: 0,\n response: false\n },\n {\n request: 2,\n response: false\n },\n {\n request: undefined,\n response: false\n }\n ].forEach(({request, response}) => {\n it(`sets bidResponse.instl to ${response} if adUnit.ortb2Imp.instl is ${request}`, () => {\n adUnits[0].ortb2Imp = {instl: request};\n auction.callBids();\n expect(auction.getBidsReceived()[0].instl).to.equal(response);\n })\n })\n });\n\n describe('when auction timeout is 20', function () {\n let eventsEmitSpy, auctionDone;\n\n function respondToRequest(requestIndex) {\n server.requests[requestIndex].respond(200, {}, 'response body');\n }\n\n function runAuction() {\n const bidRequests = bids.map(bid => mockBidRequest(bid, {auctionId: auction.getAuctionId()}));\n makeRequestsStub.returns(bidRequests);\n return new Promise((resolve) => {\n auctionDone = resolve;\n auction.callBids();\n })\n }\n\n beforeEach(function () {\n adUnits = [{\n code: ADUNIT_CODE,\n transactionId: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n {bidder: BIDDER_CODE1, params: {placementId: 'id'}},\n ]\n }];\n adUnitCodes = [ADUNIT_CODE];\n\n eventsEmitSpy = sinon.spy(events, 'emit');\n bids = [mockBid(), mockBid({ bidderCode: BIDDER_CODE1 })];\n const spec1 = mockBidder(BIDDER_CODE, [bids[0]]);\n registerBidder(spec1);\n const spec2 = mockBidder(BIDDER_CODE1, [bids[1]]);\n registerBidder(spec2);\n auction = auctionModule.newAuction({adUnits, adUnitCodes, callback: () => auctionDone(), cbTimeout: 20});\n indexAuctions = [auction];\n });\n\n afterEach(function () {\n events.emit.restore();\n });\n\n it('resolves .end on timeout', () => {\n let endResolved = false;\n auction.end.then(() => {\n endResolved = true;\n })\n const pm = runAuction().then(() => {\n expect(endResolved).to.be.true;\n });\n respondToRequest(0);\n return pm;\n });\n\n describe('AUCTION_TIMEOUT event', () => {\n let handler;\n beforeEach(() => {\n handler = sinon.spy();\n events.on(EVENTS.AUCTION_TIMEOUT, handler);\n })\n afterEach(() => {\n events.off(EVENTS.AUCTION_TIMEOUT, handler);\n });\n\n Object.entries({\n 'is fired on timeout': [true, [0]],\n 'is NOT fired otherwise': [false, [0, 1]],\n }).forEach(([t, [shouldFire, respond]]) => {\n it(t, () => {\n const pm = runAuction().then(() => {\n if (shouldFire) {\n sinon.assert.calledWith(handler, sinon.match({auctionId: auction.getAuctionId()}))\n } else {\n sinon.assert.notCalled(handler);\n }\n });\n respond.forEach(respondToRequest);\n return pm;\n })\n });\n });\n\n it('should emit BID_TIMEOUT and AUCTION_END for timed out bids', function () {\n const pm = runAuction().then(() => {\n const bidTimeoutCall = eventsEmitSpy.withArgs(EVENTS.BID_TIMEOUT).getCalls()[0];\n const timedOutBids = bidTimeoutCall.args[1];\n assert.equal(timedOutBids.length, 1);\n assert.equal(timedOutBids[0].bidder, BIDDER_CODE1);\n // Check that additional properties are available\n assert.equal(timedOutBids[0].params[0].placementId, 'id');\n\n const auctionEndCall = eventsEmitSpy.withArgs(EVENTS.AUCTION_END).getCalls()[0];\n const auctionProps = auctionEndCall.args[1];\n assert.equal(auctionProps.adUnits, adUnits);\n assert.equal(auctionProps.timeout, 20);\n assert.equal(auctionProps.auctionStatus, AUCTION_COMPLETED)\n });\n respondToRequest(0);\n return pm;\n });\n\n it('should NOT emit BID_TIMEOUT when all bidders responded in time', function () {\n const pm = runAuction().then(() => {\n assert.ok(eventsEmitSpy.withArgs(EVENTS.BID_TIMEOUT).notCalled, 'did not emit event BID_TIMEOUT');\n });\n respondToRequest(0);\n respondToRequest(1);\n return pm;\n });\n\n it('should NOT emit BID_TIMEOUT for bidders which responded in time but with an empty bid', function () {\n const pm = runAuction().then(() => {\n const bidTimeoutCall = eventsEmitSpy.withArgs(EVENTS.BID_TIMEOUT).getCalls()[0];\n const timedOutBids = bidTimeoutCall.args[1];\n assert.equal(timedOutBids.length, 1);\n assert.equal(timedOutBids[0].bidder, BIDDER_CODE1);\n });\n respondToRequest(0);\n return pm;\n });\n\n it('should NOT emit BID_TIMEOUT for bidders that replied through S2S', () => {\n adapterManager.registerBidAdapter(new PrebidServer(), 'pbs');\n config.setConfig({\n s2sConfig: [{\n accountId: '1',\n enabled: true,\n defaultVendor: 'appnexuspsp',\n bidders: ['mock-s2s-1'],\n adapter: 'pbs',\n endpoint: {\n p1Consent: 'https://ib.adnxs.com/openrtb2/prebid',\n noP1Consent: 'https://ib.adnxs-simple.com/openrtb2/prebid'\n },\n maxTimeout: 1000,\n syncEndpoint: {\n p1Consent: \"https://prebid.adnxs.com/pbs/v1/cookie_sync\",\n noP1Consent: \"https://prebid.adnxs-simple.com/pbs/v1/cookie_sync\"\n },\n }, {\n accountId: '1',\n enabled: true,\n defaultVendor: 'rubicon',\n bidders: ['mock-s2s-2'],\n adapter: 'pbs',\n endpoint: {\n p1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction',\n noP1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction',\n },\n maxTimeout: 500,\n syncEndpoint: {\n p1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',\n noP1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',\n },\n }]\n })\n adUnits[0].bids.push({bidder: 'mock-s2s-1'}, {bidder: 'mock-s2s-2'})\n const s2sAdUnits = deepClone(adUnits);\n bids.unshift(\n mockBid({ bidderCode: 'mock-s2s-1', src: S2S.SRC, adUnits: s2sAdUnits, uniquePbsTid: '1' }),\n mockBid({ bidderCode: 'mock-s2s-2', src: S2S.SRC, adUnits: s2sAdUnits, uniquePbsTid: '2' })\n );\n Object.assign(s2sAdUnits[0], {\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bids: [\n {\n bidder: 'mock-s2s-1',\n bid_id: bids[0].requestId\n },\n {\n bidder: 'mock-s2s-2',\n bid_id: bids[1].requestId\n }\n ]\n })\n\n const pm = runAuction().then(() => {\n const toBids = eventsEmitSpy.withArgs(EVENTS.BID_TIMEOUT).getCalls()[0].args[1]\n expect(toBids.map(bid => bid.bidder)).to.eql([\n 'mock-s2s-2',\n BIDDER_CODE,\n BIDDER_CODE1,\n ])\n });\n respondToRequest(1);\n return pm;\n })\n });\n });\n\n describe('addBidResponse #2', function () {\n let createAuctionStub;\n let adUnits;\n let adUnitCodes;\n let spec;\n let spec1;\n let auction;\n let ajaxStub;\n\n const bids = TEST_BIDS;\n const bids1 = [mockBid({ bidderCode: BIDDER_CODE1 })];\n\n beforeEach(function () {\n adUnits = [{\n code: ADUNIT_CODE,\n transactionId: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n ]\n }, {\n code: ADUNIT_CODE1,\n transactionId: ADUNIT_CODE1,\n adUnitId: ADUNIT_CODE1,\n bids: [\n {bidder: BIDDER_CODE1, params: {placementId: 'id'}},\n ]\n }];\n adUnitCodes = adUnits.map(({ code }) => code);\n auction = auctionModule.newAuction({adUnits, adUnitCodes, callback: function() {}, cbTimeout: 3000});\n const bidRequests = [\n mockBidRequest(bids[0], { auctionId: auction.getAuctionId() }),\n mockBidRequest(bids1[0], { auctionId: auction.getAuctionId(), adUnitCode: ADUNIT_CODE1 })\n ];\n const makeRequestsStub = sinon.stub(adapterManager, 'makeBidRequests');\n makeRequestsStub.returns(bidRequests);\n ajaxStub = sinon.stub(ajaxLib, 'ajaxBuilder').callsFake(mockAjaxBuilder);\n createAuctionStub = sinon.stub(auctionModule, 'newAuction');\n createAuctionStub.returns(auction);\n indexAuctions = [auction];\n\n spec = mockBidder(BIDDER_CODE, bids);\n spec1 = mockBidder(BIDDER_CODE1, bids1);\n\n registerBidder(spec);\n registerBidder(spec1);\n });\n\n afterEach(function () {\n auctionModule.newAuction.restore();\n ajaxStub.restore();\n adapterManager.makeBidRequests.restore();\n });\n\n it('should not alter bid requestID', function () {\n auction.callBids();\n const bidsReceived = auction.getBidsReceived();\n const addedBid2 = bidsReceived.pop();\n assert.equal(addedBid2.requestId, bids1[0].requestId);\n const addedBid1 = bidsReceived.pop();\n assert.equal(addedBid1.requestId, bids[0].requestId);\n });\n\n it('should not add banner bids that have no width or height', function () {\n bids1[0].width = undefined;\n bids1[0].height = undefined;\n\n auction.callBids();\n\n const length = auction.getBidsReceived().length;\n const addedBid2 = auction.getBidsReceived().pop();\n assert.notEqual(addedBid2.adId, bids1[0].requestId);\n assert.equal(length, 1);\n });\n\n it('should run auction after video bids have been cached', async function () {\n sinon.stub(store, 'store').callsArgWith(1, null, [{uuid: 123}]);\n sinon.stub(config, 'getConfig').withArgs('cache.url').returns('cache-url');\n\n const bidsCopy = [Object.assign({}, bids[0], {mediaType: 'video'})];\n const bids1Copy = [Object.assign({}, bids1[0], {mediaType: 'video'})];\n\n spec.interpretResponse.returns(bidsCopy);\n spec1.interpretResponse.returns(bids1Copy);\n\n auction.callBids();\n await auction.end;\n\n assert.equal(auction.getBidsReceived().length, 2);\n assert.equal(auction.getAuctionStatus(), 'completed');\n\n config.getConfig.restore();\n store.store.restore();\n });\n\n it('runs auction after video responses with multiple bid objects have been cached', async function () {\n sinon.stub(store, 'store').callsArgWith(1, null, [{uuid: 123}]);\n sinon.stub(config, 'getConfig').withArgs('cache.url').returns('cache-url');\n\n const bidsCopy = [\n Object.assign({}, bids[0], {mediaType: 'video'}),\n Object.assign({}, bids[0], {mediaType: 'banner'}),\n ];\n const bids1Copy = [\n Object.assign({}, bids1[0], {mediaType: 'video'}),\n Object.assign({}, bids1[0], {mediaType: 'video'}),\n ];\n\n spec.interpretResponse.returns(bidsCopy);\n spec1.interpretResponse.returns(bids1Copy);\n\n auction.callBids();\n await auction.end;\n\n assert.equal(auction.getBidsReceived().length, 4);\n assert.equal(auction.getAuctionStatus(), 'completed');\n\n config.getConfig.restore();\n store.store.restore();\n });\n\n it('should reject bid for price higher than limit for the same currency', () => {\n sinon.stub(auction, 'addBidRejected');\n config.setConfig({\n maxBid: 1\n });\n\n auction.callBids();\n sinon.assert.calledWith(auction.addBidRejected, sinon.match({rejectionReason: REJECTION_REASON.PRICE_TOO_HIGH}));\n })\n });\n\n describe('addBidRequests', function () {\n let createAuctionStub;\n let adUnits;\n let adUnitCodes;\n let spec;\n let spec1;\n let auction;\n let ajaxStub;\n let logMessageStub;\n let logInfoStub;\n let logWarnStub;\n let logErrorStub;\n\n const bids = TEST_BIDS;\n const bids1 = [mockBid({ bidderCode: BIDDER_CODE1 })];\n\n before(function () {\n logMessageStub = sinon.stub(utils, 'logMessage');\n logInfoStub = sinon.stub(utils, 'logInfo');\n logWarnStub = sinon.stub(utils, 'logWarn');\n logErrorStub = sinon.stub(utils, 'logError');\n });\n\n after(function () {\n logMessageStub.restore();\n logInfoStub.restore();\n logWarnStub.restore();\n logErrorStub.restore();\n });\n\n beforeEach(function () {\n config.setConfig({\n debugging: {\n enabled: true,\n bidRequests: [{\n bidderCode: BIDDER_CODE,\n adUnitCode: ADUNIT_CODE\n }]\n }\n });\n\n adUnits = [{\n code: ADUNIT_CODE,\n transactionId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n ]\n }, {\n code: ADUNIT_CODE1,\n transactionId: ADUNIT_CODE1,\n bids: [\n {bidder: BIDDER_CODE1, params: {placementId: 'id'}},\n ]\n }];\n adUnitCodes = adUnits.map(({ code }) => code);\n auction = auctionModule.newAuction({adUnits, adUnitCodes, callback: function() {}, cbTimeout: 3000});\n createAuctionStub = sinon.stub(auctionModule, 'newAuction');\n createAuctionStub.returns(auction);\n indexAuctions = [auction];\n const bidRequests = [\n mockBidRequest(bids[0], { auctionId: auction.getAuctionId() }),\n mockBidRequest(bids1[0], { auctionId: auction.getAuctionId(), adUnitCode: ADUNIT_CODE1 })\n ];\n const makeRequestsStub = sinon.stub(adapterManager, 'makeBidRequests');\n makeRequestsStub.returns(bidRequests);\n\n ajaxStub = sinon.stub(ajaxLib, 'ajaxBuilder').callsFake(mockAjaxBuilder);\n\n spec = mockBidder(BIDDER_CODE, bids);\n spec1 = mockBidder(BIDDER_CODE1, bids1);\n\n registerBidder(spec);\n registerBidder(spec1);\n });\n\n afterEach(function () {\n logMessageStub.resetHistory();\n logInfoStub.resetHistory();\n logWarnStub.resetHistory();\n logErrorStub.resetHistory();\n auctionModule.newAuction.restore();\n ajaxStub.restore();\n adapterManager.makeBidRequests.restore();\n config.resetConfig();\n });\n\n it('should override bidRequest properties when config debugging has a matching bidRequest defined', function () {\n auction.callBids();\n const auctionBidRequests = auction.getBidRequests();\n assert.equal(auctionBidRequests.length > 0, true);\n assert.equal(Array.isArray(auctionBidRequests[0].bids), true);\n\n const bid = auctionBidRequests[0].bids.find(bid => bid.adUnitCode === ADUNIT_CODE);\n assert.equal(typeof bid !== 'undefined', true);\n });\n });\n\n if (FEATURES.NATIVE) {\n describe('addBidResponse native', function () {\n let makeRequestsStub;\n let ajaxStub;\n let spec;\n let auction;\n\n beforeEach(function () {\n makeRequestsStub = sinon.stub(adapterManager, 'makeBidRequests');\n ajaxStub = sinon.stub(ajaxLib, 'ajaxBuilder').callsFake(mockAjaxBuilder);\n\n const adUnits = [{\n code: ADUNIT_CODE,\n transactionId: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n ],\n nativeOrtbRequest: ortbNativeRequest.ortb,\n mediaTypes: { native: { type: 'image' } }\n }];\n auction = auctionModule.newAuction({adUnits, adUnitCodes: [ADUNIT_CODE], callback: function() {}, cbTimeout: 3000});\n indexAuctions = [auction];\n const createAuctionStub = sinon.stub(auctionModule, 'newAuction');\n createAuctionStub.returns(auction);\n\n spec = mockBidder(BIDDER_CODE);\n registerBidder(spec);\n });\n\n afterEach(function () {\n ajaxStub.restore();\n auctionModule.newAuction.restore();\n adapterManager.makeBidRequests.restore();\n });\n\n it('should add legacy fields to native response', function () {\n const nativeBid = mockBid();\n nativeBid.mediaType = 'native';\n nativeBid.native = {\n ortb: {\n ver: '1.2',\n assets: [\n { id: 2, title: { text: 'Sample title' } },\n { id: 4, data: { value: 'Sample body' } },\n { id: 3, data: { value: 'Sample sponsoredBy' } },\n { id: 1, img: { url: 'https://www.example.com/image.png', w: 200, h: 200 } },\n { id: 5, img: { url: 'https://www.example.com/icon.png', w: 32, h: 32 } }\n ],\n link: { url: 'http://www.click.com' },\n eventtrackers: [\n { event: 1, method: 1, url: 'http://www.imptracker.com' },\n { event: 1, method: 2, url: 'http://www.jstracker.com/file.js' }\n ]\n }\n }\n\n const bidRequest = mockBidRequest(nativeBid, { mediaType: { native: ortbNativeRequest } });\n makeRequestsStub.returns([bidRequest]);\n\n spec.interpretResponse.returns(nativeBid);\n auction.callBids();\n\n const addedBid = auction.getBidsReceived().pop();\n assert.equal(addedBid.native.body, 'Sample body')\n assert.equal(addedBid.native.title, 'Sample title')\n assert.equal(addedBid.native.sponsoredBy, 'Sample sponsoredBy')\n assert.equal(addedBid.native.clickUrl, 'http://www.click.com')\n assert.equal(addedBid.native.image.url, 'https://www.example.com/image.png')\n assert.equal(addedBid.native.icon.url, 'https://www.example.com/icon.png')\n assert.equal(addedBid.native.impressionTrackers[0], 'http://www.imptracker.com')\n assert.equal(addedBid.native.javascriptTrackers, '<script async src=\"http://www.jstracker.com/file.js\"></script>')\n });\n });\n }\n\n describe('getMediaTypeGranularity', function () {\n if (FEATURES.VIDEO) {\n it('video', function () {\n let mediaTypes = { video: {id: '1'} };\n\n // mediaType is video and video.context is undefined\n expect(getMediaTypeGranularity('video', mediaTypes, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n\n expect(getMediaTypeGranularity('video', {}, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n ``\n expect(getMediaTypeGranularity('video', undefined, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n\n // also when mediaTypes.video is undefined\n mediaTypes = { banner: {} };\n expect(getMediaTypeGranularity('video', mediaTypes, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n\n // also when mediaTypes is undefined\n expect(getMediaTypeGranularity('video', {}, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n });\n\n it('video-outstream', function () {\n const mediaTypes = { video: { context: 'outstream' } };\n\n expect(getMediaTypeGranularity('video', mediaTypes, {\n 'banner': 'low', 'video': 'medium', 'video-outstream': 'high'\n })).to.equal('high');\n });\n\n it('video-instream', function () {\n const mediaTypes = { video: { context: 'instream' } };\n\n expect(getMediaTypeGranularity('video', mediaTypes, {\n banner: 'low', video: 'medium', 'video-instream': 'high'\n })).to.equal('high');\n\n // fall back to video if video-instream not found\n expect(getMediaTypeGranularity('video', mediaTypes, {\n banner: 'low', video: 'medium'\n })).to.equal('medium');\n\n expect(getMediaTypeGranularity('video', {mediaTypes: {banner: {}}}, {\n banner: 'low', video: 'medium'\n })).to.equal('medium');\n });\n }\n\n it('native', function () {\n expect(getMediaTypeGranularity('native', {native: {}}, {\n banner: 'low', video: 'medium', native: 'high'\n })).to.equal('high');\n });\n });\n\n describe('addWinningBid', () => {\n let auction, bid, adUnits, sandbox;\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n sandbox.stub(adapterManager, 'callBidWonBidder');\n sandbox.stub(adapterManager, 'triggerBilling')\n adUnits = [{code: 'au1'}, {code: 'au2'}]\n auction = newAuction({adUnits});\n bid = {\n bidder: 'mock-bidder'\n };\n })\n afterEach(() => {\n sandbox.restore();\n });\n\n it('should call bidWon', () => {\n auction.addWinningBid(bid);\n sinon.assert.calledWith(adapterManager.callBidWonBidder, bid.bidder, bid, adUnits);\n });\n\n [undefined, false].forEach(deferBilling => {\n it(`should call onBidBillable if deferBilling = ${deferBilling}`, () => {\n bid.deferBilling = deferBilling;\n auction.addWinningBid(bid);\n sinon.assert.calledWith(adapterManager.triggerBilling, bid);\n });\n })\n\n it('should NOT call onBidBillable if deferBilling = true', () => {\n bid.deferBilling = true;\n auction.addWinningBid(bid);\n sinon.assert.notCalled(adapterManager.triggerBilling);\n })\n })\n\n function mockAuction(getBidRequests, start = 1) {\n return {\n getBidRequests: getBidRequests,\n getAdUnits: () => getBidRequests().flatMap(br => br.bids).map(br => ({ code: br.adUnitCode, transactionId: br.transactionId, adUnitId: br.adUnitId, mediaTypes: br.mediaTypes })),\n getAuctionId: () => '1',\n addBidReceived: () => true,\n addBidRejected: () => true,\n getTimeout: () => 1000,\n getAuctionStart: () => start,\n }\n }\n\n describe('getPriceByGranularity', () => {\n beforeEach(() => {\n config.setConfig({\n mediaTypePriceGranularity: {\n video: 'medium',\n banner: 'low'\n }\n });\n })\n\n afterEach(() => {\n config.resetConfig();\n })\n\n it('evaluates undef granularity on each call', () => {\n const gpbg = getPriceByGranularity();\n expect(gpbg({\n mediaType: 'video', pbMg: 'medium'\n }, {\n 'mediaTypes': {video: {id: '1'}}\n })).to.equal('medium');\n expect(gpbg({\n mediaType: 'banner',\n pbLg: 'low'\n }, {\n 'mediaTypes': {banner: {}}\n })).to.equal('low');\n });\n })\n\n describe('auction options / callbacks', () => {\n let ready;\n function responsesReadyHook(next) {\n next(ready);\n }\n\n before(() => {\n responsesReady.before(responsesReadyHook, 100);\n });\n after(() => {\n responsesReady.getHooks({hook: responsesReadyHook}).remove();\n });\n\n beforeEach(() => {\n ready = Promise.resolve();\n return ready;\n });\n\n describe('auctionCallbacks', function() {\n const bids = TEST_BIDS;\n let bidRequests;\n let doneSpy;\n let auction;\n\n beforeEach(() => {\n const start = Date.now();\n auction = mockAuction(() => bidRequests, start);\n indexAuctions = [auction];\n doneSpy = sinon.spy();\n config.setConfig({\n cache: {\n url: 'https://prebid.adnxs.com/pbc/v1/cache'\n }\n });\n });\n\n afterEach(() => {\n doneSpy.resetHistory();\n config.resetConfig();\n bidRequests = null;\n });\n\n Object.entries({\n 'added to': (cbs) => cbs.addBidResponse,\n 'rejected from': (cbs) => cbs.addBidResponse.reject,\n }).forEach(([t, getMethod]) => {\n it(`should call auction done after bid is ${t} auction for mediaType banner`, async function () {\n const ADUNIT_CODE2 = 'adUnitCode2';\n const BIDDER_CODE2 = 'sampleBidder2';\n\n const bids1 = [mockBid({bidderCode: BIDDER_CODE1, adUnitId: ADUNIT_CODE1})];\n const bids2 = [mockBid({bidderCode: BIDDER_CODE2, adUnitId: ADUNIT_CODE2})];\n bidRequests = [\n mockBidRequest(bids[0]),\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids2[0], {adUnitCode: ADUNIT_CODE2})\n ];\n const cbs = auctionCallbacks(doneSpy, auction);\n const method = getMethod(cbs);\n method(ADUNIT_CODE, bids[0]);\n cbs.adapterDone.call(bidRequests[0]);\n method(ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[1]);\n method(ADUNIT_CODE2, bids2[0]);\n cbs.adapterDone.call(bidRequests[2]);\n await ready;\n assert.equal(doneSpy.callCount, 1);\n });\n })\n\n if (FEATURES.VIDEO) {\n it('should call auction done after prebid cache is complete for mediaType video', async function () {\n bids[0].mediaType = 'video';\n const bids1 = [mockBid({bidderCode: BIDDER_CODE1})];\n\n const opts = {\n mediaType: {\n video: {\n context: 'instream',\n playerSize: [640, 480],\n },\n }\n };\n bidRequests = [\n mockBidRequest(bids[0], opts),\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n ];\n\n const cbs = auctionCallbacks(doneSpy, auction);\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE, bids[0]);\n cbs.adapterDone.call(bidRequests[0]);\n cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[1]);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n const uuid = 'c488b101-af3e-4a99-b538-00423e5a3371';\n const responseBody = `{\"responses\":[{\"uuid\":\"${uuid}\"}]}`;\n server.requests[0].respond(200, {'Content-Type': 'application/json'}, responseBody);\n assert.equal(doneSpy.callCount, 1);\n });\n }\n\n it('should convert cpm to number', () => {\n auction.addBidReceived = sinon.spy();\n const cbs = auctionCallbacks(doneSpy, auction);\n const bid = {...bids[0], cpm: '1.23'}\n bidRequests = [mockBidRequest(bid)];\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE, bid);\n sinon.assert.calledWith(auction.addBidReceived, sinon.match({cpm: 1.23}));\n })\n\n describe('when responsesReady defers', () => {\n let resolve, reject, promise, callbacks, bids;\n\n function hook(next, ready) {\n next(ready.then(() => promise));\n }\n\n before(() => {\n responsesReady.before(hook, 0); // higher priority than wrapping setup\n });\n\n after(() => {\n responsesReady.getHooks({hook}).remove();\n });\n\n beforeEach(() => {\n // eslint-disable-next-line promise/param-names\n promise = new Promise((rs, rj) => {\n resolve = rs;\n reject = rj;\n });\n bids = [\n mockBid({bidderCode: BIDDER_CODE1}),\n mockBid({bidderCode: BIDDER_CODE})\n ]\n bidRequests = bids.map((b) => mockBidRequest(b));\n callbacks = auctionCallbacks(doneSpy, auction);\n Object.assign(auction, {\n addNoBid: sinon.spy()\n });\n });\n\n Object.entries({\n 'resolve': () => resolve(),\n 'reject': () => reject(),\n }).forEach(([t, resolver]) => {\n it(`should wait for responsesReady to ${t} before calling auctionDone`, (done) => {\n bidRequests.forEach(bidRequest => callbacks.adapterDone.call(bidRequest));\n setTimeout(() => {\n sinon.assert.notCalled(doneSpy);\n resolver();\n setTimeout(() => {\n sinon.assert.called(doneSpy);\n done();\n })\n })\n });\n });\n });\n\n describe('when bids are rejected', () => {\n let cbs, bid, expectedRejection;\n const onBidRejected = sinon.stub();\n const REJECTION_REASON = 'Bid rejected';\n const AU_CODE = 'au';\n\n function rejectHook(fn, adUnitCode, bid, reject) {\n reject(REJECTION_REASON);\n reject(REJECTION_REASON); // second call should do nothing\n }\n\n before(() => {\n addBidResponse.before(rejectHook, 999);\n events.on(EVENTS.BID_REJECTED, onBidRejected);\n });\n\n after(() => {\n addBidResponse.getHooks({hook: rejectHook}).remove();\n events.off(EVENTS.BID_REJECTED, onBidRejected);\n });\n\n beforeEach(() => {\n onBidRejected.resetHistory();\n bid = mockBid({bidderCode: BIDDER_CODE});\n bidRequests = [\n mockBidRequest(bid),\n ];\n cbs = auctionCallbacks(doneSpy, auction);\n expectedRejection = sinon.match(Object.assign({}, bid, {\n cpm: parseFloat(bid.cpm),\n rejectionReason: REJECTION_REASON,\n adUnitCode: AU_CODE\n }));\n auction.addBidRejected = sinon.stub();\n });\n\n Object.entries({\n 'with addBidResponse.reject': () => cbs.addBidResponse.reject(AU_CODE, deepClone(bid), REJECTION_REASON),\n 'from addBidResponse hooks': () => cbs.addBidResponse(AU_CODE, deepClone(bid))\n }).forEach(([t, rejectBid]) => {\n describe(t, () => {\n it('should emit a BID_REJECTED event', () => {\n rejectBid();\n sinon.assert.calledWith(onBidRejected, expectedRejection);\n });\n\n it('should pass bid to auction.addBidRejected', () => {\n rejectBid();\n sinon.assert.calledWith(auction.addBidRejected, expectedRejection);\n });\n })\n });\n\n it('addBidResponse hooks should not be able to reject the same bid twice', () => {\n cbs.addBidResponse(AU_CODE, bid);\n expect(auction.addBidRejected.calledOnce).to.be.true;\n });\n })\n });\n describe('auctionOptions', function() {\n let bidRequests;\n let doneSpy;\n let clock;\n const requiredBidder = BIDDER_CODE;\n const requiredBidder1 = BIDDER_CODE1;\n const secondaryBidder = 'doNotWaitForMe';\n let auction;\n\n beforeEach(() => {\n clock = sinon.useFakeTimers();\n doneSpy = sinon.spy();\n config.setConfig({\n 'auctionOptions': {\n secondaryBidders: [ secondaryBidder ]\n }\n });\n\n const start = Date.now();\n auction = mockAuction(() => bidRequests);\n indexAuctions = [auction];\n });\n\n afterEach(() => {\n doneSpy.resetHistory();\n config.resetConfig();\n clock.restore();\n });\n\n it('should not wait to call auction done for secondary bidders', async function () {\n const bids1 = [mockBid({bidderCode: requiredBidder, transactionId: ADUNIT_CODE1})];\n const bids2 = [mockBid({bidderCode: requiredBidder1, transactionId: ADUNIT_CODE1})];\n const bids3 = [mockBid({bidderCode: secondaryBidder, transactionId: ADUNIT_CODE1})];\n bidRequests = [\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids2[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids3[0], {adUnitCode: ADUNIT_CODE1}),\n ];\n const cbs = auctionCallbacks(doneSpy, auction);\n // required bidder responds immeaditely to auction\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[0]);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n\n // auction waits for second required bidder to respond\n clock.tick(100);\n cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids2[0]);\n cbs.adapterDone.call(bidRequests[1]);\n // auction done is reported and does not wait for secondaryBidder request\n await ready;\n assert.equal(doneSpy.callCount, 1);\n\n cbs.addBidResponse.call(bidRequests[2], ADUNIT_CODE1, bids3[0]);\n cbs.adapterDone.call(bidRequests[2]);\n });\n\n it('should wait for all bidders if they are all secondary', async function () {\n config.setConfig({\n 'auctionOptions': {\n secondaryBidders: [requiredBidder, requiredBidder1, secondaryBidder]\n }\n })\n const bids1 = [mockBid({bidderCode: requiredBidder})];\n const bids2 = [mockBid({bidderCode: requiredBidder1})];\n const bids3 = [mockBid({bidderCode: secondaryBidder})];\n bidRequests = [\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids2[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids3[0], {adUnitCode: ADUNIT_CODE1}),\n ];\n const cbs = auctionCallbacks(doneSpy, auction);\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[0]);\n clock.tick(100);\n await ready;\n assert.equal(doneSpy.callCount, 0)\n\n cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids2[0]);\n cbs.adapterDone.call(bidRequests[1]);\n clock.tick(100);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n\n cbs.addBidResponse.call(bidRequests[2], ADUNIT_CODE1, bids3[0]);\n cbs.adapterDone.call(bidRequests[2]);\n await ready;\n assert.equal(doneSpy.callCount, 1);\n });\n\n it('should allow secondaryBidders to respond in auction before is is done', async function () {\n const bids1 = [mockBid({bidderCode: requiredBidder})];\n const bids2 = [mockBid({bidderCode: requiredBidder1})];\n const bids3 = [mockBid({bidderCode: secondaryBidder})];\n bidRequests = [\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids2[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids3[0], {adUnitCode: ADUNIT_CODE1}),\n ];\n const cbs = auctionCallbacks(doneSpy, auction);\n // secondaryBidder is first to respond\n cbs.addBidResponse.call(bidRequests[2], ADUNIT_CODE1, bids3[0]);\n cbs.adapterDone.call(bidRequests[2]);\n clock.tick(100);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n\n cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids2[0]);\n cbs.adapterDone.call(bidRequests[1]);\n clock.tick(100);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n\n // first required bidder takes longest to respond, auction isn't marked as done until this occurs\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[0]);\n await ready;\n assert.equal(doneSpy.callCount, 1);\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"auctionmanager_spec.js","names":["getKeyValueTargetingPairs","auctionCallbacks","AUCTION_COMPLETED","adjustBids","getMediaTypeGranularity","getPriceByGranularity","addBidResponse","resetAuctionState","responsesReady","newAuction","EVENTS","TARGETING_KEYS","S2S","auctionModule","registerBidder","createBid","config","_internal","store","ajaxLib","server","hook","auctionManager","AuctionIndex","expect","deepClone","IMAGE","ortbNativeRequest","PrebidServer","setConfig","setCurrencyConfig","REJECTION_REASON","setDocumentHidden","sandbox","getMinBidCacheTTL","onMinBidCacheTTLChange","assert","require","utils","fixtures","adapterManager","default","events","BIDDER_CODE","BIDDER_CODE1","ADUNIT_CODE","ADUNIT_CODE1","mockBid","opts","bidderCode","adUnitCode","getUniqueIdentifierStr","transactionId","adUnitId","getSize","getIdentifiers","src","source","bidder","bidId","requestId","auctionId","_ctx","adUnits","uniquePbsTid","mockBidRequest","bid","Error","defaultMediaType","banner","sizes","mediaType","adUnitsS2SCopy","SRC","undefined","mockBidder","bids","spec","code","isBidRequestValid","sinon","stub","buildRequests","interpretResponse","getUserSyncs","returns","TEST_BIDS","TEST_BID_REQS","map","mockAjaxBuilder","url","callback","fakeResponse","success","getResponseHeader","describe","indexAuctions","indexStub","before","addBidderRequests","bidsBackCallback","forEach","h","getHooks","remove","ready","beforeEach","get","afterEach","restore","DEFAULT_BID","cpm","pbLg","pbMg","pbHg","pbAg","height","width","adId","creativeId","meta","advertiserDomains","primaryCatId","networkId","getDefaultExpected","keys","expected","BIDDER","AD_ID","PRICE_BUCKET","SIZE","SOURCE","FORMAT","ADOMAIN","ACAT","DSP","CRID","UUID","videoCacheKey","CACHE_ID","CACHE_HOST","reduce","key","Object","assign","it","pbjs","bidderSettings","hb_cache_host","response","deepEqual","noAcatBid","hb_acat","cache","videoBid","standard","adserverTargeting","val","bidResponse","size","appnexus","nonExistentBidder","s2sConfig","accountId","enabled","defaultVendor","bidders","timeout","adapter","bidCpmAdjustment","bidCpm","getBidResponses","equal","sendStandardTargeting","suppressEmptyKeys","brealtime","bidObj","stubMakeBidRequests","stubCallAdapters","callsFake","au","reqs","addBid","done","r","apply","clearAllAuctions","ortb2Fragments","global","auction","createAuction","callBids","anyArgs","Array","match","any","calledWith","slice","concat","same","getNonBids","to","emit","SEAT_NON_BID","getAuctionId","seatnonbid","resetHistory","requestsDone","eql","minBidCacheTTL","newTTL","ttl","clock","useFakeTimers","push","resetConfig","end","tick","getBidsReceived","length","edn","getNoBids","then","entries","bd","_ref","t","be","true","createAuctionStub","adUnitCodes","ajaxStub","bidderRequests","makeRequestsStub","after","makeBidRequests","mediaTypes","params","placementId","cbTimeout","b","checkPbDg","msg","registeredBid","pop","pbDg","dealId","DEAL","extra","hasBid","eventHandler","storedBid","on","BID_RESPONSE","off","ok","on adUnit","on bid","on mediatype","_ref2","getObj","renderer","render","getBid","renderNow","backupOnly","bids1","addedBid","myBid","bidRequest","video","context","spy","strictEqual","bidRequests","find","ttlBuffer","request","_ref3","ortb2Imp","instl","eventsEmitSpy","auctionDone","respondToRequest","requestIndex","requests","respond","runAuction","Promise","resolve","spec1","spec2","endResolved","pm","handler","AUCTION_TIMEOUT","_ref4","shouldFire","notCalled","bidTimeoutCall","withArgs","BID_TIMEOUT","getCalls","timedOutBids","args","auctionEndCall","AUCTION_END","auctionProps","auctionStatus","registerBidAdapter","endpoint","p1Consent","noP1Consent","maxTimeout","syncEndpoint","s2sAdUnits","unshift","bid_id","toBids","_ref5","bidsReceived","addedBid2","addedBid1","notEqual","callsArgWith","uuid","bidsCopy","bids1Copy","getAuctionStatus","getConfig","maxBid","addBidRejected","rejectionReason","PRICE_TOO_HIGH","logMessageStub","logInfoStub","logWarnStub","logErrorStub","debugging","_ref6","auctionBidRequests","getBidRequests","isArray","nativeOrtbRequest","ortb","native","type","nativeBid","ver","assets","id","title","text","data","value","img","w","link","eventtrackers","event","method","body","sponsoredBy","clickUrl","image","icon","impressionTrackers","javascriptTrackers","createSandbox","addWinningBid","callBidWonBidder","deferBilling","triggerBilling","mockAuction","start","arguments","getAdUnits","flatMap","br","addBidReceived","getTimeout","getAuctionStart","mediaTypePriceGranularity","gpbg","responsesReadyHook","next","doneSpy","Date","now","cbs","reject","_ref7","getMethod","ADUNIT_CODE2","BIDDER_CODE2","bids2","adapterDone","call","callCount","playerSize","responseBody","promise","callbacks","rs","rj","addNoBid","_ref8","resolver","setTimeout","called","expectedRejection","onBidRejected","AU_CODE","rejectHook","fn","BID_REJECTED","parseFloat","with addBidResponse.reject","from addBidResponse hooks","_ref9","rejectBid","calledOnce","requiredBidder","requiredBidder1","secondaryBidder","secondaryBidders","bids3"],"sourceRoot":"../../../..","sources":["test/spec/auctionmanager_spec.js"],"sourcesContent":["import {\n getKeyValueTargetingPairs,\n auctionCallbacks,\n AUCTION_COMPLETED,\n adjustBids,\n getMediaTypeGranularity,\n getPriceByGranularity,\n addBidResponse, resetAuctionState, responsesReady, newAuction\n} from 'src/auction.js';\nimport { EVENTS, TARGETING_KEYS, S2S } from 'src/constants.js';\nimport * as auctionModule from 'src/auction.js';\nimport { registerBidder } from 'src/adapters/bidderFactory.js';\nimport { createBid } from 'src/bidfactory.js';\nimport { config } from 'src/config.js';\nimport {_internal as store} from 'src/videoCache.js';\nimport * as ajaxLib from 'src/ajax.js';\nimport { server } from 'test/mocks/xhr.js';\nimport {hook} from '../../src/hook.js';\nimport {auctionManager} from '../../src/auctionManager.js';\nimport 'modules/debugging/index.js' // some tests look for debugging side effects\nimport {AuctionIndex} from '../../src/auctionIndex.js';\nimport {expect} from 'chai';\nimport {deepClone} from '../../src/utils.js';\nimport { IMAGE as ortbNativeRequest } from 'src/native.js';\nimport {PrebidServer} from '../../modules/prebidServerBidAdapter/index.js';\nimport { setConfig as setCurrencyConfig } from '../../modules/currency.js'\n\nimport { REJECTION_REASON } from '../../src/constants.js';\nimport { setDocumentHidden } from './unit/utils/focusTimeout_spec.js';\nimport {sandbox} from 'sinon';\nimport {getMinBidCacheTTL, onMinBidCacheTTLChange} from '../../src/bidTTL.js';\n\n/**\n * @typedef {import('../src/adapters/bidderFactory.js').BidRequest} BidRequest\n * @typedef {import('../src/adapters/bidderFactory.js').Bid} Bid\n */\n\nvar assert = require('assert');\n\n/* use this method to test individual files instead of the whole prebid.js project */\n\n// TODO refactor to use the spec files\nvar utils = require('../../src/utils.js');\nvar fixtures = require('../fixtures/fixtures.js');\nvar adapterManager = require('src/adapterManager').default;\nvar events = require('src/events');\n\nconst BIDDER_CODE = 'sampleBidder';\nconst BIDDER_CODE1 = 'sampleBidder1';\n\nconst ADUNIT_CODE = 'adUnit-code';\nconst ADUNIT_CODE1 = 'adUnit-code-1';\n\n/**\n * @param {Object} [opts]\n * @returns {Bid}\n */\nfunction mockBid(opts) {\n const bidderCode = opts && opts.bidderCode;\n\n return {\n adUnitCode: opts?.adUnitCode || ADUNIT_CODE,\n 'ad': 'creative',\n 'cpm': '1.99',\n 'width': 300,\n 'height': 250,\n 'bidderCode': bidderCode || BIDDER_CODE,\n 'requestId': utils.getUniqueIdentifierStr(),\n 'transactionId': (opts && opts.transactionId) || ADUNIT_CODE,\n adUnitId: (opts && opts.adUnitId) || ADUNIT_CODE,\n 'creativeId': 'id',\n 'currency': 'USD',\n 'netRevenue': true,\n 'ttl': 360,\n getSize: () => '300x250',\n getIdentifiers() {\n return {\n src: this.source,\n bidder: this.bidderCode,\n bidId: this.requestId,\n transactionId: this.transactionId,\n auctionId: this.auctionId\n }\n },\n _ctx: {\n adUnits: opts?.adUnits,\n src: opts?.src,\n uniquePbsTid: opts?.uniquePbsTid,\n }\n };\n}\n\n/**\n * @param {Bid} bid\n * @param {Object} [opts]\n * @returns {BidRequest}\n */\nfunction mockBidRequest(bid, opts) {\n if (!bid) {\n throw new Error('bid required');\n }\n const bidderCode = opts && opts.bidderCode;\n const adUnitCode = opts && opts.adUnitCode;\n const defaultMediaType = {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n }\n const mediaType = (opts && opts.mediaType) ? opts.mediaType : defaultMediaType;\n\n const requestId = utils.getUniqueIdentifierStr();\n\n return {\n 'bidderCode': bidderCode || bid.bidderCode,\n 'auctionId': opts && opts.auctionId,\n 'bidderRequestId': requestId,\n src: bid?._ctx?.src,\n adUnitsS2SCopy: bid?._ctx?.src === S2S.SRC ? bid?._ctx?.adUnits : undefined,\n uniquePbsTid: bid?._ctx?.src === S2S.SRC ? bid?._ctx?.uniquePbsTid : undefined,\n 'bids': [\n {\n 'bidder': bidderCode || bid.bidderCode,\n 'params': {\n 'placementId': 'id'\n },\n 'adUnitCode': adUnitCode || ADUNIT_CODE,\n 'transactionId': bid.transactionId,\n adUnitId: bid.adUnitId,\n 'sizes': [[300, 250], [300, 600]],\n 'bidId': bid.requestId,\n 'bidderRequestId': requestId,\n 'auctionId': opts && opts.auctionId,\n 'mediaTypes': mediaType,\n src: bid?._ctx?.src\n }\n ],\n 'auctionStart': 1505250713622,\n 'timeout': 3000\n };\n}\n\nfunction mockBidder(bidderCode, bids) {\n const spec = {\n code: bidderCode,\n isBidRequestValid: sinon.stub(),\n buildRequests: sinon.stub(),\n interpretResponse: sinon.stub(),\n getUserSyncs: sinon.stub()\n };\n\n spec.buildRequests.returns([{'id': 123, 'method': 'POST'}]);\n spec.isBidRequestValid.returns(true);\n spec.interpretResponse.returns(bids);\n\n return spec;\n}\n\nconst TEST_BIDS = [mockBid()];\nconst TEST_BID_REQS = TEST_BIDS.map(mockBidRequest);\n\nfunction mockAjaxBuilder() {\n return function(url, callback) {\n const fakeResponse = sinon.stub();\n fakeResponse.returns('headerContent');\n callback.success('response body', { getResponseHeader: fakeResponse });\n };\n}\n\ndescribe('auctionmanager.js', function () {\n let indexAuctions, indexStub\n\n before(() => {\n // hooks are global and their side effects depend on what has been loaded\n [\n auctionModule.addBidResponse,\n auctionModule.addBidderRequests,\n auctionModule.bidsBackCallback\n ].forEach((h) => h.getHooks().remove())\n hook.ready();\n });\n\n beforeEach(() => {\n indexAuctions = [];\n indexStub = sinon.stub(auctionManager, 'index');\n indexStub.get(() => new AuctionIndex(() => indexAuctions));\n resetAuctionState();\n });\n\n afterEach(() => {\n indexStub.restore();\n });\n\n describe('getKeyValueTargetingPairs', function () {\n const DEFAULT_BID = {\n cpm: 5.578,\n pbLg: 5.50,\n pbMg: 5.50,\n pbHg: 5.57,\n pbAg: 5.50,\n\n height: 300,\n width: 250,\n getSize() {\n return this.height + 'x' + this.width;\n },\n\n adUnitCode: '12345',\n bidderCode: 'appnexus',\n adId: '1adId',\n source: 'client',\n mediaType: 'banner',\n creativeId: 'monkeys',\n meta: {\n advertiserDomains: ['adomain'],\n primaryCatId: 'IAB-test',\n networkId: '123987'\n }\n };\n\n /* return the expected response for a given bid, filter by keys if given */\n function getDefaultExpected(bid, keys) {\n var expected = {};\n expected[TARGETING_KEYS.BIDDER] = bid.bidderCode;\n expected[TARGETING_KEYS.AD_ID] = bid.adId;\n expected[TARGETING_KEYS.PRICE_BUCKET] = bid.pbMg;\n expected[TARGETING_KEYS.SIZE] = bid.getSize();\n expected[TARGETING_KEYS.SOURCE] = bid.source;\n expected[TARGETING_KEYS.FORMAT] = bid.mediaType;\n expected[TARGETING_KEYS.ADOMAIN] = bid.meta.advertiserDomains[0];\n expected[TARGETING_KEYS.ACAT] = bid.meta.primaryCatId;\n expected[TARGETING_KEYS.DSP] = bid.meta.networkId;\n expected[TARGETING_KEYS.CRID] = bid.creativeId;\n if (bid.mediaType === 'video') {\n expected[TARGETING_KEYS.UUID] = bid.videoCacheKey;\n expected[TARGETING_KEYS.CACHE_ID] = bid.videoCacheKey;\n expected[TARGETING_KEYS.CACHE_HOST] = 'test.cache.url';\n }\n if (!keys) {\n return expected;\n }\n\n return keys.reduce((map, key) => {\n map[key] = expected[key];\n return map;\n }, {});\n }\n\n var bid = {};\n\n before(function () {\n bid = Object.assign({}, DEFAULT_BID);\n });\n\n it('No bidder level configuration defined - default', function () {\n $$PREBID_GLOBAL$$.bidderSettings = {};\n const expected = getDefaultExpected(bid);\n // remove hb_cache_host from expected\n delete expected.hb_cache_host;\n const response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('should suppress acat if undefined', function () {\n const noAcatBid = deepClone(DEFAULT_BID);\n noAcatBid.meta.primaryCatId = ''\n const expected = getDefaultExpected(noAcatBid);\n delete expected.hb_acat;\n const response = getKeyValueTargetingPairs(noAcatBid.bidderCode, noAcatBid);\n assert.deepEqual(response, expected);\n });\n\n if (FEATURES.VIDEO) {\n it('No bidder level configuration defined - default for video', function () {\n config.setConfig({\n cache: {\n url: 'https://test.cache.url/endpoint'\n }\n });\n $$PREBID_GLOBAL$$.bidderSettings = {};\n const videoBid = utils.deepClone(bid);\n videoBid.mediaType = 'video';\n videoBid.videoCacheKey = 'abc123def';\n\n const expected = getDefaultExpected(videoBid);\n const response = getKeyValueTargetingPairs(videoBid.bidderCode, videoBid);\n assert.deepEqual(response, expected);\n });\n }\n\n it('Custom configuration for all bidders', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n standard: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return bidResponse.pbHg;\n }\n }, {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n },\n {\n key: TARGETING_KEYS.SOURCE,\n val: function (bidResponse) {\n return bidResponse.source;\n }\n },\n {\n key: TARGETING_KEYS.FORMAT,\n val: function (bidResponse) {\n return bidResponse.mediaType;\n }\n },\n {\n key: TARGETING_KEYS.ADOMAIN,\n val: function (bidResponse) {\n return bidResponse.meta.advertiserDomains[0];\n }\n },\n {\n key: TARGETING_KEYS.CRID,\n val: function (bidResponse) {\n return bidResponse.creativeId;\n }\n },\n {\n key: TARGETING_KEYS.DSP,\n val: function (bidResponse) {\n return bidResponse.meta.networkId;\n }\n },\n {\n key: TARGETING_KEYS.ACAT,\n val: function (bidResponse) {\n return bidResponse.meta.primaryCatId;\n }\n }\n ]\n\n }\n };\n\n var expected = getDefaultExpected(bid);\n expected[TARGETING_KEYS.PRICE_BUCKET] = bid.pbHg;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n if (FEATURES.VIDEO) {\n it('Custom configuration for all bidders with video bid', function () {\n config.setConfig({\n cache: {\n url: 'https://test.cache.url/endpoint'\n }\n });\n const videoBid = utils.deepClone(bid);\n videoBid.mediaType = 'video';\n videoBid.videoCacheKey = 'abc123def';\n\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n standard: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n return bidResponse.pbMg;\n }\n }, {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n },\n {\n key: TARGETING_KEYS.SOURCE,\n val: function (bidResponse) {\n return bidResponse.source;\n }\n },\n {\n key: TARGETING_KEYS.FORMAT,\n val: function (bidResponse) {\n return bidResponse.mediaType;\n }\n },\n {\n key: TARGETING_KEYS.UUID,\n val: function (bidResponse) {\n return bidResponse.videoCacheKey;\n }\n },\n {\n key: TARGETING_KEYS.CACHE_ID,\n val: function (bidResponse) {\n return bidResponse.videoCacheKey;\n }\n },\n {\n key: TARGETING_KEYS.ADOMAIN,\n val: function (bidResponse) {\n return bidResponse.meta.advertiserDomains[0];\n }\n },\n {\n key: TARGETING_KEYS.CRID,\n val: function (bidResponse) {\n return bidResponse.creativeId;\n }\n },\n {\n key: TARGETING_KEYS.DSP,\n val: function (bidResponse) {\n return bidResponse.meta.networkId;\n }\n },\n {\n key: TARGETING_KEYS.ACAT,\n val: function (bidResponse) {\n return bidResponse.meta.primaryCatId;\n }\n }\n ]\n\n }\n };\n\n const expected = getDefaultExpected(videoBid);\n\n const response = getKeyValueTargetingPairs(videoBid.bidderCode, videoBid);\n assert.deepEqual(response, expected);\n });\n }\n\n it('Custom configuration for one bidder', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n appnexus: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return bidResponse.pbHg;\n }\n }, {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n }\n ]\n\n }\n };\n\n var expected = getDefaultExpected(bid);\n expected[TARGETING_KEYS.PRICE_BUCKET] = bid.pbHg;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('Custom configuration for one bidder - not matched', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n nonExistentBidder: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return bidResponse.pbHg;\n }\n }, {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n }\n ]\n\n }\n };\n var expected = getDefaultExpected(bid);\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('Should set targeting as expecting when pbs is enabled', function () {\n config.setConfig({\n s2sConfig: {\n accountId: '1',\n enabled: true,\n defaultVendor: 'appnexuspsp',\n bidders: ['appnexus'],\n timeout: 1000,\n adapter: 'prebidServer'\n }\n });\n\n $$PREBID_GLOBAL$$.bidderSettings = {};\n const expected = getDefaultExpected(bid);\n const response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('Custom bidCpmAdjustment for one bidder and inherit standard but doesn\\'t use standard bidCpmAdjustment', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n appnexus: {\n bidCpmAdjustment: function (bidCpm) {\n return bidCpm * 0.7;\n },\n },\n standard: {\n bidCpmAdjustment: function (bidCpm) {\n return 200;\n },\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return 10.00;\n }\n }\n ]\n\n }\n };\n var expected = getDefaultExpected(bid, [TARGETING_KEYS.BIDDER, TARGETING_KEYS.AD_ID]);\n expected[TARGETING_KEYS.PRICE_BUCKET] = 10.0;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('Standard bidCpmAdjustment changes the bid of any bidder', function () {\n const bid = Object.assign({},\n createBid(),\n fixtures.getBidResponses()[5]\n );\n\n assert.equal(bid.cpm, 0.5);\n\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n standard: {\n bidCpmAdjustment: function (bidCpm) {\n return bidCpm * 0.5;\n }\n }\n };\n\n adjustBids(bid)\n assert.equal(bid.cpm, 0.25);\n });\n\n it('Custom bidCpmAdjustment AND custom configuration for one bidder and inherit standard settings', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n appnexus: {\n bidCpmAdjustment: function (bidCpm) {\n return bidCpm * 0.7;\n },\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return 15.00;\n }\n }\n ]\n },\n standard: {\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n // change default here\n return 10.00;\n },\n },\n {\n key: TARGETING_KEYS.SIZE,\n val: function (bidResponse) {\n return bidResponse.size;\n }\n }\n ]\n\n }\n };\n var expected = getDefaultExpected(bid, [TARGETING_KEYS.BIDDER, TARGETING_KEYS.AD_ID, TARGETING_KEYS.SIZE]);\n expected[TARGETING_KEYS.PRICE_BUCKET] = 15.0;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n\n it('sendStandardTargeting=false, and inherit custom', function () {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n appnexus: {\n sendStandardTargeting: false,\n adserverTargeting: [\n {\n key: TARGETING_KEYS.BIDDER,\n val: function (bidResponse) {\n return bidResponse.bidderCode;\n }\n }, {\n key: TARGETING_KEYS.AD_ID,\n val: function (bidResponse) {\n return bidResponse.adId;\n }\n }, {\n key: TARGETING_KEYS.PRICE_BUCKET,\n val: function (bidResponse) {\n return bidResponse.pbHg;\n }\n }\n ]\n }\n };\n var expected = getDefaultExpected(bid);\n expected[TARGETING_KEYS.PRICE_BUCKET] = 5.57;\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n assert.equal(bid.sendStandardTargeting, false);\n });\n\n it('suppressEmptyKeys=true', function() {\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n standard: {\n suppressEmptyKeys: true,\n adserverTargeting: [\n {\n key: 'aKeyWithAValue',\n val: 42\n },\n {\n key: 'aKeyWithAnEmptyValue',\n val: ''\n }\n ]\n }\n };\n\n var expected = {\n 'aKeyWithAValue': 42\n };\n\n var response = getKeyValueTargetingPairs(bid.bidderCode, bid);\n assert.deepEqual(response, expected);\n });\n });\n\n describe('adjustBids', function () {\n it('should adjust bids if greater than zero and pass copy of bid object', function () {\n const bid = Object.assign({},\n createBid(),\n fixtures.getBidResponses()[5]\n );\n\n assert.equal(bid.cpm, 0.5);\n\n $$PREBID_GLOBAL$$.bidderSettings =\n {\n brealtime: {\n bidCpmAdjustment: function (bidCpm, bidObj) {\n assert.deepEqual(bidObj, bid);\n if (bidObj.adUnitCode === 'negative') {\n return bidCpm * -0.5;\n }\n if (bidObj.adUnitCode === 'zero') {\n return 0;\n }\n return bidCpm * 0.5;\n },\n },\n standard: {\n adserverTargeting: [\n ]\n }\n };\n\n // negative\n bid.adUnitCode = 'negative';\n adjustBids(bid)\n assert.equal(bid.cpm, 0.5);\n\n // positive\n bid.adUnitCode = 'normal';\n adjustBids(bid)\n assert.equal(bid.cpm, 0.25);\n\n // zero\n bid.adUnitCode = 'zero';\n adjustBids(bid)\n assert.equal(bid.cpm, 0);\n\n // reset bidderSettings so we don't mess up further tests\n $$PREBID_GLOBAL$$.bidderSettings = {};\n });\n });\n\n describe('createAuction', () => {\n let adUnits, stubMakeBidRequests, stubCallAdapters, bids;\n\n beforeEach(() => {\n bids = [];\n stubMakeBidRequests = sinon.stub(adapterManager, 'makeBidRequests').returns([{\n bidderCode: BIDDER_CODE,\n bids: [{\n bidder: BIDDER_CODE\n }]\n }]);\n stubCallAdapters = sinon.stub(adapterManager, 'callBids').callsFake((au, reqs, addBid, done) => {\n bids.forEach(bid => addBid(bid.adUnitCode, bid));\n reqs.forEach(r => done.apply(r));\n });\n adUnits = [{\n code: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE},\n ]\n }];\n });\n\n afterEach(() => {\n stubMakeBidRequests.restore();\n stubCallAdapters.restore();\n auctionManager.clearAllAuctions();\n });\n\n it('passes global and bidder ortb2 to the auction', () => {\n const ortb2Fragments = {\n global: {},\n bidder: {}\n }\n const auction = auctionManager.createAuction({adUnits, ortb2Fragments});\n auction.callBids();\n const anyArgs = [...Array(7).keys()].map(() => sinon.match.any);\n sinon.assert.calledWith(stubMakeBidRequests, ...anyArgs.slice(0, 5).concat([sinon.match.same(ortb2Fragments)]));\n sinon.assert.calledWith(stubCallAdapters, ...anyArgs.slice(0, 7).concat([sinon.match.same(ortb2Fragments)]));\n });\n\n it('correctly adds nonbids when they are emitted', () => {\n const ortb2Fragments = {\n global: {},\n bidder: {}\n }\n const auction = auctionManager.createAuction({adUnits, ortb2Fragments});\n expect(auction.getNonBids()[0]).to.equal(undefined);\n events.emit(EVENTS.SEAT_NON_BID, {\n auctionId: auction.getAuctionId(),\n seatnonbid: ['test']\n });\n expect(auction.getNonBids()[0]).to.equal('test');\n });\n\n it('resolves .requestsDone', async () => {\n const auction = auctionManager.createAuction({adUnits});\n stubCallAdapters.resetHistory();\n auction.callBids();\n await auction.requestsDone;\n })\n\n describe('setConfig(minBidCacheTTL)', () => {\n it('should update getMinBidCacheTTL', () => {\n expect(getMinBidCacheTTL()).to.eql(null);\n config.setConfig({minBidCacheTTL: 123});\n expect(getMinBidCacheTTL()).to.eql(123);\n });\n\n it('should run listeners registered with onMinBidCacheTTLChange', () => {\n config.setConfig({minBidCacheTTL: 1});\n let newTTL = null;\n onMinBidCacheTTLChange((ttl) => { newTTL = ttl; });\n config.setConfig({minBidCacheTTL: 2});\n expect(newTTL).to.eql(2);\n })\n })\n\n describe('minBidCacheTTL', () => {\n let clock, auction;\n beforeEach(() => {\n clock = sinon.useFakeTimers();\n auction = auctionManager.createAuction({adUnits});\n indexAuctions.push(auction);\n });\n afterEach(() => {\n clock.restore();\n config.resetConfig();\n });\n\n describe('individual bids', () => {\n beforeEach(() => {\n bids = [\n {\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 10\n }, {\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 100\n }\n ];\n })\n it('are dropped when stale (if minBidCacheTTL is set)', async () => {\n config.setConfig({\n minBidCacheTTL: 30\n });\n auction.callBids();\n await auction.end;\n await clock.tick(20 * 1000);\n expect(auctionManager.getBidsReceived().length).to.equal(2);\n await clock.tick(50 * 1000);\n expect(auctionManager.getBidsReceived().length).to.equal(1);\n });\n\n it('pick up updates to minBidCacheTTL that happen during bid lifetime', async () => {\n auction.callBids();\n await auction.edn;\n clock.tick(10 * 1000);\n config.setConfig({\n minBidCacheTTL: 20\n })\n await clock.tick(0);\n await clock.tick(20 * 1000);\n expect(auctionManager.getBidsReceived().length).to.equal(1);\n })\n })\n\n describe('stale auctions', () => {\n it('are dropped after their last bid becomes stale (if minBidCacheTTL is set)', async () => {\n config.setConfig({\n minBidCacheTTL: 90\n });\n bids = [\n {\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 10\n }, {\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 100\n }\n ];\n auction.callBids();\n await auction.end;\n clock.tick(50 * 1000);\n expect(auctionManager.getBidsReceived().length).to.equal(2);\n clock.tick(56 * 1000);\n expect(auctionManager.getBidsReceived()).to.eql([]);\n });\n\n it('are dropped after `minBidCacheTTL` seconds if they had no bid', async () => {\n auction.callBids();\n config.setConfig({\n minBidCacheTTL: 2\n });\n await auction.end;\n await clock.tick(0);\n expect(auctionManager.getNoBids().length).to.eql(1);\n clock.tick(10 * 10000);\n expect(auctionManager.getNoBids().length).to.eql(0);\n });\n\n it('are not dropped after `minBidCacheTTL` seconds if the page was hidden', () => {\n auction.callBids();\n config.setConfig({\n minBidCacheTTL: 10\n });\n return auction.end.then(() => {\n expect(auctionManager.getNoBids().length).to.eql(1);\n setDocumentHidden(true);\n clock.tick(10 * 10000);\n setDocumentHidden(false);\n expect(auctionManager.getNoBids().length).to.eql(1);\n })\n });\n\n Object.entries({\n 'bids': {\n bd: [{\n adUnitCode: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n ttl: 10\n }],\n entries: () => auctionManager.getBidsReceived()\n },\n 'no bids': {\n bd: [],\n entries: () => auctionManager.getNoBids()\n }\n }).forEach(([t, {bd, entries}]) => {\n it(`with ${t} are never dropped if minBidCacheTTL is not set`, () => {\n bids = bd;\n auction.callBids();\n return auction.end.then(() => {\n clock.tick(100 * 1000);\n expect(entries().length > 0).to.be.true;\n })\n })\n });\n })\n })\n });\n\n describe('addBidResponse #1', function () {\n let createAuctionStub;\n let adUnits;\n let adUnitCodes;\n let spec;\n let auction;\n let ajaxStub;\n let bids;\n let bidderRequests;\n let makeRequestsStub;\n\n before(function () {\n makeRequestsStub = sinon.stub(adapterManager, 'makeBidRequests');\n });\n\n after(function () {\n adapterManager.makeBidRequests.restore();\n });\n\n describe('when auction timeout is 3000', function () {\n beforeEach(function () {\n ajaxStub = sinon.stub(ajaxLib, 'ajaxBuilder').callsFake(mockAjaxBuilder);\n adUnits = [{\n mediaTypes: {\n banner: {\n sizes: []\n }\n },\n code: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n ]\n }];\n adUnitCodes = [ADUNIT_CODE];\n auction = auctionModule.newAuction({adUnits, adUnitCodes, callback: function() {}, cbTimeout: 3000});\n bids = TEST_BIDS.slice();\n bidderRequests = bids.map(b => mockBidRequest(b, {auctionId: auction.getAuctionId()}));\n makeRequestsStub.returns(bidderRequests);\n indexAuctions = [auction];\n createAuctionStub = sinon.stub(auctionModule, 'newAuction');\n createAuctionStub.returns(auction);\n\n spec = mockBidder(BIDDER_CODE, bids);\n registerBidder(spec);\n });\n\n afterEach(function () {\n ajaxStub.restore();\n auctionModule.newAuction.restore();\n });\n\n function checkPbDg(cpm, expected, msg) {\n return function() {\n bids[0].cpm = cpm;\n auction.callBids();\n\n const registeredBid = auction.getBidsReceived().pop();\n assert.equal(registeredBid.pbDg, expected, msg);\n };\n };\n\n it('should return proper price bucket increments for dense mode when cpm is in range 0-3',\n checkPbDg('1.99', '1.99', '0 - 3 hits at to 1 cent increment'));\n\n it('should return proper price bucket increments for dense mode when cpm is in range 3-8',\n checkPbDg('4.39', '4.35', '3 - 8 hits at 5 cent increment'));\n\n it('should return proper price bucket increments for dense mode when cpm is in range 8-20',\n checkPbDg('19.99', '19.50', '8 - 20 hits at 50 cent increment'));\n\n it('should return proper price bucket increments for dense mode when cpm is 20+',\n checkPbDg('73.07', '20.00', '20+ caps at 20.00'));\n\n it('should place dealIds in adserver targeting', function () {\n bids[0].dealId = 'test deal';\n auction.callBids();\n\n const registeredBid = auction.getBidsReceived().pop();\n assert.equal(registeredBid.adserverTargeting[TARGETING_KEYS.DEAL], 'test deal', 'dealId placed in adserverTargeting');\n });\n\n it('should pass through default adserverTargeting sent from adapter', function () {\n bids[0].adserverTargeting = {};\n bids[0].adserverTargeting.extra = 'stuff';\n auction.callBids();\n\n const registeredBid = auction.getBidsReceived().pop();\n assert.equal(registeredBid.adserverTargeting[TARGETING_KEYS.BIDDER], BIDDER_CODE);\n assert.equal(registeredBid.adserverTargeting.extra, 'stuff');\n });\n it('should add the bidResponse to the collection before calling BID_RESPONSE', function () {\n let hasBid = false;\n const eventHandler = function(bid) {\n const storedBid = auction.getBidsReceived().pop();\n hasBid = storedBid === bid;\n }\n events.on(EVENTS.BID_RESPONSE, eventHandler);\n auction.callBids();\n events.off(EVENTS.BID_RESPONSE, eventHandler);\n assert.ok(hasBid, 'Bid not available');\n });\n\n describe('install publisher-defined renderers', () => {\n Object.entries({\n 'on adUnit': () => adUnits[0],\n 'on bid': () => bidderRequests[0].bids[0],\n 'on mediatype': () => bidderRequests[0].bids[0].mediaTypes.banner,\n }).forEach(([t, getObj]) => {\n let renderer, bid;\n beforeEach(() => {\n renderer = {\n url: 'renderer.js',\n render: (bid) => bid\n };\n })\n\n function getBid() {\n const bid = Object.assign({},\n bids[0],\n {\n bidderCode: BIDDER_CODE,\n mediaType: 'banner',\n }\n );\n Object.assign(getObj(), {renderer});\n spec.interpretResponse.returns(bid);\n auction.callBids();\n return auction.getBidsReceived().pop();\n }\n\n it(t, () => {\n expect(getBid().renderer.url).to.eql('renderer.js');\n });\n\n it('allows renderers without URL', () => {\n delete renderer.url;\n expect(getBid().renderer.renderNow).to.be.true;\n });\n })\n })\n\n it('installs publisher-defined backup renderers on bids', function () {\n const renderer = {\n url: 'renderer.js',\n backupOnly: true,\n render: (bid) => bid\n };\n Object.assign(adUnits[0], {renderer});\n\n const bids1 = Object.assign({},\n bids[0],\n {\n bidderCode: BIDDER_CODE,\n mediaType: 'video-outstream',\n }\n );\n spec.interpretResponse.returns(bids1);\n auction.callBids();\n const addedBid = auction.getBidsReceived().pop();\n assert.equal(addedBid.renderer.url, 'renderer.js');\n });\n\n it('installs publisher-defined renderers for a media type', function () {\n const renderer = {\n url: 'videoRenderer.js',\n render: (bid) => bid\n };\n const myBid = mockBid();\n const bidRequest = mockBidRequest(myBid);\n\n bidRequest.bids[0] = {\n ...bidRequest.bids[0],\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n },\n video: {\n context: 'outstream',\n renderer\n }\n }\n };\n makeRequestsStub.returns([bidRequest]);\n\n myBid.mediaType = 'video';\n spec.interpretResponse.returns(myBid);\n auction.callBids();\n\n const addedBid = auction.getBidsReceived().pop();\n assert.equal(addedBid.renderer.url, renderer.url);\n });\n\n it('installs bidder-defined renderer when onlyBackup is true in mediaTypes.video options ', function () {\n const renderer = {\n url: 'videoRenderer.js',\n backupOnly: true,\n render: (bid) => bid\n };\n const myBid = mockBid();\n const bidRequest = mockBidRequest(myBid);\n\n bidRequest.bids[0] = {\n ...bidRequest.bids[0],\n mediaTypes: {\n video: {\n context: 'outstream',\n renderer\n }\n }\n };\n makeRequestsStub.returns([bidRequest]);\n\n myBid.mediaType = 'video';\n myBid.renderer = {\n url: 'renderer.js',\n render: sinon.spy()\n };\n spec.interpretResponse.returns(myBid);\n auction.callBids();\n\n const addedBid = auction.getBidsReceived().pop();\n assert.strictEqual(addedBid.renderer.url, myBid.renderer.url);\n });\n\n describe('bid for a regular unit and a video unit', () => {\n beforeEach(() => {\n const renderer = {\n url: 'renderer.js',\n render: (bid) => bid\n };\n Object.assign(adUnits[0], {renderer});\n // make sure that if the renderer is only on the second ad unit, prebid\n // still correctly uses it\n const bid = mockBid();\n const bidRequests = [mockBidRequest(bid, {auctionId: auction.getAuctionId()})];\n\n bidRequests[0].bids[1] = Object.assign({\n bidId: utils.getUniqueIdentifierStr()\n }, bidRequests[0].bids[0]);\n Object.assign(bidRequests[0].bids[0], {\n adUnitCode: ADUNIT_CODE1,\n adUnitId: ADUNIT_CODE1,\n });\n\n makeRequestsStub.returns(bidRequests);\n\n // this should correspond with the second bid in the bidReq because of the ad unit code\n bid.mediaType = 'video-outstream';\n spec.interpretResponse.returns(bid);\n });\n\n it('should use renderers on bid response', () => {\n auction.callBids();\n\n const addedBid = auction.getBidsReceived().find(bid => bid.adUnitCode === ADUNIT_CODE);\n assert.equal(addedBid.renderer.url, 'renderer.js');\n });\n\n it('should resolve .end', () => {\n auction.callBids();\n return auction.end.then(() => {\n expect(auction.getBidsReceived().length).to.eql(1);\n })\n });\n })\n\n it('sets bidResponse.ttlBuffer from adUnit.ttlBuffer', () => {\n adUnits[0].ttlBuffer = 0;\n auction.callBids();\n expect(auction.getBidsReceived()[0].ttlBuffer).to.eql(0);\n });\n\n [\n {\n request: 1,\n response: true\n },\n {\n request: 0,\n response: false\n },\n {\n request: 2,\n response: false\n },\n {\n request: undefined,\n response: false\n }\n ].forEach(({request, response}) => {\n it(`sets bidResponse.instl to ${response} if adUnit.ortb2Imp.instl is ${request}`, () => {\n adUnits[0].ortb2Imp = {instl: request};\n auction.callBids();\n expect(auction.getBidsReceived()[0].instl).to.equal(response);\n })\n })\n });\n\n describe('when auction timeout is 20', function () {\n let eventsEmitSpy, auctionDone;\n\n function respondToRequest(requestIndex) {\n server.requests[requestIndex].respond(200, {}, 'response body');\n }\n\n function runAuction() {\n const bidRequests = bids.map(bid => mockBidRequest(bid, {auctionId: auction.getAuctionId()}));\n makeRequestsStub.returns(bidRequests);\n return new Promise((resolve) => {\n auctionDone = resolve;\n auction.callBids();\n })\n }\n\n beforeEach(function () {\n adUnits = [{\n code: ADUNIT_CODE,\n transactionId: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n {bidder: BIDDER_CODE1, params: {placementId: 'id'}},\n ]\n }];\n adUnitCodes = [ADUNIT_CODE];\n\n eventsEmitSpy = sinon.spy(events, 'emit');\n bids = [mockBid(), mockBid({ bidderCode: BIDDER_CODE1 })];\n const spec1 = mockBidder(BIDDER_CODE, [bids[0]]);\n registerBidder(spec1);\n const spec2 = mockBidder(BIDDER_CODE1, [bids[1]]);\n registerBidder(spec2);\n auction = auctionModule.newAuction({adUnits, adUnitCodes, callback: () => auctionDone(), cbTimeout: 20});\n indexAuctions = [auction];\n });\n\n afterEach(function () {\n events.emit.restore();\n });\n\n it('resolves .end on timeout', () => {\n let endResolved = false;\n auction.end.then(() => {\n endResolved = true;\n })\n const pm = runAuction().then(() => {\n expect(endResolved).to.be.true;\n });\n respondToRequest(0);\n return pm;\n });\n\n describe('AUCTION_TIMEOUT event', () => {\n let handler;\n beforeEach(() => {\n handler = sinon.spy();\n events.on(EVENTS.AUCTION_TIMEOUT, handler);\n })\n afterEach(() => {\n events.off(EVENTS.AUCTION_TIMEOUT, handler);\n });\n\n Object.entries({\n 'is fired on timeout': [true, [0]],\n 'is NOT fired otherwise': [false, [0, 1]],\n }).forEach(([t, [shouldFire, respond]]) => {\n it(t, () => {\n const pm = runAuction().then(() => {\n if (shouldFire) {\n sinon.assert.calledWith(handler, sinon.match({auctionId: auction.getAuctionId()}))\n } else {\n sinon.assert.notCalled(handler);\n }\n });\n respond.forEach(respondToRequest);\n return pm;\n })\n });\n });\n\n it('should emit BID_TIMEOUT and AUCTION_END for timed out bids', function () {\n const pm = runAuction().then(() => {\n const bidTimeoutCall = eventsEmitSpy.withArgs(EVENTS.BID_TIMEOUT).getCalls()[0];\n const timedOutBids = bidTimeoutCall.args[1];\n assert.equal(timedOutBids.length, 1);\n assert.equal(timedOutBids[0].bidder, BIDDER_CODE1);\n // Check that additional properties are available\n assert.equal(timedOutBids[0].params[0].placementId, 'id');\n\n const auctionEndCall = eventsEmitSpy.withArgs(EVENTS.AUCTION_END).getCalls()[0];\n const auctionProps = auctionEndCall.args[1];\n assert.equal(auctionProps.adUnits, adUnits);\n assert.equal(auctionProps.timeout, 20);\n assert.equal(auctionProps.auctionStatus, AUCTION_COMPLETED)\n });\n respondToRequest(0);\n return pm;\n });\n\n it('should NOT emit BID_TIMEOUT when all bidders responded in time', function () {\n const pm = runAuction().then(() => {\n assert.ok(eventsEmitSpy.withArgs(EVENTS.BID_TIMEOUT).notCalled, 'did not emit event BID_TIMEOUT');\n });\n respondToRequest(0);\n respondToRequest(1);\n return pm;\n });\n\n it('should NOT emit BID_TIMEOUT for bidders which responded in time but with an empty bid', function () {\n const pm = runAuction().then(() => {\n const bidTimeoutCall = eventsEmitSpy.withArgs(EVENTS.BID_TIMEOUT).getCalls()[0];\n const timedOutBids = bidTimeoutCall.args[1];\n assert.equal(timedOutBids.length, 1);\n assert.equal(timedOutBids[0].bidder, BIDDER_CODE1);\n });\n respondToRequest(0);\n return pm;\n });\n\n it('should NOT emit BID_TIMEOUT for bidders that replied through S2S', () => {\n adapterManager.registerBidAdapter(new PrebidServer(), 'pbs');\n config.setConfig({\n s2sConfig: [{\n accountId: '1',\n enabled: true,\n defaultVendor: 'appnexuspsp',\n bidders: ['mock-s2s-1'],\n adapter: 'pbs',\n endpoint: {\n p1Consent: 'https://ib.adnxs.com/openrtb2/prebid',\n noP1Consent: 'https://ib.adnxs-simple.com/openrtb2/prebid'\n },\n maxTimeout: 1000,\n syncEndpoint: {\n p1Consent: \"https://prebid.adnxs.com/pbs/v1/cookie_sync\",\n noP1Consent: \"https://prebid.adnxs-simple.com/pbs/v1/cookie_sync\"\n },\n }, {\n accountId: '1',\n enabled: true,\n defaultVendor: 'rubicon',\n bidders: ['mock-s2s-2'],\n adapter: 'pbs',\n endpoint: {\n p1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction',\n noP1Consent: 'https://prebid-server.rubiconproject.com/openrtb2/auction',\n },\n maxTimeout: 500,\n syncEndpoint: {\n p1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',\n noP1Consent: 'https://prebid-server.rubiconproject.com/cookie_sync',\n },\n }]\n })\n adUnits[0].bids.push({bidder: 'mock-s2s-1'}, {bidder: 'mock-s2s-2'})\n const s2sAdUnits = deepClone(adUnits);\n bids.unshift(\n mockBid({ bidderCode: 'mock-s2s-1', src: S2S.SRC, adUnits: s2sAdUnits, uniquePbsTid: '1' }),\n mockBid({ bidderCode: 'mock-s2s-2', src: S2S.SRC, adUnits: s2sAdUnits, uniquePbsTid: '2' })\n );\n Object.assign(s2sAdUnits[0], {\n mediaTypes: {\n banner: {\n sizes: [[300, 250], [300, 600]]\n }\n },\n bids: [\n {\n bidder: 'mock-s2s-1',\n bid_id: bids[0].requestId\n },\n {\n bidder: 'mock-s2s-2',\n bid_id: bids[1].requestId\n }\n ]\n })\n\n const pm = runAuction().then(() => {\n const toBids = eventsEmitSpy.withArgs(EVENTS.BID_TIMEOUT).getCalls()[0].args[1]\n expect(toBids.map(bid => bid.bidder)).to.eql([\n 'mock-s2s-2',\n BIDDER_CODE,\n BIDDER_CODE1,\n ])\n });\n respondToRequest(1);\n return pm;\n })\n });\n });\n\n describe('addBidResponse #2', function () {\n let createAuctionStub;\n let adUnits;\n let adUnitCodes;\n let spec;\n let spec1;\n let auction;\n let ajaxStub;\n\n const bids = TEST_BIDS;\n const bids1 = [mockBid({ bidderCode: BIDDER_CODE1 })];\n\n beforeEach(function () {\n adUnits = [{\n code: ADUNIT_CODE,\n transactionId: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n ]\n }, {\n code: ADUNIT_CODE1,\n transactionId: ADUNIT_CODE1,\n adUnitId: ADUNIT_CODE1,\n bids: [\n {bidder: BIDDER_CODE1, params: {placementId: 'id'}},\n ]\n }];\n adUnitCodes = adUnits.map(({ code }) => code);\n auction = auctionModule.newAuction({adUnits, adUnitCodes, callback: function() {}, cbTimeout: 3000});\n const bidRequests = [\n mockBidRequest(bids[0], { auctionId: auction.getAuctionId() }),\n mockBidRequest(bids1[0], { auctionId: auction.getAuctionId(), adUnitCode: ADUNIT_CODE1 })\n ];\n const makeRequestsStub = sinon.stub(adapterManager, 'makeBidRequests');\n makeRequestsStub.returns(bidRequests);\n ajaxStub = sinon.stub(ajaxLib, 'ajaxBuilder').callsFake(mockAjaxBuilder);\n createAuctionStub = sinon.stub(auctionModule, 'newAuction');\n createAuctionStub.returns(auction);\n indexAuctions = [auction];\n\n spec = mockBidder(BIDDER_CODE, bids);\n spec1 = mockBidder(BIDDER_CODE1, bids1);\n\n registerBidder(spec);\n registerBidder(spec1);\n });\n\n afterEach(function () {\n auctionModule.newAuction.restore();\n ajaxStub.restore();\n adapterManager.makeBidRequests.restore();\n });\n\n it('should not alter bid requestID', function () {\n auction.callBids();\n const bidsReceived = auction.getBidsReceived();\n const addedBid2 = bidsReceived.pop();\n assert.equal(addedBid2.requestId, bids1[0].requestId);\n const addedBid1 = bidsReceived.pop();\n assert.equal(addedBid1.requestId, bids[0].requestId);\n });\n\n it('should not add banner bids that have no width or height', function () {\n bids1[0].width = undefined;\n bids1[0].height = undefined;\n\n auction.callBids();\n\n const length = auction.getBidsReceived().length;\n const addedBid2 = auction.getBidsReceived().pop();\n assert.notEqual(addedBid2.adId, bids1[0].requestId);\n assert.equal(length, 1);\n });\n\n it('should run auction after video bids have been cached', async function () {\n sinon.stub(store, 'store').callsArgWith(1, null, [{uuid: 123}]);\n sinon.stub(config, 'getConfig').withArgs('cache.url').returns('cache-url');\n\n const bidsCopy = [Object.assign({}, bids[0], {mediaType: 'video'})];\n const bids1Copy = [Object.assign({}, bids1[0], {mediaType: 'video'})];\n\n spec.interpretResponse.returns(bidsCopy);\n spec1.interpretResponse.returns(bids1Copy);\n\n auction.callBids();\n await auction.end;\n\n assert.equal(auction.getBidsReceived().length, 2);\n assert.equal(auction.getAuctionStatus(), 'completed');\n\n config.getConfig.restore();\n store.store.restore();\n });\n\n it('runs auction after video responses with multiple bid objects have been cached', async function () {\n sinon.stub(store, 'store').callsArgWith(1, null, [{uuid: 123}]);\n sinon.stub(config, 'getConfig').withArgs('cache.url').returns('cache-url');\n\n const bidsCopy = [\n Object.assign({}, bids[0], {mediaType: 'video'}),\n Object.assign({}, bids[0], {mediaType: 'banner'}),\n ];\n const bids1Copy = [\n Object.assign({}, bids1[0], {mediaType: 'video'}),\n Object.assign({}, bids1[0], {mediaType: 'video'}),\n ];\n\n spec.interpretResponse.returns(bidsCopy);\n spec1.interpretResponse.returns(bids1Copy);\n\n auction.callBids();\n await auction.end;\n\n assert.equal(auction.getBidsReceived().length, 4);\n assert.equal(auction.getAuctionStatus(), 'completed');\n\n config.getConfig.restore();\n store.store.restore();\n });\n\n it('should reject bid for price higher than limit for the same currency', () => {\n sinon.stub(auction, 'addBidRejected');\n config.setConfig({\n maxBid: 1\n });\n\n auction.callBids();\n sinon.assert.calledWith(auction.addBidRejected, sinon.match({rejectionReason: REJECTION_REASON.PRICE_TOO_HIGH}));\n })\n });\n\n describe('addBidRequests', function () {\n let createAuctionStub;\n let adUnits;\n let adUnitCodes;\n let spec;\n let spec1;\n let auction;\n let ajaxStub;\n let logMessageStub;\n let logInfoStub;\n let logWarnStub;\n let logErrorStub;\n\n const bids = TEST_BIDS;\n const bids1 = [mockBid({ bidderCode: BIDDER_CODE1 })];\n\n before(function () {\n logMessageStub = sinon.stub(utils, 'logMessage');\n logInfoStub = sinon.stub(utils, 'logInfo');\n logWarnStub = sinon.stub(utils, 'logWarn');\n logErrorStub = sinon.stub(utils, 'logError');\n });\n\n after(function () {\n logMessageStub.restore();\n logInfoStub.restore();\n logWarnStub.restore();\n logErrorStub.restore();\n });\n\n beforeEach(function () {\n config.setConfig({\n debugging: {\n enabled: true,\n bidRequests: [{\n bidderCode: BIDDER_CODE,\n adUnitCode: ADUNIT_CODE\n }]\n }\n });\n\n adUnits = [{\n code: ADUNIT_CODE,\n transactionId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n ]\n }, {\n code: ADUNIT_CODE1,\n transactionId: ADUNIT_CODE1,\n bids: [\n {bidder: BIDDER_CODE1, params: {placementId: 'id'}},\n ]\n }];\n adUnitCodes = adUnits.map(({ code }) => code);\n auction = auctionModule.newAuction({adUnits, adUnitCodes, callback: function() {}, cbTimeout: 3000});\n createAuctionStub = sinon.stub(auctionModule, 'newAuction');\n createAuctionStub.returns(auction);\n indexAuctions = [auction];\n const bidRequests = [\n mockBidRequest(bids[0], { auctionId: auction.getAuctionId() }),\n mockBidRequest(bids1[0], { auctionId: auction.getAuctionId(), adUnitCode: ADUNIT_CODE1 })\n ];\n const makeRequestsStub = sinon.stub(adapterManager, 'makeBidRequests');\n makeRequestsStub.returns(bidRequests);\n\n ajaxStub = sinon.stub(ajaxLib, 'ajaxBuilder').callsFake(mockAjaxBuilder);\n\n spec = mockBidder(BIDDER_CODE, bids);\n spec1 = mockBidder(BIDDER_CODE1, bids1);\n\n registerBidder(spec);\n registerBidder(spec1);\n });\n\n afterEach(function () {\n logMessageStub.resetHistory();\n logInfoStub.resetHistory();\n logWarnStub.resetHistory();\n logErrorStub.resetHistory();\n auctionModule.newAuction.restore();\n ajaxStub.restore();\n adapterManager.makeBidRequests.restore();\n config.resetConfig();\n });\n\n it('should override bidRequest properties when config debugging has a matching bidRequest defined', function () {\n auction.callBids();\n const auctionBidRequests = auction.getBidRequests();\n assert.equal(auctionBidRequests.length > 0, true);\n assert.equal(Array.isArray(auctionBidRequests[0].bids), true);\n\n const bid = auctionBidRequests[0].bids.find(bid => bid.adUnitCode === ADUNIT_CODE);\n assert.equal(typeof bid !== 'undefined', true);\n });\n });\n\n if (FEATURES.NATIVE) {\n describe('addBidResponse native', function () {\n let makeRequestsStub;\n let ajaxStub;\n let spec;\n let auction;\n\n beforeEach(function () {\n makeRequestsStub = sinon.stub(adapterManager, 'makeBidRequests');\n ajaxStub = sinon.stub(ajaxLib, 'ajaxBuilder').callsFake(mockAjaxBuilder);\n\n const adUnits = [{\n code: ADUNIT_CODE,\n transactionId: ADUNIT_CODE,\n adUnitId: ADUNIT_CODE,\n bids: [\n {bidder: BIDDER_CODE, params: {placementId: 'id'}},\n ],\n nativeOrtbRequest: ortbNativeRequest.ortb,\n mediaTypes: { native: { type: 'image' } }\n }];\n auction = auctionModule.newAuction({adUnits, adUnitCodes: [ADUNIT_CODE], callback: function() {}, cbTimeout: 3000});\n indexAuctions = [auction];\n const createAuctionStub = sinon.stub(auctionModule, 'newAuction');\n createAuctionStub.returns(auction);\n\n spec = mockBidder(BIDDER_CODE);\n registerBidder(spec);\n });\n\n afterEach(function () {\n ajaxStub.restore();\n auctionModule.newAuction.restore();\n adapterManager.makeBidRequests.restore();\n });\n\n it('should add legacy fields to native response', function () {\n const nativeBid = mockBid();\n nativeBid.mediaType = 'native';\n nativeBid.native = {\n ortb: {\n ver: '1.2',\n assets: [\n { id: 2, title: { text: 'Sample title' } },\n { id: 4, data: { value: 'Sample body' } },\n { id: 3, data: { value: 'Sample sponsoredBy' } },\n { id: 1, img: { url: 'https://www.example.com/image.png', w: 200, h: 200 } },\n { id: 5, img: { url: 'https://www.example.com/icon.png', w: 32, h: 32 } }\n ],\n link: { url: 'http://www.click.com' },\n eventtrackers: [\n { event: 1, method: 1, url: 'http://www.imptracker.com' },\n { event: 1, method: 2, url: 'http://www.jstracker.com/file.js' }\n ]\n }\n }\n\n const bidRequest = mockBidRequest(nativeBid, { mediaType: { native: ortbNativeRequest } });\n makeRequestsStub.returns([bidRequest]);\n\n spec.interpretResponse.returns(nativeBid);\n auction.callBids();\n\n const addedBid = auction.getBidsReceived().pop();\n assert.equal(addedBid.native.body, 'Sample body')\n assert.equal(addedBid.native.title, 'Sample title')\n assert.equal(addedBid.native.sponsoredBy, 'Sample sponsoredBy')\n assert.equal(addedBid.native.clickUrl, 'http://www.click.com')\n assert.equal(addedBid.native.image.url, 'https://www.example.com/image.png')\n assert.equal(addedBid.native.icon.url, 'https://www.example.com/icon.png')\n assert.equal(addedBid.native.impressionTrackers[0], 'http://www.imptracker.com')\n assert.equal(addedBid.native.javascriptTrackers, '<script async src=\"http://www.jstracker.com/file.js\"></script>')\n });\n });\n }\n\n describe('getMediaTypeGranularity', function () {\n if (FEATURES.VIDEO) {\n it('video', function () {\n let mediaTypes = { video: {id: '1'} };\n\n // mediaType is video and video.context is undefined\n expect(getMediaTypeGranularity('video', mediaTypes, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n\n expect(getMediaTypeGranularity('video', {}, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n ``\n expect(getMediaTypeGranularity('video', undefined, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n\n // also when mediaTypes.video is undefined\n mediaTypes = { banner: {} };\n expect(getMediaTypeGranularity('video', mediaTypes, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n\n // also when mediaTypes is undefined\n expect(getMediaTypeGranularity('video', {}, {\n banner: 'low',\n video: 'medium'\n })).to.equal('medium');\n });\n\n it('video-outstream', function () {\n const mediaTypes = { video: { context: 'outstream' } };\n\n expect(getMediaTypeGranularity('video', mediaTypes, {\n 'banner': 'low', 'video': 'medium', 'video-outstream': 'high'\n })).to.equal('high');\n });\n\n it('video-instream', function () {\n const mediaTypes = { video: { context: 'instream' } };\n\n expect(getMediaTypeGranularity('video', mediaTypes, {\n banner: 'low', video: 'medium', 'video-instream': 'high'\n })).to.equal('high');\n\n // fall back to video if video-instream not found\n expect(getMediaTypeGranularity('video', mediaTypes, {\n banner: 'low', video: 'medium'\n })).to.equal('medium');\n\n expect(getMediaTypeGranularity('video', {mediaTypes: {banner: {}}}, {\n banner: 'low', video: 'medium'\n })).to.equal('medium');\n });\n }\n\n it('native', function () {\n expect(getMediaTypeGranularity('native', {native: {}}, {\n banner: 'low', video: 'medium', native: 'high'\n })).to.equal('high');\n });\n });\n\n describe('addWinningBid', () => {\n let auction, bid, adUnits, sandbox;\n beforeEach(() => {\n sandbox = sinon.createSandbox();\n sandbox.stub(adapterManager, 'callBidWonBidder');\n sandbox.stub(adapterManager, 'triggerBilling')\n adUnits = [{code: 'au1'}, {code: 'au2'}]\n auction = newAuction({adUnits});\n bid = {\n bidder: 'mock-bidder'\n };\n })\n afterEach(() => {\n sandbox.restore();\n });\n\n it('should call bidWon', () => {\n auction.addWinningBid(bid);\n sinon.assert.calledWith(adapterManager.callBidWonBidder, bid.bidder, bid, adUnits);\n });\n\n [undefined, false].forEach(deferBilling => {\n it(`should call onBidBillable if deferBilling = ${deferBilling}`, () => {\n bid.deferBilling = deferBilling;\n auction.addWinningBid(bid);\n sinon.assert.calledWith(adapterManager.triggerBilling, bid);\n });\n })\n\n it('should NOT call onBidBillable if deferBilling = true', () => {\n bid.deferBilling = true;\n auction.addWinningBid(bid);\n sinon.assert.notCalled(adapterManager.triggerBilling);\n })\n })\n\n function mockAuction(getBidRequests, start = 1) {\n return {\n getBidRequests: getBidRequests,\n getAdUnits: () => getBidRequests().flatMap(br => br.bids).map(br => ({ code: br.adUnitCode, transactionId: br.transactionId, adUnitId: br.adUnitId, mediaTypes: br.mediaTypes })),\n getAuctionId: () => '1',\n addBidReceived: () => true,\n addBidRejected: () => true,\n getTimeout: () => 1000,\n getAuctionStart: () => start,\n }\n }\n\n describe('getPriceByGranularity', () => {\n beforeEach(() => {\n config.setConfig({\n mediaTypePriceGranularity: {\n video: 'medium',\n banner: 'low'\n }\n });\n })\n\n afterEach(() => {\n config.resetConfig();\n })\n\n it('evaluates undef granularity on each call', () => {\n const gpbg = getPriceByGranularity();\n expect(gpbg({\n mediaType: 'video', pbMg: 'medium'\n }, {\n 'mediaTypes': {video: {id: '1'}}\n })).to.equal('medium');\n expect(gpbg({\n mediaType: 'banner',\n pbLg: 'low'\n }, {\n 'mediaTypes': {banner: {}}\n })).to.equal('low');\n });\n })\n\n describe('auction options / callbacks', () => {\n let ready;\n function responsesReadyHook(next) {\n next(ready);\n }\n\n before(() => {\n responsesReady.before(responsesReadyHook, 100);\n });\n after(() => {\n responsesReady.getHooks({hook: responsesReadyHook}).remove();\n });\n\n beforeEach(() => {\n ready = Promise.resolve();\n return ready;\n });\n\n describe('auctionCallbacks', function() {\n const bids = TEST_BIDS;\n let bidRequests;\n let doneSpy;\n let auction;\n\n beforeEach(() => {\n const start = Date.now();\n auction = mockAuction(() => bidRequests, start);\n indexAuctions = [auction];\n doneSpy = sinon.spy();\n config.setConfig({\n cache: {\n url: 'https://test.cache.url/endpoint'\n }\n });\n });\n\n afterEach(() => {\n doneSpy.resetHistory();\n config.resetConfig();\n bidRequests = null;\n });\n\n Object.entries({\n 'added to': (cbs) => cbs.addBidResponse,\n 'rejected from': (cbs) => cbs.addBidResponse.reject,\n }).forEach(([t, getMethod]) => {\n it(`should call auction done after bid is ${t} auction for mediaType banner`, async function () {\n const ADUNIT_CODE2 = 'adUnitCode2';\n const BIDDER_CODE2 = 'sampleBidder2';\n\n const bids1 = [mockBid({bidderCode: BIDDER_CODE1, adUnitId: ADUNIT_CODE1})];\n const bids2 = [mockBid({bidderCode: BIDDER_CODE2, adUnitId: ADUNIT_CODE2})];\n bidRequests = [\n mockBidRequest(bids[0]),\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids2[0], {adUnitCode: ADUNIT_CODE2})\n ];\n const cbs = auctionCallbacks(doneSpy, auction);\n const method = getMethod(cbs);\n method(ADUNIT_CODE, bids[0]);\n cbs.adapterDone.call(bidRequests[0]);\n method(ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[1]);\n method(ADUNIT_CODE2, bids2[0]);\n cbs.adapterDone.call(bidRequests[2]);\n await ready;\n assert.equal(doneSpy.callCount, 1);\n });\n })\n\n if (FEATURES.VIDEO) {\n it('should call auction done after prebid cache is complete for mediaType video', async function () {\n bids[0].mediaType = 'video';\n const bids1 = [mockBid({bidderCode: BIDDER_CODE1})];\n\n const opts = {\n mediaType: {\n video: {\n context: 'instream',\n playerSize: [640, 480],\n },\n }\n };\n bidRequests = [\n mockBidRequest(bids[0], opts),\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n ];\n\n const cbs = auctionCallbacks(doneSpy, auction);\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE, bids[0]);\n cbs.adapterDone.call(bidRequests[0]);\n cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[1]);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n const uuid = 'c488b101-af3e-4a99-b538-00423e5a3371';\n const responseBody = `{\"responses\":[{\"uuid\":\"${uuid}\"}]}`;\n server.requests[0].respond(200, {'Content-Type': 'application/json'}, responseBody);\n assert.equal(doneSpy.callCount, 1);\n });\n }\n\n it('should convert cpm to number', () => {\n auction.addBidReceived = sinon.spy();\n const cbs = auctionCallbacks(doneSpy, auction);\n const bid = {...bids[0], cpm: '1.23'}\n bidRequests = [mockBidRequest(bid)];\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE, bid);\n sinon.assert.calledWith(auction.addBidReceived, sinon.match({cpm: 1.23}));\n })\n\n describe('when responsesReady defers', () => {\n let resolve, reject, promise, callbacks, bids;\n\n function hook(next, ready) {\n next(ready.then(() => promise));\n }\n\n before(() => {\n responsesReady.before(hook, 0); // higher priority than wrapping setup\n });\n\n after(() => {\n responsesReady.getHooks({hook}).remove();\n });\n\n beforeEach(() => {\n // eslint-disable-next-line promise/param-names\n promise = new Promise((rs, rj) => {\n resolve = rs;\n reject = rj;\n });\n bids = [\n mockBid({bidderCode: BIDDER_CODE1}),\n mockBid({bidderCode: BIDDER_CODE})\n ]\n bidRequests = bids.map((b) => mockBidRequest(b));\n callbacks = auctionCallbacks(doneSpy, auction);\n Object.assign(auction, {\n addNoBid: sinon.spy()\n });\n });\n\n Object.entries({\n 'resolve': () => resolve(),\n 'reject': () => reject(),\n }).forEach(([t, resolver]) => {\n it(`should wait for responsesReady to ${t} before calling auctionDone`, (done) => {\n bidRequests.forEach(bidRequest => callbacks.adapterDone.call(bidRequest));\n setTimeout(() => {\n sinon.assert.notCalled(doneSpy);\n resolver();\n setTimeout(() => {\n sinon.assert.called(doneSpy);\n done();\n })\n })\n });\n });\n });\n\n describe('when bids are rejected', () => {\n let cbs, bid, expectedRejection;\n const onBidRejected = sinon.stub();\n const REJECTION_REASON = 'Bid rejected';\n const AU_CODE = 'au';\n\n function rejectHook(fn, adUnitCode, bid, reject) {\n reject(REJECTION_REASON);\n reject(REJECTION_REASON); // second call should do nothing\n }\n\n before(() => {\n addBidResponse.before(rejectHook, 999);\n events.on(EVENTS.BID_REJECTED, onBidRejected);\n });\n\n after(() => {\n addBidResponse.getHooks({hook: rejectHook}).remove();\n events.off(EVENTS.BID_REJECTED, onBidRejected);\n });\n\n beforeEach(() => {\n onBidRejected.resetHistory();\n bid = mockBid({bidderCode: BIDDER_CODE});\n bidRequests = [\n mockBidRequest(bid),\n ];\n cbs = auctionCallbacks(doneSpy, auction);\n expectedRejection = sinon.match(Object.assign({}, bid, {\n cpm: parseFloat(bid.cpm),\n rejectionReason: REJECTION_REASON,\n adUnitCode: AU_CODE\n }));\n auction.addBidRejected = sinon.stub();\n });\n\n Object.entries({\n 'with addBidResponse.reject': () => cbs.addBidResponse.reject(AU_CODE, deepClone(bid), REJECTION_REASON),\n 'from addBidResponse hooks': () => cbs.addBidResponse(AU_CODE, deepClone(bid))\n }).forEach(([t, rejectBid]) => {\n describe(t, () => {\n it('should emit a BID_REJECTED event', () => {\n rejectBid();\n sinon.assert.calledWith(onBidRejected, expectedRejection);\n });\n\n it('should pass bid to auction.addBidRejected', () => {\n rejectBid();\n sinon.assert.calledWith(auction.addBidRejected, expectedRejection);\n });\n })\n });\n\n it('addBidResponse hooks should not be able to reject the same bid twice', () => {\n cbs.addBidResponse(AU_CODE, bid);\n expect(auction.addBidRejected.calledOnce).to.be.true;\n });\n })\n });\n describe('auctionOptions', function() {\n let bidRequests;\n let doneSpy;\n let clock;\n const requiredBidder = BIDDER_CODE;\n const requiredBidder1 = BIDDER_CODE1;\n const secondaryBidder = 'doNotWaitForMe';\n let auction;\n\n beforeEach(() => {\n clock = sinon.useFakeTimers();\n doneSpy = sinon.spy();\n config.setConfig({\n 'auctionOptions': {\n secondaryBidders: [ secondaryBidder ]\n }\n });\n\n const start = Date.now();\n auction = mockAuction(() => bidRequests);\n indexAuctions = [auction];\n });\n\n afterEach(() => {\n doneSpy.resetHistory();\n config.resetConfig();\n clock.restore();\n });\n\n it('should not wait to call auction done for secondary bidders', async function () {\n const bids1 = [mockBid({bidderCode: requiredBidder, transactionId: ADUNIT_CODE1})];\n const bids2 = [mockBid({bidderCode: requiredBidder1, transactionId: ADUNIT_CODE1})];\n const bids3 = [mockBid({bidderCode: secondaryBidder, transactionId: ADUNIT_CODE1})];\n bidRequests = [\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids2[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids3[0], {adUnitCode: ADUNIT_CODE1}),\n ];\n const cbs = auctionCallbacks(doneSpy, auction);\n // required bidder responds immeaditely to auction\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[0]);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n\n // auction waits for second required bidder to respond\n clock.tick(100);\n cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids2[0]);\n cbs.adapterDone.call(bidRequests[1]);\n // auction done is reported and does not wait for secondaryBidder request\n await ready;\n assert.equal(doneSpy.callCount, 1);\n\n cbs.addBidResponse.call(bidRequests[2], ADUNIT_CODE1, bids3[0]);\n cbs.adapterDone.call(bidRequests[2]);\n });\n\n it('should wait for all bidders if they are all secondary', async function () {\n config.setConfig({\n 'auctionOptions': {\n secondaryBidders: [requiredBidder, requiredBidder1, secondaryBidder]\n }\n })\n const bids1 = [mockBid({bidderCode: requiredBidder})];\n const bids2 = [mockBid({bidderCode: requiredBidder1})];\n const bids3 = [mockBid({bidderCode: secondaryBidder})];\n bidRequests = [\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids2[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids3[0], {adUnitCode: ADUNIT_CODE1}),\n ];\n const cbs = auctionCallbacks(doneSpy, auction);\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[0]);\n clock.tick(100);\n await ready;\n assert.equal(doneSpy.callCount, 0)\n\n cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids2[0]);\n cbs.adapterDone.call(bidRequests[1]);\n clock.tick(100);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n\n cbs.addBidResponse.call(bidRequests[2], ADUNIT_CODE1, bids3[0]);\n cbs.adapterDone.call(bidRequests[2]);\n await ready;\n assert.equal(doneSpy.callCount, 1);\n });\n\n it('should allow secondaryBidders to respond in auction before is is done', async function () {\n const bids1 = [mockBid({bidderCode: requiredBidder})];\n const bids2 = [mockBid({bidderCode: requiredBidder1})];\n const bids3 = [mockBid({bidderCode: secondaryBidder})];\n bidRequests = [\n mockBidRequest(bids1[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids2[0], {adUnitCode: ADUNIT_CODE1}),\n mockBidRequest(bids3[0], {adUnitCode: ADUNIT_CODE1}),\n ];\n const cbs = auctionCallbacks(doneSpy, auction);\n // secondaryBidder is first to respond\n cbs.addBidResponse.call(bidRequests[2], ADUNIT_CODE1, bids3[0]);\n cbs.adapterDone.call(bidRequests[2]);\n clock.tick(100);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n\n cbs.addBidResponse.call(bidRequests[1], ADUNIT_CODE1, bids2[0]);\n cbs.adapterDone.call(bidRequests[1]);\n clock.tick(100);\n await ready;\n assert.equal(doneSpy.callCount, 0);\n\n // first required bidder takes longest to respond, auction isn't marked as done until this occurs\n cbs.addBidResponse.call(bidRequests[0], ADUNIT_CODE1, bids1[0]);\n cbs.adapterDone.call(bidRequests[0]);\n await ready;\n assert.equal(doneSpy.callCount, 1);\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|