prebid.js 7.18.0 → 7.20.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.
Files changed (313) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adWMGAnalyticsAdapter.js +1 -1
  4. package/dist/adagioAnalyticsAdapter.js +1 -1
  5. package/dist/adagioBidAdapter.js +1 -1
  6. package/dist/adbookpspBidAdapter.js +1 -1
  7. package/dist/adfBidAdapter.js +1 -1
  8. package/dist/adgenerationBidAdapter.js +1 -1
  9. package/dist/adkernelAdnAnalyticsAdapter.js +1 -1
  10. package/dist/adkernelBidAdapter.js +1 -1
  11. package/dist/adlooxAdServerVideo.js +1 -1
  12. package/dist/adlooxAnalyticsAdapter.js +1 -1
  13. package/dist/adlooxRtdProvider.js +1 -1
  14. package/dist/adomikAnalyticsAdapter.js +1 -1
  15. package/dist/adqueryIdSystem.js +1 -1
  16. package/dist/adrelevantisBidAdapter.js +1 -1
  17. package/dist/adtrgtmeBidAdapter.js +1 -1
  18. package/dist/adxcgAnalyticsAdapter.js +1 -1
  19. package/dist/adxcgBidAdapter.js +1 -1
  20. package/dist/adxpremiumAnalyticsAdapter.js +1 -1
  21. package/dist/ajaBidAdapter.js +1 -1
  22. package/dist/amxBidAdapter.js +1 -1
  23. package/dist/amxIdSystem.js +1 -1
  24. package/dist/aolBidAdapter.js +1 -1
  25. package/dist/appierAnalyticsAdapter.js +1 -1
  26. package/dist/appnexusBidAdapter.js +1 -1
  27. package/dist/asoBidAdapter.js +1 -1
  28. package/dist/atsAnalyticsAdapter.js +1 -1
  29. package/dist/axonixBidAdapter.js +1 -1
  30. package/dist/{andBeyondMediaBidAdapter.js → beyondmediaBidAdapter.js} +1 -1
  31. package/dist/bidViewability.js +1 -1
  32. package/dist/bidglassBidAdapter.js +1 -1
  33. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  34. package/dist/big-richmediaBidAdapter.js +1 -1
  35. package/dist/bridgewellBidAdapter.js +1 -1
  36. package/dist/brightMountainMediaBidAdapter.js +1 -1
  37. package/dist/byDataAnalyticsAdapter.js +1 -1
  38. package/dist/carodaBidAdapter.js +1 -1
  39. package/dist/categoryTranslation.js +1 -1
  40. package/dist/cleanioRtdProvider.js +1 -1
  41. package/dist/colossussspBidAdapter.js +1 -1
  42. package/dist/concertAnalyticsAdapter.js +1 -1
  43. package/dist/concertBidAdapter.js +1 -1
  44. package/dist/connectIdSystem.js +1 -1
  45. package/dist/connectadBidAdapter.js +1 -1
  46. package/dist/consentManagement.js +1 -1
  47. package/dist/consentManagementUsp.js +1 -1
  48. package/dist/consumableBidAdapter.js +1 -1
  49. package/dist/conversantAnalyticsAdapter.js +1 -0
  50. package/dist/conversantBidAdapter.js +1 -1
  51. package/dist/craftBidAdapter.js +1 -1
  52. package/dist/criteoBidAdapter.js +1 -1
  53. package/dist/currency.js +1 -1
  54. package/dist/datablocksAnalyticsAdapter.js +1 -1
  55. package/dist/dchain.js +1 -1
  56. package/dist/debugging-standalone.js +1 -1
  57. package/dist/debugging.js +1 -1
  58. package/dist/dependencies.json +9 -0
  59. package/dist/dfpAdServerVideo.js +1 -1
  60. package/dist/dgkeywordRtdProvider.js +1 -1
  61. package/dist/dianomiBidAdapter.js +1 -1
  62. package/dist/dspxBidAdapter.js +1 -1
  63. package/dist/enrichmentFpdModule.js +1 -1
  64. package/dist/eplanningAnalyticsAdapter.js +1 -1
  65. package/dist/eplanningBidAdapter.js +1 -1
  66. package/dist/finativeBidAdapter.js +1 -1
  67. package/dist/fintezaAnalyticsAdapter.js +1 -1
  68. package/dist/fpd.js +1 -0
  69. package/dist/ftrackIdSystem.js +1 -1
  70. package/dist/gdprEnforcement.js +1 -1
  71. package/dist/glimpseBidAdapter.js +1 -1
  72. package/dist/gmosspBidAdapter.js +1 -1
  73. package/dist/goldbachBidAdapter.js +1 -1
  74. package/dist/googleAnalyticsAdapter.js +1 -1
  75. package/dist/gridBidAdapter.js +1 -1
  76. package/dist/gridNMBidAdapter.js +1 -1
  77. package/dist/gumgumBidAdapter.js +1 -1
  78. package/dist/h12mediaBidAdapter.js +1 -1
  79. package/dist/hadronAnalyticsAdapter.js +1 -1
  80. package/dist/id5AnalyticsAdapter.js +1 -1
  81. package/dist/id5IdSystem.js +1 -1
  82. package/dist/improvedigitalBidAdapter.js +1 -1
  83. package/dist/inmarBidAdapter.js +1 -1
  84. package/dist/insticatorBidAdapter.js +1 -1
  85. package/dist/invisiblyAnalyticsAdapter.js +1 -1
  86. package/dist/ixBidAdapter.js +1 -1
  87. package/dist/justpremiumBidAdapter.js +1 -1
  88. package/dist/kargoAnalyticsAdapter.js +1 -1
  89. package/dist/kinessoIdSystem.js +1 -1
  90. package/dist/konduitAnalyticsAdapter.js +1 -1
  91. package/dist/kueezBidAdapter.js +1 -1
  92. package/dist/lassoBidAdapter.js +1 -1
  93. package/dist/lifestreetBidAdapter.js +1 -1
  94. package/dist/liveIntentAnalyticsAdapter.js +1 -1
  95. package/dist/liveIntentIdSystem.js +1 -1
  96. package/dist/livewrappedAnalyticsAdapter.js +1 -1
  97. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  98. package/dist/logicadBidAdapter.js +1 -1
  99. package/dist/loglyliftBidAdapter.js +1 -1
  100. package/dist/lotamePanoramaIdSystem.js +1 -1
  101. package/dist/magniteAnalyticsAdapter.js +1 -0
  102. package/dist/malltvAnalyticsAdapter.js +1 -1
  103. package/dist/marsmediaAnalyticsAdapter.js +1 -1
  104. package/dist/marsmediaBidAdapter.js +1 -1
  105. package/dist/mass.js +1 -1
  106. package/dist/mediafuseBidAdapter.js +1 -1
  107. package/dist/mediakeysBidAdapter.js +1 -1
  108. package/dist/medianetAnalyticsAdapter.js +1 -1
  109. package/dist/mediasquareBidAdapter.js +1 -1
  110. package/dist/mgidBidAdapter.js +1 -1
  111. package/dist/minutemediaBidAdapter.js +1 -1
  112. package/dist/multibid.js +1 -1
  113. package/dist/nativoBidAdapter.js +1 -1
  114. package/dist/not-for-prod/prebid.js +198 -194
  115. package/dist/oguryBidAdapter.js +1 -1
  116. package/dist/onetagBidAdapter.js +1 -1
  117. package/dist/ooloAnalyticsAdapter.js +1 -1
  118. package/dist/openxAnalyticsAdapter.js +1 -1
  119. package/dist/optimonAnalyticsAdapter.js +1 -1
  120. package/dist/outbrainBidAdapter.js +1 -1
  121. package/dist/parrableIdSystem.js +1 -1
  122. package/dist/pianoDmpAnalyticsAdapter.js +1 -1
  123. package/dist/pixfutureBidAdapter.js +1 -1
  124. package/dist/prebid-core.js +2 -2
  125. package/dist/prebidServerBidAdapter.js +1 -1
  126. package/dist/prebidmanagerAnalyticsAdapter.js +1 -1
  127. package/dist/priceFloors.js +1 -1
  128. package/dist/publinkIdSystem.js +1 -1
  129. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  130. package/dist/pubmaticBidAdapter.js +1 -1
  131. package/dist/pubperfAnalyticsAdapter.js +1 -1
  132. package/dist/pubstackAnalyticsAdapter.js +1 -1
  133. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  134. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  135. package/dist/pulsepointAnalyticsAdapter.js +1 -1
  136. package/dist/pxyzBidAdapter.js +1 -1
  137. package/dist/quantcastBidAdapter.js +1 -1
  138. package/dist/quantcastIdSystem.js +1 -1
  139. package/dist/readpeakBidAdapter.js +1 -1
  140. package/dist/realvuAnalyticsAdapter.js +1 -1
  141. package/dist/relaidoBidAdapter.js +1 -1
  142. package/dist/relevantAnalyticsAdapter.js +1 -1
  143. package/dist/rhythmoneBidAdapter.js +1 -1
  144. package/dist/riseBidAdapter.js +1 -1
  145. package/dist/rivrAnalyticsAdapter.js +1 -1
  146. package/dist/roxotAnalyticsAdapter.js +1 -1
  147. package/dist/rtdModule.js +1 -1
  148. package/dist/rubiconAnalyticsAdapter.js +1 -1
  149. package/dist/rubiconBidAdapter.js +1 -1
  150. package/dist/s2sTesting.js +1 -1
  151. package/dist/scaleableAnalyticsAdapter.js +1 -1
  152. package/dist/schain.js +1 -1
  153. package/dist/seedingAllianceBidAdapter.js +1 -1
  154. package/dist/seedtagBidAdapter.js +1 -1
  155. package/dist/sharedIdSystem.js +1 -1
  156. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  157. package/dist/sharethroughBidAdapter.js +1 -1
  158. package/dist/shinezBidAdapter.js +1 -1
  159. package/dist/sigmoidAnalyticsAdapter.js +1 -1
  160. package/dist/smaatoBidAdapter.js +1 -1
  161. package/dist/smartadserverBidAdapter.js +1 -1
  162. package/dist/smartxBidAdapter.js +1 -1
  163. package/dist/smilewantedBidAdapter.js +1 -1
  164. package/dist/sonobiAnalyticsAdapter.js +1 -1
  165. package/dist/sonobiBidAdapter.js +1 -1
  166. package/dist/sovrnAnalyticsAdapter.js +1 -1
  167. package/dist/sovrnBidAdapter.js +1 -1
  168. package/dist/sspBCBidAdapter.js +1 -1
  169. package/dist/staqAnalyticsAdapter.js +1 -1
  170. package/dist/sublimeBidAdapter.js +1 -1
  171. package/dist/synacormediaBidAdapter.js +1 -1
  172. package/dist/taboolaBidAdapter.js +1 -1
  173. package/dist/tapadIdSystem.js +1 -1
  174. package/dist/targetVideoBidAdapter.js +1 -1
  175. package/dist/teadsBidAdapter.js +1 -1
  176. package/dist/teadsIdSystem.js +1 -0
  177. package/dist/terceptAnalyticsAdapter.js +1 -1
  178. package/dist/trionBidAdapter.js +1 -1
  179. package/dist/tripleliftBidAdapter.js +1 -1
  180. package/dist/ttdBidAdapter.js +1 -1
  181. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  182. package/dist/underdogmediaBidAdapter.js +1 -1
  183. package/dist/undertoneBidAdapter.js +1 -1
  184. package/dist/userId.js +1 -1
  185. package/dist/vidazooBidAdapter.js +1 -1
  186. package/dist/videobyteBidAdapter.js +1 -1
  187. package/dist/visxBidAdapter.js +1 -1
  188. package/dist/vrtcalBidAdapter.js +1 -1
  189. package/dist/vuukleBidAdapter.js +1 -1
  190. package/dist/weboramaRtdProvider.js +1 -1
  191. package/dist/widespaceBidAdapter.js +1 -1
  192. package/dist/winrBidAdapter.js +1 -1
  193. package/dist/yahoosspBidAdapter.js +1 -1
  194. package/dist/yandexBidAdapter.js +1 -1
  195. package/dist/yieldmoBidAdapter.js +1 -1
  196. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  197. package/dist/yuktamediaAnalyticsAdapter.js +1 -1
  198. package/dist/zeta_global_sspAnalyticsAdapter.js +1 -1
  199. package/libraries/fpd/sua.js +98 -0
  200. package/modules/.submodules.json +1 -0
  201. package/modules/adfBidAdapter.js +1 -1
  202. package/modules/adkernelAdnBidAdapter.js +1 -0
  203. package/modules/adkernelBidAdapter.js +2 -2
  204. package/modules/adqueryIdSystem.js +8 -8
  205. package/modules/adxcgBidAdapter.js +1 -1
  206. package/modules/amxBidAdapter.js +1 -1
  207. package/modules/aolBidAdapter.js +25 -2
  208. package/modules/appnexusBidAdapter.js +19 -2
  209. package/modules/{andBeyondMediaBidAdapter.js → beyondmediaBidAdapter.js} +0 -0
  210. package/modules/{andBeyondMediaBidAdapter.md → beyondmediaBidAdapter.md} +1 -1
  211. package/modules/categoryTranslation.js +4 -4
  212. package/modules/cleanioRtdProvider.js +3 -4
  213. package/modules/colossussspBidAdapter.js +2 -1
  214. package/modules/connectIdSystem.js +16 -1
  215. package/modules/conversantAnalyticsAdapter.js +560 -0
  216. package/modules/conversantAnalyticsAdapter.md +47 -0
  217. package/modules/criteoBidAdapter.js +1 -1
  218. package/modules/currency.js +11 -11
  219. package/modules/dchain.js +2 -2
  220. package/modules/debugging/bidInterceptor.js +2 -2
  221. package/modules/debugging/debugging.js +10 -2
  222. package/modules/debugging/legacy.js +2 -2
  223. package/modules/dgkeywordRtdProvider.js +21 -3
  224. package/modules/dianomiBidAdapter.js +1 -1
  225. package/modules/enrichmentFpdModule.js +33 -14
  226. package/modules/eplanningBidAdapter.js +48 -2
  227. package/modules/finativeBidAdapter.js +1 -1
  228. package/modules/gridBidAdapter.js +187 -117
  229. package/modules/improvedigitalBidAdapter.js +2 -2
  230. package/modules/ixBidAdapter.js +94 -23
  231. package/modules/liveIntentIdSystem.js +39 -5
  232. package/modules/lotamePanoramaIdSystem.js +10 -6
  233. package/modules/magniteAnalyticsAdapter.js +902 -0
  234. package/modules/magniteAnalyticsAdapter.md +18 -0
  235. package/modules/mass.js +2 -2
  236. package/modules/mediakeysBidAdapter.js +6 -1
  237. package/modules/mediakeysBidAdapter.md +50 -40
  238. package/modules/multibid/index.js +5 -5
  239. package/modules/nativoBidAdapter.js +1 -1
  240. package/modules/pixfutureBidAdapter.js +46 -15
  241. package/modules/prebidServerBidAdapter/index.js +54 -19
  242. package/modules/priceFloors.js +8 -22
  243. package/modules/readpeakBidAdapter.js +1 -1
  244. package/modules/rubiconAnalyticsAdapter.js +14 -9
  245. package/modules/rubiconBidAdapter.js +2 -3
  246. package/modules/seedingAllianceBidAdapter.js +1 -1
  247. package/modules/sharethroughBidAdapter.js +1 -1
  248. package/modules/taboolaBidAdapter.js +5 -5
  249. package/modules/talkadsBidAdapter.js +1 -0
  250. package/modules/teadsIdSystem.js +234 -0
  251. package/modules/teadsIdSystem.md +22 -0
  252. package/modules/truereachBidAdapter.js +1 -0
  253. package/modules/ttdBidAdapter.js +1 -1
  254. package/modules/userId/index.js +21 -14
  255. package/modules/vrtcalBidAdapter.js +7 -1
  256. package/modules/vuukleBidAdapter.js +34 -3
  257. package/modules/yahoosspBidAdapter.js +4 -2
  258. package/modules/yandexBidAdapter.js +31 -8
  259. package/package.json +2 -2
  260. package/src/adapterManager.js +2 -4
  261. package/src/adapters/bidderFactory.js +13 -11
  262. package/src/auction.js +140 -69
  263. package/src/constants.json +8 -0
  264. package/src/cpmBucketManager.js +22 -3
  265. package/src/native.js +1 -5
  266. package/src/prebid.js +5 -6
  267. package/src/targeting.js +31 -14
  268. package/test/fixtures/fixtures.js +2 -1
  269. package/test/spec/auctionmanager_spec.js +109 -21
  270. package/test/spec/cpmBucketManager_spec.js +239 -177
  271. package/test/spec/fpd/sua_spec.js +244 -0
  272. package/test/spec/modules/adfBidAdapter_spec.js +2 -3
  273. package/test/spec/modules/adqueryIdSystem_spec.js +0 -2
  274. package/test/spec/modules/adxcgBidAdapter_spec.js +2 -3
  275. package/test/spec/modules/amxBidAdapter_spec.js +3 -2
  276. package/test/spec/modules/aolBidAdapter_spec.js +42 -9
  277. package/test/spec/modules/appnexusBidAdapter_spec.js +24 -0
  278. package/test/spec/modules/{andBeyondMediaBidAdapter_spec.js → beyondmediaBidAdapter_spec.js} +1 -1
  279. package/test/spec/modules/colossussspBidAdapter_spec.js +4 -2
  280. package/test/spec/modules/connectIdSystem_spec.js +20 -0
  281. package/test/spec/modules/conversantAnalyticsAdapter_spec.js +963 -0
  282. package/test/spec/modules/currency_spec.js +14 -6
  283. package/test/spec/modules/debugging_mod_spec.js +9 -0
  284. package/test/spec/modules/dgkeywordRtdProvider_spec.js +83 -1
  285. package/test/spec/modules/dianomiBidAdapter_spec.js +2 -3
  286. package/test/spec/modules/enrichmentFpdModule_spec.js +50 -7
  287. package/test/spec/modules/eplanningBidAdapter_spec.js +285 -1
  288. package/test/spec/modules/fpdModule_spec.js +9 -0
  289. package/test/spec/modules/gridBidAdapter_spec.js +87 -31
  290. package/test/spec/modules/ixBidAdapter_spec.js +221 -2
  291. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +62 -8
  292. package/test/spec/modules/liveIntentIdSystem_spec.js +62 -8
  293. package/test/spec/modules/lotamePanoramaIdSystem_spec.js +0 -1
  294. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +1942 -0
  295. package/test/spec/modules/mediakeysBidAdapter_spec.js +20 -3
  296. package/test/spec/modules/nativoBidAdapter_spec.js +13 -2
  297. package/test/spec/modules/prebidServerBidAdapter_spec.js +202 -15
  298. package/test/spec/modules/priceFloors_spec.js +5 -5
  299. package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +2 -3
  300. package/test/spec/modules/seedtagBidAdapter_spec.js +15 -18
  301. package/test/spec/modules/sharethroughBidAdapter_spec.js +2 -1
  302. package/test/spec/modules/taboolaBidAdapter_spec.js +112 -13
  303. package/test/spec/modules/teadsIdSystem_spec.js +271 -0
  304. package/test/spec/modules/ttdBidAdapter_spec.js +3 -3
  305. package/test/spec/modules/userId_spec.js +39 -4
  306. package/test/spec/modules/vrtcalBidAdapter_spec.js +12 -1
  307. package/test/spec/modules/vuukleBidAdapter_spec.js +87 -0
  308. package/test/spec/modules/yahoosspBidAdapter_spec.js +48 -1
  309. package/test/spec/modules/yandexBidAdapter_spec.js +8 -5
  310. package/test/spec/native_spec.js +5 -0
  311. package/test/spec/unit/core/bidderFactory_spec.js +66 -11
  312. package/test/spec/unit/core/targeting_spec.js +28 -9
  313. package/test/spec/unit/pbjs_api_spec.js +48 -2
@@ -47,7 +47,7 @@ describe('LiveIntentMinimalId', function() {
47
47
 
48
48
  it('should not return a decoded identifier when the unifiedId is not present in the value', function() {
49
49
  const result = liveIntentIdSubmodule.decode({ additionalData: 'data' });
50
- expect(result).to.be.undefined;
50
+ expect(result).to.be.eql({});
51
51
  });
52
52
 
53
53
  it('should initialize LiveConnect and send no data', function() {
@@ -64,7 +64,7 @@ describe('LiveIntentMinimalId', function() {
64
64
  let submoduleCallback = liveIntentIdSubmodule.getId({ params: {...defaultConfigParams.params, ...{'url': 'https://dummy.liveintent.com/idex'}} }).callback;
65
65
  submoduleCallback(callBackSpy);
66
66
  let request = server.requests[0];
67
- expect(request.url).to.be.eq('https://dummy.liveintent.com/idex/prebid/89899');
67
+ expect(request.url).to.be.eq('https://dummy.liveintent.com/idex/prebid/89899?resolve=nonId');
68
68
  request.respond(
69
69
  200,
70
70
  responseHeader,
@@ -85,7 +85,7 @@ describe('LiveIntentMinimalId', function() {
85
85
  } }).callback;
86
86
  submoduleCallback(callBackSpy);
87
87
  let request = server.requests[0];
88
- expect(request.url).to.be.eq('https://dummy.liveintent.com/idex/rubicon/89899');
88
+ expect(request.url).to.be.eq('https://dummy.liveintent.com/idex/rubicon/89899?resolve=nonId');
89
89
  request.respond(
90
90
  200,
91
91
  responseHeader,
@@ -100,7 +100,7 @@ describe('LiveIntentMinimalId', function() {
100
100
  let submoduleCallback = liveIntentIdSubmodule.getId(defaultConfigParams).callback;
101
101
  submoduleCallback(callBackSpy);
102
102
  let request = server.requests[0];
103
- expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899');
103
+ expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899?resolve=nonId');
104
104
  request.respond(
105
105
  200,
106
106
  responseHeader,
@@ -115,7 +115,7 @@ describe('LiveIntentMinimalId', function() {
115
115
  let submoduleCallback = liveIntentIdSubmodule.getId(defaultConfigParams).callback;
116
116
  submoduleCallback(callBackSpy);
117
117
  let request = server.requests[0];
118
- expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899');
118
+ expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899?resolve=nonId');
119
119
  request.respond(
120
120
  503,
121
121
  responseHeader,
@@ -132,7 +132,7 @@ describe('LiveIntentMinimalId', function() {
132
132
  let submoduleCallback = liveIntentIdSubmodule.getId(defaultConfigParams).callback;
133
133
  submoduleCallback(callBackSpy);
134
134
  let request = server.requests[0];
135
- expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?duid=${oldCookie}`);
135
+ expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?duid=${oldCookie}&resolve=nonId`);
136
136
  request.respond(
137
137
  200,
138
138
  responseHeader,
@@ -155,7 +155,7 @@ describe('LiveIntentMinimalId', function() {
155
155
  let submoduleCallback = liveIntentIdSubmodule.getId(configParams).callback;
156
156
  submoduleCallback(callBackSpy);
157
157
  let request = server.requests[0];
158
- expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?duid=${oldCookie}&_thirdPC=third-pc`);
158
+ expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?duid=${oldCookie}&_thirdPC=third-pc&resolve=nonId`);
159
159
  request.respond(
160
160
  200,
161
161
  responseHeader,
@@ -177,7 +177,61 @@ describe('LiveIntentMinimalId', function() {
177
177
  let submoduleCallback = liveIntentIdSubmodule.getId(configParams).callback;
178
178
  submoduleCallback(callBackSpy);
179
179
  let request = server.requests[0];
180
- expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899?_thirdPC=%7B%22key%22%3A%22value%22%7D');
180
+ expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899?_thirdPC=%7B%22key%22%3A%22value%22%7D&resolve=nonId');
181
+ request.respond(
182
+ 200,
183
+ responseHeader,
184
+ JSON.stringify({})
185
+ );
186
+ expect(callBackSpy.calledOnce).to.be.true;
187
+ });
188
+
189
+ it('should decode a unifiedId to lipbId and remove it', function() {
190
+ const result = liveIntentIdSubmodule.decode({ unifiedId: 'data' });
191
+ expect(result).to.eql({'lipb': {'lipbid': 'data'}});
192
+ });
193
+
194
+ it('should decode a nonId to lipbId', function() {
195
+ const result = liveIntentIdSubmodule.decode({ nonId: 'data' });
196
+ expect(result).to.eql({'lipb': {'lipbid': 'data', 'nonId': 'data'}});
197
+ });
198
+
199
+ it('should resolve extra attributes', function() {
200
+ let callBackSpy = sinon.spy();
201
+ let submoduleCallback = liveIntentIdSubmodule.getId({ params: {
202
+ ...defaultConfigParams.params,
203
+ ...{ requestedAttributesOverrides: { 'foo': true, 'bar': false } }
204
+ } }).callback;
205
+ submoduleCallback(callBackSpy);
206
+ let request = server.requests[0];
207
+ expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?resolve=nonId&resolve=foo`);
208
+ request.respond(
209
+ 200,
210
+ responseHeader,
211
+ JSON.stringify({})
212
+ );
213
+ expect(callBackSpy.calledOnce).to.be.true;
214
+ });
215
+
216
+ it('should decode a uid2 to a seperate object when present', function() {
217
+ const result = liveIntentIdSubmodule.decode({ nonId: 'foo', uid2: 'bar' });
218
+ expect(result).to.eql({'lipb': {'lipbid': 'foo', 'nonId': 'foo', 'uid2': 'bar'}, 'uid2': {'id': 'bar'}});
219
+ });
220
+
221
+ it('should decode values with uid2 but no nonId', function() {
222
+ const result = liveIntentIdSubmodule.decode({ uid2: 'bar' });
223
+ expect(result).to.eql({'uid2': {'id': 'bar'}});
224
+ });
225
+
226
+ it('should allow disabling nonId resolution', function() {
227
+ let callBackSpy = sinon.spy();
228
+ let submoduleCallback = liveIntentIdSubmodule.getId({ params: {
229
+ ...defaultConfigParams.params,
230
+ ...{ requestedAttributesOverrides: { 'nonId': false, 'uid2': true } }
231
+ } }).callback;
232
+ submoduleCallback(callBackSpy);
233
+ let request = server.requests[0];
234
+ expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?resolve=uid2`);
181
235
  request.respond(
182
236
  200,
183
237
  responseHeader,
@@ -111,7 +111,7 @@ describe('LiveIntentId', function() {
111
111
 
112
112
  it('should not return a decoded identifier when the unifiedId is not present in the value', function() {
113
113
  const result = liveIntentIdSubmodule.decode({ additionalData: 'data' });
114
- expect(result).to.be.undefined;
114
+ expect(result).to.be.eql({});
115
115
  });
116
116
 
117
117
  it('should fire an event when decode', function() {
@@ -133,7 +133,7 @@ describe('LiveIntentId', function() {
133
133
  let submoduleCallback = liveIntentIdSubmodule.getId({ params: {...defaultConfigParams.params, ...{'url': 'https://dummy.liveintent.com/idex'}} }).callback;
134
134
  submoduleCallback(callBackSpy);
135
135
  let request = server.requests[1];
136
- expect(request.url).to.be.eq('https://dummy.liveintent.com/idex/prebid/89899');
136
+ expect(request.url).to.be.eq('https://dummy.liveintent.com/idex/prebid/89899?resolve=nonId');
137
137
  request.respond(
138
138
  204,
139
139
  responseHeader
@@ -153,7 +153,7 @@ describe('LiveIntentId', function() {
153
153
  } }).callback;
154
154
  submoduleCallback(callBackSpy);
155
155
  let request = server.requests[1];
156
- expect(request.url).to.be.eq('https://dummy.liveintent.com/idex/rubicon/89899');
156
+ expect(request.url).to.be.eq('https://dummy.liveintent.com/idex/rubicon/89899?resolve=nonId');
157
157
  request.respond(
158
158
  200,
159
159
  responseHeader,
@@ -168,7 +168,7 @@ describe('LiveIntentId', function() {
168
168
  let submoduleCallback = liveIntentIdSubmodule.getId(defaultConfigParams).callback;
169
169
  submoduleCallback(callBackSpy);
170
170
  let request = server.requests[1];
171
- expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899');
171
+ expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899?resolve=nonId');
172
172
  request.respond(
173
173
  200,
174
174
  responseHeader,
@@ -183,7 +183,7 @@ describe('LiveIntentId', function() {
183
183
  let submoduleCallback = liveIntentIdSubmodule.getId(defaultConfigParams).callback;
184
184
  submoduleCallback(callBackSpy);
185
185
  let request = server.requests[1];
186
- expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899');
186
+ expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899?resolve=nonId');
187
187
  request.respond(
188
188
  503,
189
189
  responseHeader,
@@ -200,7 +200,7 @@ describe('LiveIntentId', function() {
200
200
  let submoduleCallback = liveIntentIdSubmodule.getId(defaultConfigParams).callback;
201
201
  submoduleCallback(callBackSpy);
202
202
  let request = server.requests[1];
203
- expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?duid=${oldCookie}`);
203
+ expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?duid=${oldCookie}&resolve=nonId`);
204
204
  request.respond(
205
205
  200,
206
206
  responseHeader,
@@ -223,7 +223,7 @@ describe('LiveIntentId', function() {
223
223
  let submoduleCallback = liveIntentIdSubmodule.getId(configParams).callback;
224
224
  submoduleCallback(callBackSpy);
225
225
  let request = server.requests[1];
226
- expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?duid=${oldCookie}&_thirdPC=third-pc`);
226
+ expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?duid=${oldCookie}&_thirdPC=third-pc&resolve=nonId`);
227
227
  request.respond(
228
228
  200,
229
229
  responseHeader,
@@ -245,7 +245,7 @@ describe('LiveIntentId', function() {
245
245
  let submoduleCallback = liveIntentIdSubmodule.getId(configParams).callback;
246
246
  submoduleCallback(callBackSpy);
247
247
  let request = server.requests[1];
248
- expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899?_thirdPC=%7B%22key%22%3A%22value%22%7D');
248
+ expect(request.url).to.be.eq('https://idx.liadm.com/idex/prebid/89899?_thirdPC=%7B%22key%22%3A%22value%22%7D&resolve=nonId');
249
249
  request.respond(
250
250
  200,
251
251
  responseHeader,
@@ -259,4 +259,58 @@ describe('LiveIntentId', function() {
259
259
  liveIntentIdSubmodule.getId(defaultConfigParams);
260
260
  expect(imgStub.getCall(0).args[0]).to.match(/.*ae=.+/);
261
261
  });
262
+
263
+ it('should decode a unifiedId to lipbId and remove it', function() {
264
+ const result = liveIntentIdSubmodule.decode({ unifiedId: 'data' });
265
+ expect(result).to.eql({'lipb': {'lipbid': 'data'}});
266
+ });
267
+
268
+ it('should decode a nonId to lipbId', function() {
269
+ const result = liveIntentIdSubmodule.decode({ nonId: 'data' });
270
+ expect(result).to.eql({'lipb': {'lipbid': 'data', 'nonId': 'data'}});
271
+ });
272
+
273
+ it('should resolve extra attributes', function() {
274
+ let callBackSpy = sinon.spy();
275
+ let submoduleCallback = liveIntentIdSubmodule.getId({ params: {
276
+ ...defaultConfigParams.params,
277
+ ...{ requestedAttributesOverrides: { 'foo': true, 'bar': false } }
278
+ } }).callback;
279
+ submoduleCallback(callBackSpy);
280
+ let request = server.requests[1];
281
+ expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?resolve=nonId&resolve=foo`);
282
+ request.respond(
283
+ 200,
284
+ responseHeader,
285
+ JSON.stringify({})
286
+ );
287
+ expect(callBackSpy.calledOnce).to.be.true;
288
+ });
289
+
290
+ it('should decode a uid2 to a seperate object when present', function() {
291
+ const result = liveIntentIdSubmodule.decode({ nonId: 'foo', uid2: 'bar' });
292
+ expect(result).to.eql({'lipb': {'lipbid': 'foo', 'nonId': 'foo', 'uid2': 'bar'}, 'uid2': {'id': 'bar'}});
293
+ });
294
+
295
+ it('should decode values with uid2 but no nonId', function() {
296
+ const result = liveIntentIdSubmodule.decode({ uid2: 'bar' });
297
+ expect(result).to.eql({'uid2': {'id': 'bar'}});
298
+ });
299
+
300
+ it('should allow disabling nonId resolution', function() {
301
+ let callBackSpy = sinon.spy();
302
+ let submoduleCallback = liveIntentIdSubmodule.getId({ params: {
303
+ ...defaultConfigParams.params,
304
+ ...{ requestedAttributesOverrides: { 'nonId': false, 'uid2': true } }
305
+ } }).callback;
306
+ submoduleCallback(callBackSpy);
307
+ let request = server.requests[1];
308
+ expect(request.url).to.be.eq(`https://idx.liadm.com/idex/prebid/89899?resolve=uid2`);
309
+ request.respond(
310
+ 200,
311
+ responseHeader,
312
+ JSON.stringify({})
313
+ );
314
+ expect(callBackSpy.calledOnce).to.be.true;
315
+ });
262
316
  });
@@ -70,7 +70,6 @@ describe('LotameId', function() {
70
70
 
71
71
  it('should call the remote server when getId is called', function () {
72
72
  expect(request.url).to.be.eq('https://id.crwdcntrl.net/id');
73
-
74
73
  expect(callBackSpy.calledOnce).to.be.true;
75
74
  });
76
75