prebid.js 6.3.0 → 6.7.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 (157) hide show
  1. package/.circleci/config.yml +1 -1
  2. package/gulpfile.js +87 -74
  3. package/integrationExamples/gpt/amp/creative.html +11 -33
  4. package/karma.conf.maker.js +1 -1
  5. package/modules/.submodules.json +2 -1
  6. package/modules/adbookpspBidAdapter.js +27 -10
  7. package/modules/adhashBidAdapter.js +3 -3
  8. package/modules/adkernelBidAdapter.js +148 -62
  9. package/modules/adlooxAdServerVideo.js +2 -2
  10. package/modules/adlooxAnalyticsAdapter.js +4 -4
  11. package/modules/admanBidAdapter.js +10 -4
  12. package/modules/adomikAnalyticsAdapter.js +27 -9
  13. package/modules/adqueryIdSystem.js +103 -0
  14. package/modules/adqueryIdSystem.md +35 -0
  15. package/modules/adyoulikeBidAdapter.js +13 -9
  16. package/modules/aniviewBidAdapter.js +1 -1
  17. package/modules/beopBidAdapter.js +1 -1
  18. package/modules/bidViewability.js +3 -3
  19. package/modules/bidViewabilityIO.js +3 -3
  20. package/modules/bliinkBidAdapter.js +3 -2
  21. package/modules/colossussspBidAdapter.js +12 -8
  22. package/modules/colossussspBidAdapter.md +15 -1
  23. package/modules/compassBidAdapter.js +208 -0
  24. package/modules/compassBidAdapter.md +79 -0
  25. package/modules/consentManagement.js +7 -1
  26. package/modules/consumableBidAdapter.md +1 -1
  27. package/modules/criteoBidAdapter.js +1 -1
  28. package/modules/criteoIdSystem.js +29 -7
  29. package/modules/currency.js +2 -2
  30. package/modules/dailyhuntBidAdapter.js +435 -0
  31. package/modules/dailyhuntBidAdapter.md +4 -0
  32. package/modules/docereeBidAdapter.js +10 -1
  33. package/modules/docereeBidAdapter.md +2 -0
  34. package/modules/engageyaBidAdapter.js +1 -1
  35. package/modules/feedadBidAdapter.js +2 -2
  36. package/modules/feedadBidAdapter.md +4 -2
  37. package/modules/glimpseBidAdapter.js +66 -44
  38. package/modules/gnetBidAdapter.js +3 -3
  39. package/modules/gnetBidAdapter.md +4 -4
  40. package/modules/gptPreAuction.js +55 -7
  41. package/modules/gridBidAdapter.js +4 -3
  42. package/modules/gumgumBidAdapter.js +4 -4
  43. package/modules/idImportLibrary.js +45 -8
  44. package/modules/idImportLibrary.md +4 -0
  45. package/modules/improvedigitalBidAdapter.js +42 -4
  46. package/modules/instreamTracking.js +4 -4
  47. package/modules/invibesBidAdapter.js +49 -5
  48. package/modules/invibesBidAdapter.md +2 -1
  49. package/modules/ixBidAdapter.js +53 -18
  50. package/modules/jwplayerRtdProvider.js +71 -6
  51. package/modules/jwplayerRtdProvider.md +27 -11
  52. package/modules/kargoBidAdapter.js +2 -2
  53. package/modules/limelightDigitalBidAdapter.js +2 -1
  54. package/modules/livewrappedAnalyticsAdapter.js +3 -1
  55. package/modules/livewrappedBidAdapter.js +8 -2
  56. package/modules/loglyliftBidAdapter.js +79 -0
  57. package/modules/loglyliftBidAdapter.md +55 -0
  58. package/modules/nextMillenniumBidAdapter.js +11 -7
  59. package/modules/oguryBidAdapter.js +9 -2
  60. package/modules/onetagBidAdapter.js +4 -2
  61. package/modules/optimeraRtdProvider.js +8 -1
  62. package/modules/ozoneBidAdapter.js +21 -64
  63. package/modules/pilotxBidAdapter.js +147 -0
  64. package/modules/pilotxBidAdapter.md +50 -0
  65. package/modules/proxistoreBidAdapter.js +0 -2
  66. package/modules/pubgeniusBidAdapter.js +1 -1
  67. package/modules/pubmaticAnalyticsAdapter.js +16 -0
  68. package/modules/pubxaiAnalyticsAdapter.js +17 -0
  69. package/modules/richaudienceBidAdapter.js +3 -2
  70. package/modules/riseBidAdapter.js +1 -1
  71. package/modules/rtbhouseBidAdapter.js +14 -4
  72. package/modules/rtdModule/index.js +14 -15
  73. package/modules/rubiconAnalyticsAdapter.js +3 -2
  74. package/modules/rubiconBidAdapter.js +21 -11
  75. package/modules/seedingAllianceBidAdapter.js +3 -3
  76. package/modules/sharethroughBidAdapter.js +12 -17
  77. package/modules/showheroes-bsBidAdapter.js +13 -2
  78. package/modules/synacormediaBidAdapter.js +31 -10
  79. package/modules/tappxBidAdapter.js +8 -5
  80. package/modules/teadsBidAdapter.js +1 -2
  81. package/modules/telariaBidAdapter.js +2 -2
  82. package/modules/trustxBidAdapter.js +8 -16
  83. package/modules/userId/eids.js +7 -1
  84. package/modules/userId/userId.md +8 -0
  85. package/modules/viewability.js +177 -0
  86. package/modules/viewability.md +87 -0
  87. package/modules/welectBidAdapter.js +106 -0
  88. package/modules/yieldmoBidAdapter.js +23 -5
  89. package/modules/zeta_global_sspAnalyticsAdapter.js +97 -0
  90. package/modules/zeta_global_sspAnalyticsAdapter.md +24 -0
  91. package/package.json +1 -1
  92. package/src/auction.js +2 -2
  93. package/src/config.js +27 -3
  94. package/src/hook.js +5 -1
  95. package/src/prebid.js +20 -4
  96. package/src/secureCreatives.js +3 -2
  97. package/src/utils.js +12 -1
  98. package/test/helpers/prebidGlobal.js +1 -0
  99. package/test/spec/config_spec.js +279 -0
  100. package/test/spec/modules/adbookpspBidAdapter_spec.js +17 -3
  101. package/test/spec/modules/adhashBidAdapter_spec.js +2 -2
  102. package/test/spec/modules/adlooxAnalyticsAdapter_spec.js +6 -6
  103. package/test/spec/modules/admanBidAdapter_spec.js +2 -2
  104. package/test/spec/modules/adomikAnalyticsAdapter_spec.js +9 -1
  105. package/test/spec/modules/adqueryIdSystem_spec.js +74 -0
  106. package/test/spec/modules/adyoulikeBidAdapter_spec.js +49 -0
  107. package/test/spec/modules/beopBidAdapter_spec.js +1 -1
  108. package/test/spec/modules/bidViewabilityIO_spec.js +2 -2
  109. package/test/spec/modules/bidViewability_spec.js +4 -4
  110. package/test/spec/modules/bliinkBidAdapter_spec.js +2 -0
  111. package/test/spec/modules/colossussspBidAdapter_spec.js +5 -2
  112. package/test/spec/modules/compassBidAdapter_spec.js +398 -0
  113. package/test/spec/modules/consentManagement_spec.js +20 -0
  114. package/test/spec/modules/criteoIdSystem_spec.js +6 -3
  115. package/test/spec/modules/dailyhuntBidAdapter_spec.js +404 -0
  116. package/test/spec/modules/docereeBidAdapter_spec.js +9 -1
  117. package/test/spec/modules/eids_spec.js +15 -0
  118. package/test/spec/modules/feedadBidAdapter_spec.js +15 -0
  119. package/test/spec/modules/glimpseBidAdapter_spec.js +0 -18
  120. package/test/spec/modules/gnetBidAdapter_spec.js +6 -6
  121. package/test/spec/modules/gptPreAuction_spec.js +177 -2
  122. package/test/spec/modules/idImportLibrary_spec.js +197 -10
  123. package/test/spec/modules/improvedigitalBidAdapter_spec.js +45 -1
  124. package/test/spec/modules/invibesBidAdapter_spec.js +119 -0
  125. package/test/spec/modules/ixBidAdapter_spec.js +112 -62
  126. package/test/spec/modules/jwplayerRtdProvider_spec.js +195 -2
  127. package/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  128. package/test/spec/modules/limelightDigitalBidAdapter_spec.js +75 -17
  129. package/test/spec/modules/livewrappedAnalyticsAdapter_spec.js +22 -0
  130. package/test/spec/modules/livewrappedBidAdapter_spec.js +31 -0
  131. package/test/spec/modules/loglyliftBidAdapter_spec.js +172 -0
  132. package/test/spec/modules/nextMillenniumBidAdapter_spec.js +9 -2
  133. package/test/spec/modules/oguryBidAdapter_spec.js +10 -2
  134. package/test/spec/modules/optimeraRtdProvider_spec.js +14 -1
  135. package/test/spec/modules/ozoneBidAdapter_spec.js +43 -31
  136. package/test/spec/modules/pilotxBidAdapter_spec.js +244 -0
  137. package/test/spec/modules/pubgeniusBidAdapter_spec.js +3 -3
  138. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +13 -1
  139. package/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +11 -0
  140. package/test/spec/modules/realTimeDataModule_spec.js +67 -5
  141. package/test/spec/modules/richaudienceBidAdapter_spec.js +40 -0
  142. package/test/spec/modules/riseBidAdapter_spec.js +1 -1
  143. package/test/spec/modules/rtbhouseBidAdapter_spec.js +20 -0
  144. package/test/spec/modules/rubiconAnalyticsAdapter_spec.js +30 -0
  145. package/test/spec/modules/rubiconBidAdapter_spec.js +48 -9
  146. package/test/spec/modules/sharethroughBidAdapter_spec.js +91 -6
  147. package/test/spec/modules/showheroes-bsBidAdapter_spec.js +2 -0
  148. package/test/spec/modules/synacormediaBidAdapter_spec.js +70 -0
  149. package/test/spec/modules/tappxBidAdapter_spec.js +0 -19
  150. package/test/spec/modules/teadsBidAdapter_spec.js +14 -59
  151. package/test/spec/modules/userId_spec.js +68 -19
  152. package/test/spec/modules/viewability_spec.js +280 -0
  153. package/test/spec/modules/welectBidAdapter_spec.js +211 -0
  154. package/test/spec/modules/zeta_global_sspAnalyticsAdapter_spec.js +427 -0
  155. package/test/spec/unit/pbjs_api_spec.js +3 -1
  156. package/test/test_deps.js +3 -0
  157. package/test/test_index.js +1 -3
@@ -0,0 +1,404 @@
1
+ import { expect } from 'chai';
2
+ import { spec } from 'modules/dailyhuntBidAdapter.js';
3
+
4
+ const PROD_PREBID_ENDPOINT_URL = 'https://pbs.dailyhunt.in/openrtb2/auction?partner=dailyhunt';
5
+ const PROD_PREBID_TEST_ENDPOINT_URL = 'https://qa-pbs-van.dailyhunt.in/openrtb2/auction?partner=dailyhunt';
6
+
7
+ const _encodeURIComponent = function (a) {
8
+ if (!a) { return }
9
+ let b = window.encodeURIComponent(a);
10
+ b = b.replace(/'/g, '%27');
11
+ return b;
12
+ }
13
+
14
+ describe('DailyhuntAdapter', function () {
15
+ describe('isBidRequestValid', function () {
16
+ let bid = {
17
+ 'bidder': 'dailyhunt',
18
+ 'params': {
19
+ placement_id: 1,
20
+ publisher_id: 1,
21
+ partner_name: 'dailyhunt'
22
+ }
23
+ };
24
+
25
+ it('should return true when required params found', function () {
26
+ expect(spec.isBidRequestValid(bid)).to.equal(true);
27
+ });
28
+
29
+ it('should return false when required params are not passed', function () {
30
+ let bid = Object.assign({}, bid);
31
+ delete bid.params;
32
+ bid.params = {};
33
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
34
+ });
35
+ });
36
+ describe('buildRequests', function() {
37
+ let bidRequests = [
38
+ {
39
+ bidder: 'dailyhunt',
40
+ params: {
41
+ placement_id: 1,
42
+ publisher_id: 1,
43
+ partner_name: 'dailyhunt',
44
+ bidfloor: 0.1,
45
+ device: {
46
+ ip: '47.9.247.217'
47
+ },
48
+ site: {
49
+ cat: ['1', '2', '3']
50
+ }
51
+ },
52
+ mediaTypes: {
53
+ banner: {
54
+ sizes: [[300, 250]]
55
+ }
56
+ },
57
+ adUnitCode: 'adunit-code',
58
+ sizes: [[300, 50]],
59
+ bidId: '30b31c1838de1e',
60
+ bidderRequestId: '22edbae2733bf6',
61
+ auctionId: '1d1a030790a475',
62
+ transactionId: '04f2659e-c005-4eb1-a57c-fa93145e3843'
63
+ }
64
+ ];
65
+ let nativeBidRequests = [
66
+ {
67
+ bidder: 'dailyhunt',
68
+ params: {
69
+ placement_id: 1,
70
+ publisher_id: 1,
71
+ partner_name: 'dailyhunt',
72
+ },
73
+ nativeParams: {
74
+ title: {
75
+ required: true,
76
+ len: 80
77
+ },
78
+ image: {
79
+ required: true,
80
+ sizes: [150, 50]
81
+ },
82
+ },
83
+ mediaTypes: {
84
+ native: {
85
+ title: {
86
+ required: true
87
+ },
88
+ }
89
+ },
90
+ adUnitCode: 'adunit-code',
91
+ sizes: [[300, 250], [300, 50]],
92
+ bidId: '30b31c1838de1e',
93
+ bidderRequestId: '22edbae2733bf6',
94
+ auctionId: '1d1a030790a475',
95
+ transactionId: '04f2659e-c005-4eb1-a57c-fa93145e3843'
96
+ }
97
+ ];
98
+ let videoBidRequests = [
99
+ {
100
+ bidder: 'dailyhunt',
101
+ params: {
102
+ placement_id: 1,
103
+ publisher_id: 1,
104
+ partner_name: 'dailyhunt'
105
+ },
106
+ nativeParams: {
107
+ video: {
108
+ context: 'instream'
109
+ }
110
+ },
111
+ mediaTypes: {
112
+ video: {
113
+ context: 'instream'
114
+ }
115
+ },
116
+ adUnitCode: 'adunit-code',
117
+ sizes: [[300, 250], [300, 50]],
118
+ bidId: '30b31c1838de1e',
119
+ bidderRequestId: '22edbae2733bf6',
120
+ auctionId: '1d1a030790a475',
121
+ transactionId: '04f2659e-c005-4eb1-a57c-fa93145e3843'
122
+ }
123
+ ];
124
+ let bidderRequest = {
125
+ 'bidderRequestId': '22edbae2733bf6',
126
+ 'auctionId': '1d1a030790a475',
127
+ 'bidderCode': 'dailyhunt',
128
+ 'bids': [
129
+ {
130
+ ...bidRequests[0]
131
+ }
132
+ ],
133
+ 'refererInfo': {
134
+ 'referer': 'http://m.dailyhunt.in/'
135
+ }
136
+ };
137
+ let nativeBidderRequest = {
138
+ 'bidderRequestId': '22edbae2733bf6',
139
+ 'auctionId': '1d1a030790a475',
140
+ 'bidderCode': 'dailyhunt',
141
+ 'bids': [
142
+ {
143
+ ...nativeBidRequests[0]
144
+ }
145
+ ],
146
+ 'refererInfo': {
147
+ 'referer': 'http://m.dailyhunt.in/'
148
+ }
149
+ };
150
+ let videoBidderRequest = {
151
+ 'bidderRequestId': '22edbae2733bf6',
152
+ 'auctionId': '1d1a030790a475',
153
+ 'bidderCode': 'dailyhunt',
154
+ 'bids': [
155
+ {
156
+ ...videoBidRequests[0]
157
+ }
158
+ ],
159
+ 'refererInfo': {
160
+ 'referer': 'http://m.dailyhunt.in/'
161
+ }
162
+ };
163
+
164
+ it('sends display bid request to ENDPOINT via POST', function () {
165
+ const request = spec.buildRequests(bidRequests, bidderRequest)[0];
166
+ expect(request.url).to.equal(PROD_PREBID_ENDPOINT_URL);
167
+ expect(request.method).to.equal('POST');
168
+ });
169
+
170
+ it('sends native bid request to ENDPOINT via POST', function () {
171
+ const request = spec.buildRequests(nativeBidRequests, nativeBidderRequest)[0];
172
+ expect(request.url).to.equal(PROD_PREBID_ENDPOINT_URL);
173
+ expect(request.method).to.equal('POST');
174
+ });
175
+
176
+ it('sends video bid request to ENDPOINT via POST', function () {
177
+ const request = spec.buildRequests(videoBidRequests, videoBidderRequest)[0];
178
+ expect(request.url).to.equal(PROD_PREBID_ENDPOINT_URL);
179
+ expect(request.method).to.equal('POST');
180
+ });
181
+ });
182
+ describe('interpretResponse', function () {
183
+ let bidResponses = {
184
+ id: 'da32def7-6779-403c-ada7-0b201dbc9744',
185
+ seatbid: [
186
+ {
187
+ bid: [
188
+ {
189
+ id: 'id1',
190
+ impid: 'banner-impid',
191
+ price: 1.4,
192
+ adm: 'adm',
193
+ adid: '66658',
194
+ crid: 'asd5ddbf014cac993.66466212',
195
+ dealid: 'asd5ddbf014cac993.66466212',
196
+ w: 300,
197
+ h: 250,
198
+ nurl: 'winUrl',
199
+ ext: {
200
+ prebid: {
201
+ type: 'banner'
202
+ }
203
+ }
204
+ },
205
+ {
206
+ id: '5caccc1f-94a6-4230-a1f9-6186ee65da99',
207
+ impid: 'video-impid',
208
+ price: 1.4,
209
+ nurl: 'winUrl',
210
+ adm: 'adm',
211
+ adid: '980',
212
+ crid: '2394',
213
+ w: 300,
214
+ h: 250,
215
+ ext: {
216
+ prebid: {
217
+ 'type': 'video'
218
+ },
219
+ bidder: {
220
+ cacheKey: 'cache_key',
221
+ vastUrl: 'vastUrl'
222
+ }
223
+ }
224
+ },
225
+ {
226
+ id: '74973faf-cce7-4eff-abd0-b59b8e91ca87',
227
+ impid: 'native-impid',
228
+ price: 50,
229
+ nurl: 'winUrl',
230
+ adm: '{"native":{"link":{"url":"url","clicktrackers":[]},"assets":[{"id":1,"required":1,"img":{},"video":{},"data":{},"title":{"text":"TITLE"},"link":{}},{"id":1,"required":1,"img":{},"video":{},"data":{"type":2,"value":"Lorem Ipsum Lorem Ipsum Lorem Ipsum."},"title":{},"link":{}},{"id":1,"required":1,"img":{},"video":{},"data":{"type":12,"value":"Install Here"},"title":{},"link":{}},{"id":1,"required":1,"img":{"type":3,"url":"urk","w":990,"h":505},"video":{},"data":{},"title":{},"link":{}}],"imptrackers":[]}}',
231
+ adid: '968',
232
+ crid: '2370',
233
+ w: 300,
234
+ h: 250,
235
+ ext: {
236
+ prebid: {
237
+ type: 'native'
238
+ },
239
+ bidder: null
240
+ }
241
+ },
242
+ {
243
+ id: '5caccc1f-94a6-4230-a1f9-6186ee65da99',
244
+ impid: 'video-outstream-impid',
245
+ price: 1.4,
246
+ nurl: 'winUrl',
247
+ adm: 'adm',
248
+ adid: '980',
249
+ crid: '2394',
250
+ w: 300,
251
+ h: 250,
252
+ ext: {
253
+ prebid: {
254
+ 'type': 'video'
255
+ },
256
+ bidder: {
257
+ cacheKey: 'cache_key',
258
+ vastUrl: 'vastUrl'
259
+ }
260
+ }
261
+ },
262
+ ],
263
+ seat: 'dailyhunt'
264
+ }
265
+ ],
266
+ ext: {
267
+ responsetimemillis: {
268
+ dailyhunt: 119
269
+ }
270
+ }
271
+ };
272
+
273
+ it('should get correct bid response', function () {
274
+ let expectedResponse = [
275
+ {
276
+ requestId: '1',
277
+ cpm: 1.4,
278
+ creativeId: 'asd5ddbf014cac993.66466212',
279
+ width: 300,
280
+ height: 250,
281
+ ttl: 360,
282
+ netRevenue: true,
283
+ currency: 'USD',
284
+ ad: 'adm',
285
+ mediaType: 'banner',
286
+ winUrl: 'winUrl',
287
+ adomain: 'dailyhunt'
288
+ },
289
+ {
290
+ requestId: '2',
291
+ cpm: 1.4,
292
+ creativeId: '2394',
293
+ width: 300,
294
+ height: 250,
295
+ ttl: 360,
296
+ netRevenue: true,
297
+ currency: 'USD',
298
+ mediaType: 'video',
299
+ winUrl: 'winUrl',
300
+ adomain: 'dailyhunt',
301
+ videoCacheKey: 'cache_key',
302
+ vastUrl: 'vastUrl',
303
+ },
304
+ {
305
+ requestId: '3',
306
+ cpm: 1.4,
307
+ creativeId: '2370',
308
+ width: 300,
309
+ height: 250,
310
+ ttl: 360,
311
+ netRevenue: true,
312
+ currency: 'USD',
313
+ mediaType: 'native',
314
+ winUrl: 'winUrl',
315
+ adomain: 'dailyhunt',
316
+ native: {
317
+ clickUrl: 'https%3A%2F%2Fmontu1996.github.io%2F',
318
+ clickTrackers: [],
319
+ impressionTrackers: [],
320
+ javascriptTrackers: [],
321
+ title: 'TITLE',
322
+ body: 'Lorem Ipsum Lorem Ipsum Lorem Ipsum.',
323
+ cta: 'Install Here',
324
+ image: {
325
+ url: 'url',
326
+ height: 505,
327
+ width: 990
328
+ }
329
+ }
330
+ },
331
+ {
332
+ requestId: '4',
333
+ cpm: 1.4,
334
+ creativeId: '2394',
335
+ width: 300,
336
+ height: 250,
337
+ ttl: 360,
338
+ netRevenue: true,
339
+ currency: 'USD',
340
+ mediaType: 'video',
341
+ winUrl: 'winUrl',
342
+ adomain: 'dailyhunt',
343
+ vastXml: 'adm',
344
+ },
345
+ ];
346
+ let bidderRequest = {
347
+ bids: [
348
+ {
349
+ bidId: 'banner-impid',
350
+ adUnitCode: 'code1',
351
+ requestId: '1'
352
+ },
353
+ {
354
+ bidId: 'video-impid',
355
+ adUnitCode: 'code2',
356
+ requestId: '2',
357
+ mediaTypes: {
358
+ video: {
359
+ context: 'instream'
360
+ }
361
+ }
362
+ },
363
+ {
364
+ bidId: 'native-impid',
365
+ adUnitCode: 'code3',
366
+ requestId: '3'
367
+ },
368
+ {
369
+ bidId: 'video-outstream-impid',
370
+ adUnitCode: 'code4',
371
+ requestId: '4',
372
+ mediaTypes: {
373
+ video: {
374
+ context: 'outstream'
375
+ }
376
+ }
377
+ },
378
+ ]
379
+ }
380
+ let result = spec.interpretResponse({ body: bidResponses }, bidderRequest);
381
+ result.forEach((r, i) => {
382
+ expect(Object.keys(r)).to.have.members(Object.keys(expectedResponse[i]));
383
+ });
384
+ });
385
+ })
386
+ describe('onBidWon', function () {
387
+ it('should hit win url when bid won', function () {
388
+ let bid = {
389
+ requestId: '1',
390
+ cpm: 1.4,
391
+ creativeId: 'asd5ddbf014cac993.66466212',
392
+ width: 300,
393
+ height: 250,
394
+ ttl: 360,
395
+ netRevenue: true,
396
+ currency: 'USD',
397
+ ad: 'adm',
398
+ mediaType: 'banner',
399
+ winUrl: 'winUrl'
400
+ };
401
+ expect(spec.onBidWon(bid)).to.equal(undefined);
402
+ });
403
+ })
404
+ })
@@ -31,6 +31,8 @@ describe('BidlabBidAdapter', function () {
31
31
  bidder: 'doceree',
32
32
  params: {
33
33
  placementId: 'DOC_7jm9j5eqkl0xvc5w',
34
+ gdpr: '1',
35
+ gdprConsent: 'CPQfU1jPQfU1jG0AAAENAwCAAAAAAAAAAAAAAAAAAAAA.IGLtV_T9fb2vj-_Z99_tkeYwf95y3p-wzhheMs-8NyZeH_B4Wv2MyvBX4JiQKGRgksjLBAQdtHGlcTQgBwIlViTLMYk2MjzNKJrJEilsbO2dYGD9Pn8HT3ZCY70-vv__7v3ff_3g'
34
36
  }
35
37
  };
36
38
 
@@ -44,6 +46,12 @@ describe('BidlabBidAdapter', function () {
44
46
  });
45
47
  });
46
48
 
49
+ describe('isGdprConsentPresent', function () {
50
+ it('Should return true if gdpr consent is present', function () {
51
+ expect(spec.isGdprConsentPresent(bid)).to.be.true;
52
+ });
53
+ });
54
+
47
55
  describe('buildRequests', function () {
48
56
  let serverRequest = spec.buildRequests([bid]);
49
57
  serverRequest = serverRequest[0]
@@ -56,7 +64,7 @@ describe('BidlabBidAdapter', function () {
56
64
  expect(serverRequest.method).to.equal('GET');
57
65
  });
58
66
  it('Returns valid URL', function () {
59
- expect(serverRequest.url).to.equal('https://bidder.doceree.com/v1/adrequest?id=DOC_7jm9j5eqkl0xvc5w&pubRequestedURL=undefined&loggedInUser=JTdCJTIyZ2VuZGVyJTIyJTNBJTIyJTIyJTJDJTIyZW1haWwlMjIlM0ElMjIlMjIlMkMlMjJoYXNoZWRFbWFpbCUyMiUzQSUyMiUyMiUyQyUyMmZpcnN0TmFtZSUyMiUzQSUyMiUyMiUyQyUyMmxhc3ROYW1lJTIyJTNBJTIyJTIyJTJDJTIybnBpJTIyJTNBJTIyJTIyJTJDJTIyaGFzaGVkTlBJJTIyJTNBJTIyJTIyJTJDJTIyY2l0eSUyMiUzQSUyMiUyMiUyQyUyMnppcENvZGUlMjIlM0ElMjIlMjIlMkMlMjJzcGVjaWFsaXphdGlvbiUyMiUzQSUyMiUyMiU3RA%3D%3D&prebidjs=true&requestId=testing&');
67
+ expect(serverRequest.url).to.equal('https://bidder.doceree.com/v1/adrequest?id=DOC_7jm9j5eqkl0xvc5w&pubRequestedURL=undefined&loggedInUser=JTdCJTIyZ2VuZGVyJTIyJTNBJTIyJTIyJTJDJTIyZW1haWwlMjIlM0ElMjIlMjIlMkMlMjJoYXNoZWRFbWFpbCUyMiUzQSUyMiUyMiUyQyUyMmZpcnN0TmFtZSUyMiUzQSUyMiUyMiUyQyUyMmxhc3ROYW1lJTIyJTNBJTIyJTIyJTJDJTIybnBpJTIyJTNBJTIyJTIyJTJDJTIyaGFzaGVkTlBJJTIyJTNBJTIyJTIyJTJDJTIyY2l0eSUyMiUzQSUyMiUyMiUyQyUyMnppcENvZGUlMjIlM0ElMjIlMjIlMkMlMjJzcGVjaWFsaXphdGlvbiUyMiUzQSUyMiUyMiU3RA%3D%3D&prebidjs=true&requestId=testing&gdpr=1&gdpr_consent=CPQfU1jPQfU1jG0AAAENAwCAAAAAAAAAAAAAAAAAAAAA.IGLtV_T9fb2vj-_Z99_tkeYwf95y3p-wzhheMs-8NyZeH_B4Wv2MyvBX4JiQKGRgksjLBAQdtHGlcTQgBwIlViTLMYk2MjzNKJrJEilsbO2dYGD9Pn8HT3ZCY70-vv__7v3ff_3g&');
60
68
  });
61
69
  });
62
70
  describe('interpretResponse', function () {
@@ -348,6 +348,21 @@ describe('eids array generation for known sub-modules', function() {
348
348
  }]
349
349
  });
350
350
  });
351
+
352
+ it('qid', function() {
353
+ const userId = {
354
+ qid: 'some-random-id-value'
355
+ };
356
+ const newEids = createEidsArray(userId);
357
+ expect(newEids.length).to.equal(1);
358
+ expect(newEids[0]).to.deep.equal({
359
+ source: 'adquery.io',
360
+ uids: [{
361
+ id: 'some-random-id-value',
362
+ atype: 1
363
+ }]
364
+ });
365
+ });
351
366
  });
352
367
  describe('Negative case', function() {
353
368
  it('eids array generation for UN-known sub-module', function() {
@@ -171,6 +171,21 @@ describe('FeedAdAdapter', function () {
171
171
  expect(result.data.bids).to.be.lengthOf(1);
172
172
  expect(result.data.bids[0]).to.deep.equal(bid);
173
173
  });
174
+ it('should pass through additional bid parameters', function () {
175
+ let bid = {
176
+ code: 'feedad',
177
+ mediaTypes: {
178
+ banner: {
179
+ sizes: [[320, 250]]
180
+ }
181
+ },
182
+ params: {clientToken: 'clientToken', placementId: 'placement-id', another: 'parameter', more: 'parameters'}
183
+ };
184
+ let result = spec.buildRequests([bid], bidderRequest);
185
+ expect(result.data.bids).to.be.lengthOf(1);
186
+ expect(result.data.bids[0].params.another).to.equal('parameter');
187
+ expect(result.data.bids[0].params.more).to.equal('parameters');
188
+ });
174
189
  it('should detect empty media types', function () {
175
190
  let bid = {
176
191
  code: 'feedad',
@@ -178,24 +178,6 @@ describe('GlimpseProtocolAdapter', () => {
178
178
  const bidRequests = [getBidRequest()]
179
179
  const bidderRequest = getBidderRequest()
180
180
 
181
- it('Adds a demo flag', () => {
182
- const request = spec.buildRequests(bidRequests, bidderRequest)
183
- const payload = JSON.parse(request.data)
184
- expect(payload.data.demo).to.be.false
185
- })
186
-
187
- it('Adds an account id', () => {
188
- const request = spec.buildRequests(bidRequests, bidderRequest)
189
- const payload = JSON.parse(request.data)
190
- expect(payload.data.account).to.equal(-1)
191
- })
192
-
193
- it('Adds a demand provider', () => {
194
- const request = spec.buildRequests(bidRequests, bidderRequest)
195
- const payload = JSON.parse(request.data)
196
- expect(payload.data.demand).to.equal('glimpse')
197
- })
198
-
199
181
  it('Adds GDPR consent', () => {
200
182
  const request = spec.buildRequests(bidRequests, bidderRequest)
201
183
  const payload = JSON.parse(request.data)
@@ -8,7 +8,7 @@ import {
8
8
  newBidder
9
9
  } from 'src/adapters/bidderFactory.js';
10
10
 
11
- const ENDPOINT = 'https://adserver.gnetproject.com/prebid.php';
11
+ const ENDPOINT = 'https://service.gnetrtb.com/api/adrequest';
12
12
 
13
13
  describe('gnetAdapter', function () {
14
14
  const adapter = newBidder(spec);
@@ -23,7 +23,7 @@ describe('gnetAdapter', function () {
23
23
  let bid = {
24
24
  bidder: 'gnet',
25
25
  params: {
26
- websiteId: '4'
26
+ websiteId: '1', adunitId: '1'
27
27
  }
28
28
  };
29
29
 
@@ -43,7 +43,7 @@ describe('gnetAdapter', function () {
43
43
  const bidRequests = [{
44
44
  bidder: 'gnet',
45
45
  params: {
46
- websiteId: '4'
46
+ websiteId: '1', adunitId: '1'
47
47
  },
48
48
  adUnitCode: '/150790500/4_ZONA_IAB_300x250_5',
49
49
  sizes: [
@@ -57,7 +57,7 @@ describe('gnetAdapter', function () {
57
57
 
58
58
  const bidderRequest = {
59
59
  refererInfo: {
60
- referer: 'https://gnetproject.com/'
60
+ referer: 'https://gnetrtb.com'
61
61
  }
62
62
  };
63
63
 
@@ -66,13 +66,13 @@ describe('gnetAdapter', function () {
66
66
  expect(requests[0].url).to.equal(ENDPOINT);
67
67
  expect(requests[0].method).to.equal('POST');
68
68
  expect(requests[0].data).to.equal(JSON.stringify({
69
- 'referer': 'https://gnetproject.com/',
69
+ 'referer': 'https://gnetrtb.com',
70
70
  'adUnitCode': '/150790500/4_ZONA_IAB_300x250_5',
71
71
  'bidId': '2a19afd5173318',
72
72
  'transactionId': '894bdff6-61ec-4bec-a5a9-f36a5bfccef5',
73
73
  'sizes': ['300x250'],
74
74
  'params': {
75
- 'websiteId': '4'
75
+ 'websiteId': '1', 'adunitId': '1'
76
76
  }
77
77
  }));
78
78
  });