1
1
import pubmaticAnalyticsAdapter from 'modules/pubmaticAnalyticsAdapter.js' ;
2
+ import adapterManager from 'src/adapterManager.js' ;
2
3
import CONSTANTS from 'src/constants.json' ;
3
4
import { config } from 'src/config.js' ;
4
5
import {
@@ -342,6 +343,7 @@ describe('pubmatic analytics adapter', function () {
342
343
expect ( data . s [ 0 ] . ps ) . to . be . an ( 'array' ) ;
343
344
expect ( data . s [ 0 ] . ps . length ) . to . equal ( 1 ) ;
344
345
expect ( data . s [ 0 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
346
+ expect ( data . s [ 0 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
345
347
expect ( data . s [ 0 ] . ps [ 0 ] . bidid ) . to . equal ( '2ecff0db240757' ) ;
346
348
expect ( data . s [ 0 ] . ps [ 0 ] . piid ) . to . equal ( 'partnerImpressionID-1' ) ;
347
349
expect ( data . s [ 0 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
@@ -366,6 +368,7 @@ describe('pubmatic analytics adapter', function () {
366
368
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
367
369
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
368
370
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
371
+ expect ( data . s [ 0 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
369
372
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
370
373
expect ( data . s [ 1 ] . ps [ 0 ] . piid ) . to . equal ( 'partnerImpressionID-2' ) ;
371
374
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
@@ -401,6 +404,7 @@ describe('pubmatic analytics adapter', function () {
401
404
expect ( decodeURIComponent ( data . slot ) ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
402
405
expect ( decodeURIComponent ( data . kgpv ) ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
403
406
expect ( data . pn ) . to . equal ( 'pubmatic' ) ;
407
+ expect ( data . bc ) . to . equal ( 'pubmatic' ) ;
404
408
expect ( data . eg ) . to . equal ( '1.23' ) ;
405
409
expect ( data . en ) . to . equal ( '1.23' ) ;
406
410
expect ( data . piid ) . to . equal ( 'partnerImpressionID-1' ) ;
@@ -441,6 +445,7 @@ describe('pubmatic analytics adapter', function () {
441
445
expect ( data . s [ 0 ] . ps ) . to . be . an ( 'array' ) ;
442
446
expect ( data . s [ 0 ] . ps . length ) . to . equal ( 1 ) ;
443
447
expect ( data . s [ 0 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
448
+ expect ( data . s [ 0 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
444
449
expect ( data . s [ 0 ] . ps [ 0 ] . bidid ) . to . equal ( '2ecff0db240757' ) ;
445
450
expect ( data . s [ 0 ] . ps [ 0 ] . kgpv ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
446
451
expect ( data . s [ 0 ] . ps [ 0 ] . eg ) . to . equal ( 1.23 ) ;
@@ -508,6 +513,7 @@ describe('pubmatic analytics adapter', function () {
508
513
expect ( data . s [ 0 ] . ps ) . to . be . an ( 'array' ) ;
509
514
expect ( data . s [ 0 ] . ps . length ) . to . equal ( 1 ) ;
510
515
expect ( data . s [ 0 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
516
+ expect ( data . s [ 0 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
511
517
expect ( data . s [ 0 ] . ps [ 0 ] . bidid ) . to . equal ( '2ecff0db240757' ) ;
512
518
expect ( data . s [ 0 ] . ps [ 0 ] . kgpv ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
513
519
expect ( data . s [ 0 ] . ps [ 0 ] . eg ) . to . equal ( 1 ) ;
@@ -551,6 +557,7 @@ describe('pubmatic analytics adapter', function () {
551
557
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
552
558
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
553
559
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
560
+ expect ( data . s [ 0 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
554
561
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
555
562
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 1 ) ;
556
563
expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( 'this-is-a-kgpv' ) ;
@@ -587,6 +594,7 @@ describe('pubmatic analytics adapter', function () {
587
594
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
588
595
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
589
596
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
597
+ expect ( data . s [ 0 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
590
598
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
591
599
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 1 ) ;
592
600
expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( 'this-is-a-kgpv' ) ;
@@ -629,6 +637,7 @@ describe('pubmatic analytics adapter', function () {
629
637
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
630
638
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
631
639
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
640
+ expect ( data . s [ 1 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
632
641
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
633
642
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
634
643
expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( 'this-is-a-kgpv' ) ;
@@ -685,6 +694,7 @@ describe('pubmatic analytics adapter', function () {
685
694
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
686
695
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
687
696
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
697
+ expect ( data . s [ 1 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
688
698
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
689
699
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
690
700
expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( 'this-is-a-kgpv' ) ;
@@ -730,6 +740,7 @@ describe('pubmatic analytics adapter', function () {
730
740
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
731
741
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
732
742
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
743
+ expect ( data . s [ 1 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
733
744
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
734
745
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
735
746
expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( '*' ) ;
@@ -783,6 +794,7 @@ describe('pubmatic analytics adapter', function () {
783
794
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
784
795
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
785
796
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
797
+ expect ( data . s [ 1 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
786
798
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
787
799
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
788
800
expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( '*' ) ;
@@ -833,6 +845,7 @@ describe('pubmatic analytics adapter', function () {
833
845
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
834
846
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
835
847
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
848
+ expect ( data . s [ 1 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
836
849
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
837
850
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
838
851
expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( '*' ) ;
@@ -885,6 +898,7 @@ describe('pubmatic analytics adapter', function () {
885
898
expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
886
899
expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
887
900
expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
901
+ expect ( data . s [ 1 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
888
902
expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
889
903
expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
890
904
expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( '*' ) ;
@@ -910,5 +924,118 @@ describe('pubmatic analytics adapter', function () {
910
924
firstTracker . split ( '?' ) [ 1 ] . split ( '&' ) . map ( e => e . split ( '=' ) ) . forEach ( e => data [ e [ 0 ] ] = e [ 1 ] ) ;
911
925
expect ( data . kgpv ) . to . equal ( '*' ) ;
912
926
} ) ;
927
+
928
+ it ( 'Logger: best case + win tracker in case of Bidder Aliases' , function ( ) {
929
+ MOCK . BID_REQUESTED [ 'bids' ] [ 0 ] [ 'bidder' ] = 'pubmatic_alias' ;
930
+ adapterManager . aliasRegistry [ 'pubmatic_alias' ] = 'pubmatic' ;
931
+
932
+ sandbox . stub ( $$PREBID_GLOBAL$$ , 'getHighestCpmBids' ) . callsFake ( ( key ) => {
933
+ return [ MOCK . BID_RESPONSE [ 0 ] , MOCK . BID_RESPONSE [ 1 ] ]
934
+ } ) ;
935
+
936
+ config . setConfig ( {
937
+ testGroupId : 15
938
+ } ) ;
939
+
940
+ events . emit ( AUCTION_INIT , MOCK . AUCTION_INIT ) ;
941
+ events . emit ( BID_REQUESTED , MOCK . BID_REQUESTED ) ;
942
+ events . emit ( BID_RESPONSE , MOCK . BID_RESPONSE [ 0 ] ) ;
943
+ events . emit ( BID_RESPONSE , MOCK . BID_RESPONSE [ 1 ] ) ;
944
+ events . emit ( BIDDER_DONE , MOCK . BIDDER_DONE ) ;
945
+ events . emit ( AUCTION_END , MOCK . AUCTION_END ) ;
946
+ events . emit ( SET_TARGETING , MOCK . SET_TARGETING ) ;
947
+ events . emit ( BID_WON , MOCK . BID_WON [ 0 ] ) ;
948
+ events . emit ( BID_WON , MOCK . BID_WON [ 1 ] ) ;
949
+
950
+ clock . tick ( 2000 + 1000 ) ;
951
+ expect ( requests . length ) . to . equal ( 3 ) ; // 1 logger and 2 win-tracker
952
+ let request = requests [ 2 ] ; // logger is executed late, trackers execute first
953
+ expect ( request . url ) . to . equal ( 'https://t.pubmatic.com/wl?pubid=9999' ) ;
954
+ let data = getLoggerJsonFromRequest ( request . requestBody ) ;
955
+ expect ( data . pubid ) . to . equal ( '9999' ) ;
956
+ expect ( data . pid ) . to . equal ( '1111' ) ;
957
+ expect ( data . pdvid ) . to . equal ( '20' ) ;
958
+ expect ( data . iid ) . to . equal ( '25c6d7f5-699a-4bfc-87c9-996f915341fa' ) ;
959
+ expect ( data . to ) . to . equal ( '3000' ) ;
960
+ expect ( data . purl ) . to . equal ( 'http://www.test.com/page.html' ) ;
961
+ expect ( data . orig ) . to . equal ( 'www.test.com' ) ;
962
+ expect ( data . tst ) . to . equal ( 1519767016 ) ;
963
+ expect ( data . tgid ) . to . equal ( 15 ) ;
964
+ expect ( data . s ) . to . be . an ( 'array' ) ;
965
+ expect ( data . s . length ) . to . equal ( 2 ) ;
966
+
967
+ // slot 1
968
+ expect ( data . s [ 0 ] . sn ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
969
+ expect ( data . s [ 0 ] . sz ) . to . deep . equal ( [ '640x480' ] ) ;
970
+ expect ( data . s [ 0 ] . ps ) . to . be . an ( 'array' ) ;
971
+ expect ( data . s [ 0 ] . ps . length ) . to . equal ( 1 ) ;
972
+ expect ( data . s [ 0 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
973
+ expect ( data . s [ 0 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic_alias' ) ;
974
+ expect ( data . s [ 0 ] . ps [ 0 ] . bidid ) . to . equal ( '2ecff0db240757' ) ;
975
+ expect ( data . s [ 0 ] . ps [ 0 ] . piid ) . to . equal ( 'partnerImpressionID-1' ) ;
976
+ expect ( data . s [ 0 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
977
+ expect ( data . s [ 0 ] . ps [ 0 ] . kgpv ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
978
+ expect ( data . s [ 0 ] . ps [ 0 ] . kgpsv ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
979
+ expect ( data . s [ 0 ] . ps [ 0 ] . psz ) . to . equal ( '640x480' ) ;
980
+ expect ( data . s [ 0 ] . ps [ 0 ] . eg ) . to . equal ( 1.23 ) ;
981
+ expect ( data . s [ 0 ] . ps [ 0 ] . en ) . to . equal ( 1.23 ) ;
982
+ expect ( data . s [ 0 ] . ps [ 0 ] . di ) . to . equal ( '' ) ;
983
+ expect ( data . s [ 0 ] . ps [ 0 ] . dc ) . to . equal ( '' ) ;
984
+ expect ( data . s [ 0 ] . ps [ 0 ] . l1 ) . to . equal ( 3214 ) ;
985
+ expect ( data . s [ 0 ] . ps [ 0 ] . l2 ) . to . equal ( 0 ) ;
986
+ expect ( data . s [ 0 ] . ps [ 0 ] . ss ) . to . equal ( 0 ) ;
987
+ expect ( data . s [ 0 ] . ps [ 0 ] . t ) . to . equal ( 0 ) ;
988
+ expect ( data . s [ 0 ] . ps [ 0 ] . wb ) . to . equal ( 1 ) ;
989
+ expect ( data . s [ 0 ] . ps [ 0 ] . af ) . to . equal ( 'video' ) ;
990
+ expect ( data . s [ 0 ] . ps [ 0 ] . ocpm ) . to . equal ( 1.23 ) ;
991
+ expect ( data . s [ 0 ] . ps [ 0 ] . ocry ) . to . equal ( 'USD' ) ;
992
+
993
+ // slot 2
994
+ expect ( data . s [ 1 ] . sn ) . to . equal ( '/19968336/header-bid-tag-1' ) ;
995
+ expect ( data . s [ 1 ] . sz ) . to . deep . equal ( [ '1000x300' , '970x250' , '728x90' ] ) ;
996
+ expect ( data . s [ 1 ] . ps ) . to . be . an ( 'array' ) ;
997
+ expect ( data . s [ 1 ] . ps . length ) . to . equal ( 1 ) ;
998
+ expect ( data . s [ 1 ] . ps [ 0 ] . pn ) . to . equal ( 'pubmatic' ) ;
999
+ expect ( data . s [ 1 ] . ps [ 0 ] . bc ) . to . equal ( 'pubmatic' ) ;
1000
+ expect ( data . s [ 1 ] . ps [ 0 ] . bidid ) . to . equal ( '3bd4ebb1c900e2' ) ;
1001
+ expect ( data . s [ 1 ] . ps [ 0 ] . piid ) . to . equal ( 'partnerImpressionID-2' ) ;
1002
+ expect ( data . s [ 1 ] . ps [ 0 ] . db ) . to . equal ( 0 ) ;
1003
+ expect ( data . s [ 1 ] . ps [ 0 ] . kgpv ) . to . equal ( 'this-is-a-kgpv' ) ;
1004
+ expect ( data . s [ 1 ] . ps [ 0 ] . kgpsv ) . to . equal ( 'this-is-a-kgpv' ) ;
1005
+ expect ( data . s [ 1 ] . ps [ 0 ] . psz ) . to . equal ( '728x90' ) ;
1006
+ expect ( data . s [ 1 ] . ps [ 0 ] . eg ) . to . equal ( 1.52 ) ;
1007
+ expect ( data . s [ 1 ] . ps [ 0 ] . en ) . to . equal ( 1.52 ) ;
1008
+ expect ( data . s [ 1 ] . ps [ 0 ] . di ) . to . equal ( 'the-deal-id' ) ;
1009
+ expect ( data . s [ 1 ] . ps [ 0 ] . dc ) . to . equal ( 'PMP' ) ;
1010
+ expect ( data . s [ 1 ] . ps [ 0 ] . mi ) . to . equal ( 'matched-impression' ) ;
1011
+ expect ( data . s [ 1 ] . ps [ 0 ] . l1 ) . to . equal ( 3214 ) ;
1012
+ expect ( data . s [ 1 ] . ps [ 0 ] . l2 ) . to . equal ( 0 ) ;
1013
+ expect ( data . s [ 1 ] . ps [ 0 ] . ss ) . to . equal ( 1 ) ;
1014
+ expect ( data . s [ 1 ] . ps [ 0 ] . t ) . to . equal ( 0 ) ;
1015
+ expect ( data . s [ 1 ] . ps [ 0 ] . wb ) . to . equal ( 1 ) ;
1016
+ expect ( data . s [ 1 ] . ps [ 0 ] . af ) . to . equal ( 'banner' ) ;
1017
+ expect ( data . s [ 1 ] . ps [ 0 ] . ocpm ) . to . equal ( 1.52 ) ;
1018
+ expect ( data . s [ 1 ] . ps [ 0 ] . ocry ) . to . equal ( 'USD' ) ;
1019
+
1020
+ // tracker slot1
1021
+ let firstTracker = requests [ 0 ] . url ;
1022
+ expect ( firstTracker . split ( '?' ) [ 0 ] ) . to . equal ( 'https://t.pubmatic.com/wt' ) ;
1023
+ data = { } ;
1024
+ firstTracker . split ( '?' ) [ 1 ] . split ( '&' ) . map ( e => e . split ( '=' ) ) . forEach ( e => data [ e [ 0 ] ] = e [ 1 ] ) ;
1025
+ expect ( data . pubid ) . to . equal ( '9999' ) ;
1026
+ expect ( decodeURIComponent ( data . purl ) ) . to . equal ( 'http://www.test.com/page.html' ) ;
1027
+ expect ( data . tst ) . to . equal ( '1519767014' ) ;
1028
+ expect ( data . iid ) . to . equal ( '25c6d7f5-699a-4bfc-87c9-996f915341fa' ) ;
1029
+ expect ( data . bidid ) . to . equal ( '2ecff0db240757' ) ;
1030
+ expect ( data . pid ) . to . equal ( '1111' ) ;
1031
+ expect ( data . pdvid ) . to . equal ( '20' ) ;
1032
+ expect ( decodeURIComponent ( data . slot ) ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
1033
+ expect ( decodeURIComponent ( data . kgpv ) ) . to . equal ( '/19968336/header-bid-tag-0' ) ;
1034
+ expect ( data . pn ) . to . equal ( 'pubmatic' ) ;
1035
+ expect ( data . bc ) . to . equal ( 'pubmatic_alias' ) ;
1036
+ expect ( data . eg ) . to . equal ( '1.23' ) ;
1037
+ expect ( data . en ) . to . equal ( '1.23' ) ;
1038
+ expect ( data . piid ) . to . equal ( 'partnerImpressionID-1' ) ;
1039
+ } ) ;
913
1040
} ) ;
914
1041
} ) ;
0 commit comments