@@ -696,5 +696,106 @@ describe('pubmatic analytics adapter', function () {
696
696
expect ( data . s [ 1 ] . ps [ 0 ] . ocpm ) . to . equal ( 100 ) ;
697
697
expect ( data . s [ 1 ] . ps [ 0 ] . ocry ) . to . equal ( 'JPY' ) ;
698
698
} ) ;
699
+
700
+ it ( 'Logger: regexPattern in bid.params' , function ( ) {
701
+ const BID_REQUESTED_COPY = utils . deepClone ( MOCK . BID_REQUESTED ) ;
702
+ BID_REQUESTED_COPY . bids [ 1 ] . params . regexPattern = '*' ;
703
+ events . emit ( AUCTION_INIT , MOCK . AUCTION_INIT ) ;
704
+ events . emit ( BID_REQUESTED , BID_REQUESTED_COPY ) ;
705
+ events . emit ( BID_RESPONSE , MOCK . BID_RESPONSE [ 0 ] ) ;
706
+ events . emit ( BID_RESPONSE , BID2 ) ;
707
+ events . emit ( BIDDER_DONE , MOCK . BIDDER_DONE ) ;
708
+ events . emit ( AUCTION_END , MOCK . AUCTION_END ) ;
709
+ events . emit ( SET_TARGETING , MOCK . SET_TARGETING ) ;
710
+ events . emit ( BID_WON , MOCK . BID_WON [ 0 ] ) ;
711
+ events . emit ( BID_WON , MOCK . BID_WON [ 1 ] ) ;
712
+
713
+ clock . tick ( 2000 + 1000 ) ;
714
+ expect ( requests . length ) . to . equal ( 3 ) ; // 1 logger and 2 win-tracker
715
+ let request = requests [ 2 ] ; // logger is executed late, trackers execute first
716
+ expect ( request . url ) . to . equal ( 'https://t.pubmatic.com/wl?pubid=9999' ) ;
717
+ let data = getLoggerJsonFromRequest ( request . requestBody ) ;
718
+ expect ( data . s [ 1 ] . sn ) . to . equal ( '/19968336/header-bid-tag-1' ) ;
719
+ expect ( data . s [ 1 ] . sz ) . to . deep . equal ( [ '1000x300' , '970x250' , '728x90' ] ) ;
720
+ expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
721
+ expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
722
+ expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
723
+ expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
724
+ expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
725
+ expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( '*' ) ;
726
+ expect ( data . s [ 1 ] . ps [ 0 ] . kgpsv ) . to . equal ( 'this-is-a-kgpv' ) ;
727
+ expect ( data . s [ 1 ] . ps [ 0 ] . psz ) . to . equal ( '728x90' ) ;
728
+ expect ( data . s [ 1 ] . ps [ 0 ] . eg ) . to . equal ( 1.52 ) ;
729
+ expect ( data . s [ 1 ] . ps [ 0 ] . en ) . to . equal ( 1.52 ) ;
730
+ expect ( data . s [ 1 ] . ps [ 0 ] . di ) . to . equal ( 'the-deal-id' ) ;
731
+ expect ( data . s [ 1 ] . ps [ 0 ] . dc ) . to . equal ( 'PMP' ) ;
732
+ expect ( data . s [ 1 ] . ps [ 0 ] . mi ) . to . equal ( 'matched-impression' ) ;
733
+ expect ( data . s [ 1 ] . ps [ 0 ] . l1 ) . to . equal ( 3214 ) ;
734
+ expect ( data . s [ 1 ] . ps [ 0 ] . l2 ) . to . equal ( 0 ) ;
735
+ expect ( data . s [ 1 ] . ps [ 0 ] . ss ) . to . equal ( 1 ) ;
736
+ expect ( data . s [ 1 ] . ps [ 0 ] . t ) . to . equal ( 0 ) ;
737
+ expect ( data . s [ 1 ] . ps [ 0 ] . wb ) . to . equal ( 0 ) ; // bidPriceUSD is not getting set as currency module is not added, so unable to set wb to 1
738
+ expect ( data . s [ 1 ] . ps [ 0 ] . af ) . to . equal ( 'banner' ) ;
739
+ expect ( data . s [ 1 ] . ps [ 0 ] . ocpm ) . to . equal ( 1.52 ) ;
740
+ expect ( data . s [ 1 ] . ps [ 0 ] . ocry ) . to . equal ( 'USD' ) ;
741
+ // respective tracker slot
742
+ let firstTracker = requests [ 1 ] . url ;
743
+ expect ( firstTracker . split ( '?' ) [ 0 ] ) . to . equal ( 'https://t.pubmatic.com/wt' ) ;
744
+ data = { } ;
745
+ firstTracker . split ( '?' ) [ 1 ] . split ( '&' ) . map ( e => e . split ( '=' ) ) . forEach ( e => data [ e [ 0 ] ] = e [ 1 ] ) ;
746
+ expect ( data . kgpv ) . to . equal ( '*' ) ;
747
+ } ) ;
748
+
749
+ it ( 'Logger: regexPattern in bid.bidResponse' , function ( ) {
750
+ const BID2_COPY = utils . deepClone ( BID2 ) ;
751
+ BID2_COPY . regexPattern = '*' ;
752
+ events . emit ( AUCTION_INIT , MOCK . AUCTION_INIT ) ;
753
+ events . emit ( AUCTION_INIT , MOCK . AUCTION_INIT ) ;
754
+ events . emit ( BID_REQUESTED , MOCK . BID_REQUESTED ) ;
755
+ events . emit ( BID_RESPONSE , MOCK . BID_RESPONSE [ 0 ] ) ;
756
+ events . emit ( BID_RESPONSE , BID2_COPY ) ;
757
+ events . emit ( BIDDER_DONE , MOCK . BIDDER_DONE ) ;
758
+ events . emit ( AUCTION_END , MOCK . AUCTION_END ) ;
759
+ events . emit ( SET_TARGETING , MOCK . SET_TARGETING ) ;
760
+ events . emit ( BID_WON , MOCK . BID_WON [ 0 ] ) ;
761
+ events . emit ( BID_WON , Object . assign ( { } , BID2_COPY , {
762
+ 'status' : 'rendered'
763
+ } ) ) ;
764
+
765
+ clock . tick ( 2000 + 1000 ) ;
766
+ expect ( requests . length ) . to . equal ( 3 ) ; // 1 logger and 2 win-tracker
767
+ let request = requests [ 2 ] ; // logger is executed late, trackers execute first
768
+ expect ( request . url ) . to . equal ( 'https://t.pubmatic.com/wl?pubid=9999' ) ;
769
+ let data = getLoggerJsonFromRequest ( request . requestBody ) ;
770
+ expect ( data . s [ 1 ] . sn ) . to . equal ( '/19968336/header-bid-tag-1' ) ;
771
+ expect ( data . s [ 1 ] . sz ) . to . deep . equal ( [ '1000x300' , '970x250' , '728x90' ] ) ;
772
+ expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
773
+ expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
774
+ expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
775
+ expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
776
+ expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
777
+ expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( '*' ) ;
778
+ expect ( data . s [ 1 ] . ps [ 0 ] . kgpsv ) . to . equal ( 'this-is-a-kgpv' ) ;
779
+ expect ( data . s [ 1 ] . ps [ 0 ] . psz ) . to . equal ( '728x90' ) ;
780
+ expect ( data . s [ 1 ] . ps [ 0 ] . eg ) . to . equal ( 1.52 ) ;
781
+ expect ( data . s [ 1 ] . ps [ 0 ] . en ) . to . equal ( 1.52 ) ;
782
+ expect ( data . s [ 1 ] . ps [ 0 ] . di ) . to . equal ( 'the-deal-id' ) ;
783
+ expect ( data . s [ 1 ] . ps [ 0 ] . dc ) . to . equal ( 'PMP' ) ;
784
+ expect ( data . s [ 1 ] . ps [ 0 ] . mi ) . to . equal ( 'matched-impression' ) ;
785
+ expect ( data . s [ 1 ] . ps [ 0 ] . l1 ) . to . equal ( 3214 ) ;
786
+ expect ( data . s [ 1 ] . ps [ 0 ] . l2 ) . to . equal ( 0 ) ;
787
+ expect ( data . s [ 1 ] . ps [ 0 ] . ss ) . to . equal ( 1 ) ;
788
+ expect ( data . s [ 1 ] . ps [ 0 ] . t ) . to . equal ( 0 ) ;
789
+ expect ( data . s [ 1 ] . ps [ 0 ] . wb ) . to . equal ( 0 ) ; // bidPriceUSD is not getting set as currency module is not added, so unable to set wb to 1
790
+ expect ( data . s [ 1 ] . ps [ 0 ] . af ) . to . equal ( 'banner' ) ;
791
+ expect ( data . s [ 1 ] . ps [ 0 ] . ocpm ) . to . equal ( 1.52 ) ;
792
+ expect ( data . s [ 1 ] . ps [ 0 ] . ocry ) . to . equal ( 'USD' ) ;
793
+ // respective tracker slot
794
+ let firstTracker = requests [ 1 ] . url ;
795
+ expect ( firstTracker . split ( '?' ) [ 0 ] ) . to . equal ( 'https://t.pubmatic.com/wt' ) ;
796
+ data = { } ;
797
+ firstTracker . split ( '?' ) [ 1 ] . split ( '&' ) . map ( e => e . split ( '=' ) ) . forEach ( e => data [ e [ 0 ] ] = e [ 1 ] ) ;
798
+ expect ( data . kgpv ) . to . equal ( '*' ) ;
799
+ } ) ;
699
800
} ) ;
700
801
} ) ;
0 commit comments