prebid.js 7.49.0 → 7.51.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 (213) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/33acrossIdSystem.js +1 -1
  3. package/dist/adagioBidAdapter.js +1 -1
  4. package/dist/adbookpspBidAdapter.js +1 -1
  5. package/dist/adgenerationBidAdapter.js +1 -1
  6. package/dist/adhashBidAdapter.js +1 -1
  7. package/dist/adkernelBidAdapter.js +1 -1
  8. package/dist/admanBidAdapter.js +1 -1
  9. package/dist/adnuntiusBidAdapter.js +1 -1
  10. package/dist/adqueryBidAdapter.js +1 -1
  11. package/dist/adrelevantisBidAdapter.js +1 -1
  12. package/dist/adrinoBidAdapter.js +1 -1
  13. package/dist/adtelligentBidAdapter.js +1 -1
  14. package/dist/adtrgtmeBidAdapter.js +1 -1
  15. package/dist/adxcgBidAdapter.js +1 -1
  16. package/dist/adyoulikeBidAdapter.js +1 -1
  17. package/dist/ajaBidAdapter.js +1 -1
  18. package/dist/amxBidAdapter.js +1 -1
  19. package/dist/amxIdSystem.js +1 -1
  20. package/dist/appierAnalyticsAdapter.js +1 -1
  21. package/dist/appnexusBidAdapter.js +1 -1
  22. package/dist/asoBidAdapter.js +1 -1
  23. package/dist/axonixBidAdapter.js +1 -1
  24. package/dist/beopBidAdapter.js +1 -1
  25. package/dist/bidglassBidAdapter.js +1 -1
  26. package/dist/big-richmediaBidAdapter.js +1 -1
  27. package/dist/bridgewellBidAdapter.js +1 -1
  28. package/dist/brightMountainMediaBidAdapter.js +1 -1
  29. package/dist/carodaBidAdapter.js +1 -1
  30. package/dist/chtnwBidAdapter.js +1 -1
  31. package/dist/cleanioRtdProvider.js +1 -1
  32. package/dist/concertBidAdapter.js +1 -1
  33. package/dist/confiantRtdProvider.js +1 -1
  34. package/dist/connectadBidAdapter.js +1 -1
  35. package/dist/consumableBidAdapter.js +1 -1
  36. package/dist/conversantAnalyticsAdapter.js +1 -1
  37. package/dist/conversantBidAdapter.js +1 -1
  38. package/dist/craftBidAdapter.js +1 -1
  39. package/dist/criteoBidAdapter.js +1 -1
  40. package/dist/cwireBidAdapter.js +1 -1
  41. package/dist/dependencies.json +3 -0
  42. package/dist/dspxBidAdapter.js +1 -1
  43. package/dist/eplanningBidAdapter.js +1 -1
  44. package/dist/feedadBidAdapter.js +1 -1
  45. package/dist/finativeBidAdapter.js +1 -1
  46. package/dist/freewheel-sspBidAdapter.js +1 -1
  47. package/dist/glimpseBidAdapter.js +1 -1
  48. package/dist/gmosspBidAdapter.js +1 -1
  49. package/dist/goldbachBidAdapter.js +1 -1
  50. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  51. package/dist/greenbidsRtdProvider.js +1 -1
  52. package/dist/gridBidAdapter.js +1 -1
  53. package/dist/gumgumBidAdapter.js +1 -1
  54. package/dist/h12mediaBidAdapter.js +1 -1
  55. package/dist/id5IdSystem.js +1 -1
  56. package/dist/improvedigitalBidAdapter.js +1 -1
  57. package/dist/inmarBidAdapter.js +1 -1
  58. package/dist/insticatorBidAdapter.js +1 -1
  59. package/dist/ixBidAdapter.js +1 -1
  60. package/dist/justpremiumBidAdapter.js +1 -1
  61. package/dist/kargoBidAdapter.js +1 -1
  62. package/dist/konduitAnalyticsAdapter.js +1 -1
  63. package/dist/kueezBidAdapter.js +1 -1
  64. package/dist/kueezRtbBidAdapter.js +1 -1
  65. package/dist/kulturemediaBidAdapter.js +1 -1
  66. package/dist/lassoBidAdapter.js +1 -1
  67. package/dist/lifestreetBidAdapter.js +1 -1
  68. package/dist/liveIntentIdSystem.js +1 -1
  69. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  70. package/dist/logicadBidAdapter.js +1 -1
  71. package/dist/loglyliftBidAdapter.js +1 -1
  72. package/dist/magniteAnalyticsAdapter.js +1 -1
  73. package/dist/malltvAnalyticsAdapter.js +1 -1
  74. package/dist/marsmediaBidAdapter.js +1 -1
  75. package/dist/mediafuseBidAdapter.js +1 -1
  76. package/dist/mediasquareBidAdapter.js +1 -1
  77. package/dist/mgidBidAdapter.js +1 -1
  78. package/dist/minutemediaBidAdapter.js +1 -1
  79. package/dist/minutemediaplusBidAdapter.js +1 -1
  80. package/dist/nexx360BidAdapter.js +1 -1
  81. package/dist/not-for-prod/prebid.js +140 -139
  82. package/dist/oguryBidAdapter.js +1 -1
  83. package/dist/onetagBidAdapter.js +1 -1
  84. package/dist/ooloAnalyticsAdapter.js +1 -1
  85. package/dist/optidigitalBidAdapter.js +1 -1
  86. package/dist/outbrainBidAdapter.js +1 -1
  87. package/dist/parrableIdSystem.js +1 -1
  88. package/dist/permutiveRtdProvider.js +1 -1
  89. package/dist/pixfutureBidAdapter.js +1 -1
  90. package/dist/prebid-core.js +1 -1
  91. package/dist/prebidServerBidAdapter.js +1 -1
  92. package/dist/publinkIdSystem.js +1 -1
  93. package/dist/pubmaticBidAdapter.js +1 -1
  94. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  95. package/dist/pxyzBidAdapter.js +1 -1
  96. package/dist/quantcastBidAdapter.js +1 -1
  97. package/dist/readpeakBidAdapter.js +1 -1
  98. package/dist/relaidoBidAdapter.js +1 -1
  99. package/dist/retailspotBidAdapter.js +1 -1
  100. package/dist/rhythmoneBidAdapter.js +1 -1
  101. package/dist/riseBidAdapter.js +1 -1
  102. package/dist/rubiconAnalyticsAdapter.js +1 -1
  103. package/dist/rubiconBidAdapter.js +1 -1
  104. package/dist/seedingAllianceBidAdapter.js +1 -1
  105. package/dist/seedtagBidAdapter.js +1 -1
  106. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  107. package/dist/sharethroughBidAdapter.js +1 -1
  108. package/dist/shinezBidAdapter.js +1 -1
  109. package/dist/silverpushBidAdapter.js +1 -0
  110. package/dist/smaatoBidAdapter.js +1 -1
  111. package/dist/smartadserverBidAdapter.js +1 -1
  112. package/dist/smartxBidAdapter.js +1 -1
  113. package/dist/smilewantedBidAdapter.js +1 -1
  114. package/dist/sonobiBidAdapter.js +1 -1
  115. package/dist/sovrnAnalyticsAdapter.js +1 -1
  116. package/dist/sovrnBidAdapter.js +1 -1
  117. package/dist/sspBCBidAdapter.js +1 -1
  118. package/dist/stvBidAdapter.js +1 -1
  119. package/dist/sublimeBidAdapter.js +1 -1
  120. package/dist/synacormediaBidAdapter.js +1 -1
  121. package/dist/targetVideoBidAdapter.js +1 -1
  122. package/dist/teadsBidAdapter.js +1 -1
  123. package/dist/trionBidAdapter.js +1 -1
  124. package/dist/tripleliftBidAdapter.js +1 -1
  125. package/dist/ttdBidAdapter.js +1 -1
  126. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  127. package/dist/uid2IdSystem.js +1 -1
  128. package/dist/underdogmediaBidAdapter.js +1 -1
  129. package/dist/undertoneBidAdapter.js +1 -1
  130. package/dist/vidazooBidAdapter.js +1 -1
  131. package/dist/video.js +1 -1
  132. package/dist/videoModule.js +1 -1
  133. package/dist/videobyteBidAdapter.js +1 -1
  134. package/dist/visxBidAdapter.js +1 -1
  135. package/dist/vuukleBidAdapter.js +1 -1
  136. package/dist/widespaceBidAdapter.js +1 -1
  137. package/dist/winrBidAdapter.js +1 -1
  138. package/dist/yahoosspBidAdapter.js +1 -1
  139. package/dist/yieldmoBidAdapter.js +1 -1
  140. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  141. package/integrationExamples/videoModule/eventsUI/eventsUI.css +205 -0
  142. package/integrationExamples/videoModule/eventsUI/eventsUI.js +181 -0
  143. package/integrationExamples/videoModule/jwplayer/eventsUI.html +295 -0
  144. package/integrationExamples/videoModule/videojs/eventsUI.html +319 -0
  145. package/libraries/video/shared/helpers.js +14 -0
  146. package/modules/33acrossBidAdapter.js +1 -1
  147. package/modules/adhashBidAdapter.js +28 -17
  148. package/modules/adkernelBidAdapter.js +2 -1
  149. package/modules/admanBidAdapter.js +30 -22
  150. package/modules/adnuntiusBidAdapter.js +98 -79
  151. package/modules/adnuntiusBidAdapter.md +2 -1
  152. package/modules/adqueryBidAdapter.js +7 -1
  153. package/modules/adrinoBidAdapter.js +1 -0
  154. package/modules/adtelligentBidAdapter.js +4 -2
  155. package/modules/appnexusBidAdapter.js +2 -0
  156. package/modules/beopBidAdapter.js +1 -0
  157. package/modules/cleanioRtdProvider.js +2 -4
  158. package/modules/confiantRtdProvider.js +15 -12
  159. package/modules/conversantAnalyticsAdapter.js +7 -5
  160. package/modules/conversantBidAdapter.js +1 -1
  161. package/modules/criteoBidAdapter.js +58 -4
  162. package/modules/freewheel-sspBidAdapter.js +10 -2
  163. package/modules/gridBidAdapter.js +3 -0
  164. package/modules/gumgumBidAdapter.js +5 -0
  165. package/modules/liveIntentIdSystem.js +8 -4
  166. package/modules/magniteAnalyticsAdapter.js +26 -3
  167. package/modules/minutemediaBidAdapter.js +13 -3
  168. package/modules/permutiveRtdProvider.js +9 -38
  169. package/modules/prebidServerBidAdapter/index.js +7 -8
  170. package/modules/pubmaticBidAdapter.js +1 -0
  171. package/modules/riseBidAdapter.js +13 -3
  172. package/modules/rtbhouseBidAdapter.md +24 -0
  173. package/modules/rubiconBidAdapter.js +6 -2
  174. package/modules/silverpushBidAdapter.js +326 -0
  175. package/modules/silverpushBidAdapter.md +107 -0
  176. package/modules/underdogmediaBidAdapter.js +2 -2
  177. package/modules/videoModule/adQueue.js +2 -2
  178. package/modules/videoModule/index.js +9 -5
  179. package/modules/yahoosspBidAdapter.js +6 -0
  180. package/modules/yahoosspBidAdapter.md +37 -0
  181. package/package.json +1 -1
  182. package/src/adloader.js +2 -1
  183. package/src/native.js +20 -4
  184. package/test/spec/modules/33acrossBidAdapter_spec.js +4 -3
  185. package/test/spec/modules/adhashBidAdapter_spec.js +51 -1
  186. package/test/spec/modules/admanBidAdapter_spec.js +1 -2
  187. package/test/spec/modules/adnuntiusBidAdapter_spec.js +535 -264
  188. package/test/spec/modules/adqueryBidAdapter_spec.js +9 -0
  189. package/test/spec/modules/adrinoBidAdapter_spec.js +4 -0
  190. package/test/spec/modules/adtelligentBidAdapter_spec.js +1 -0
  191. package/test/spec/modules/beopBidAdapter_spec.js +4 -0
  192. package/test/spec/modules/cleanioRtdProvider_spec.js +7 -8
  193. package/test/spec/modules/confiantRtdProvider_spec.js +4 -1
  194. package/test/spec/modules/conversantBidAdapter_spec.js +2 -1
  195. package/test/spec/modules/criteoBidAdapter_spec.js +159 -2
  196. package/test/spec/modules/freewheel-sspBidAdapter_spec.js +5 -2
  197. package/test/spec/modules/gridBidAdapter_spec.js +3 -0
  198. package/test/spec/modules/gumgumBidAdapter_spec.js +14 -0
  199. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +28 -0
  200. package/test/spec/modules/liveIntentIdSystem_spec.js +45 -0
  201. package/test/spec/modules/magniteAnalyticsAdapter_spec.js +16 -36
  202. package/test/spec/modules/mass_spec.js +2 -0
  203. package/test/spec/modules/minutemediaBidAdapter_spec.js +69 -1
  204. package/test/spec/modules/permutiveRtdProvider_spec.js +0 -20
  205. package/test/spec/modules/prebidServerBidAdapter_spec.js +3 -1
  206. package/test/spec/modules/pubmaticBidAdapter_spec.js +7 -0
  207. package/test/spec/modules/riseBidAdapter_spec.js +69 -1
  208. package/test/spec/modules/rubiconBidAdapter_spec.js +143 -67
  209. package/test/spec/modules/silverpushBidAdapter_spec.js +394 -0
  210. package/test/spec/modules/underdogmediaBidAdapter_spec.js +1 -1
  211. package/test/spec/modules/videoModule/shared/helpers_spec.js +22 -0
  212. package/test/spec/modules/yahoosspBidAdapter_spec.js +60 -1
  213. package/test/spec/native_spec.js +12 -12
@@ -1,12 +1,13 @@
1
1
  // import or require modules necessary for the test, e.g.:
2
- import { expect } from 'chai'; // may prefer 'assert' in place of 'expect'
3
- import { spec } from 'modules/adnuntiusBidAdapter.js';
4
- import { newBidder } from 'src/adapters/bidderFactory.js';
5
- import { config } from 'src/config.js';
2
+ import {expect} from 'chai'; // may prefer 'assert' in place of 'expect'
3
+ import {misc, spec} from 'modules/adnuntiusBidAdapter.js';
4
+ import {newBidder} from 'src/adapters/bidderFactory.js';
5
+ import {config} from 'src/config.js';
6
6
  import * as utils from 'src/utils.js';
7
- import { getStorageManager } from 'src/storageManager.js';
7
+ import {getStorageManager} from 'src/storageManager.js';
8
+ import {getGlobal} from '../../../src/prebidGlobal';
8
9
 
9
- describe('adnuntiusBidAdapter', function () {
10
+ describe('adnuntiusBidAdapter', function() {
10
11
  const URL = 'https://ads.adnuntius.delivery/i?tzo=';
11
12
  const EURO_URL = 'https://europe.delivery.adnuntius.com/i?tzo=';
12
13
  const GVLID = 855;
@@ -14,7 +15,7 @@ describe('adnuntiusBidAdapter', function () {
14
15
  const meta = [{ key: 'usi', value: usi }]
15
16
 
16
17
  before(() => {
17
- $$PREBID_GLOBAL$$.bidderSettings = {
18
+ getGlobal().bidderSettings = {
18
19
  adnuntius: {
19
20
  storageAllowed: true
20
21
  }
@@ -24,43 +25,58 @@ describe('adnuntiusBidAdapter', function () {
24
25
  });
25
26
 
26
27
  after(() => {
27
- $$PREBID_GLOBAL$$.bidderSettings = {};
28
+ getGlobal().bidderSettings = {};
28
29
  });
29
30
 
30
- afterEach(function () {
31
+ afterEach(function() {
31
32
  config.resetConfig();
32
33
  });
33
34
 
34
35
  const tzo = new Date().getTimezoneOffset();
35
- const ENDPOINT_URL = `${URL}${tzo}&format=json&userId=${usi}`;
36
- const ENDPOINT_URL_VIDEO = `${URL}${tzo}&format=json&userId=${usi}&tt=vast4`;
37
- const ENDPOINT_URL_NOCOOKIE = `${URL}${tzo}&format=json&userId=${usi}&noCookies=true`;
38
- const ENDPOINT_URL_SEGMENTS = `${URL}${tzo}&format=json&segments=segment1,segment2,segment3&userId=${usi}`;
36
+ const ENDPOINT_URL_BASE = `${URL}${tzo}&format=json`;
37
+ const ENDPOINT_URL = `${ENDPOINT_URL_BASE}&userId=${usi}`;
38
+ const ENDPOINT_URL_VIDEO = `${ENDPOINT_URL_BASE}&userId=${usi}&tt=vast4`;
39
+ const ENDPOINT_URL_NOCOOKIE = `${ENDPOINT_URL_BASE}&userId=${usi}&noCookies=true`;
40
+ const ENDPOINT_URL_SEGMENTS = `${ENDPOINT_URL_BASE}&segments=segment1,segment2,segment3&userId=${usi}`;
39
41
  const ENDPOINT_URL_CONSENT = `${EURO_URL}${tzo}&format=json&consentString=consentString&userId=${usi}`;
40
42
  const adapter = newBidder(spec);
41
43
 
42
44
  const bidderRequests = [
43
45
  {
44
- bidId: '123',
46
+ bidId: 'adn-000000000008b6bc',
45
47
  bidder: 'adnuntius',
46
48
  params: {
47
- auId: '8b6bc',
49
+ auId: '000000000008b6bc',
48
50
  network: 'adnuntius',
51
+ maxDeals: 1
49
52
  },
50
53
  mediaTypes: {
51
54
  banner: {
52
55
  sizes: [[640, 480], [600, 400]],
53
56
  }
54
57
  },
58
+ },
59
+ {
60
+ bidId: 'adn-0000000000000551',
61
+ bidder: 'adnuntius',
62
+ params: {
63
+ auId: '0000000000000551',
64
+ network: 'adnuntius',
65
+ },
66
+ mediaTypes: {
67
+ banner: {
68
+ sizes: [[1640, 1480], [1600, 1400]],
69
+ }
70
+ },
55
71
  }
56
72
  ]
57
73
 
58
74
  const videoBidderRequest = [
59
75
  {
60
- bidId: '123',
76
+ bidId: 'adn-0000000000000551',
61
77
  bidder: 'adnuntius',
62
78
  params: {
63
- auId: '8b6bc',
79
+ auId: '0000000000000551',
64
80
  network: 'adnuntius',
65
81
  },
66
82
  mediaTypes: {
@@ -72,264 +88,364 @@ describe('adnuntiusBidAdapter', function () {
72
88
  }
73
89
  ]
74
90
 
75
- // const nativeBidderRequest = [
76
- // {
77
- // bidId: '123',
78
- // bidder: 'adnuntius',
79
- // params: {
80
- // auId: '8b6bc',
81
- // network: 'adnuntius',
82
- // },
83
- // mediaTypes: {
84
- // native: {
85
- // title: {
86
- // required: true
87
- // },
88
- // image: {
89
- // required: true
90
- // },
91
- // body: {
92
- // required: true
93
- // }
94
- // }
95
- // },
96
- // }
97
- // ]
98
-
99
91
  const singleBidRequest = {
100
92
  bid: [
101
93
  {
102
- bidId: '123',
94
+ bidder: 'adnuntius',
95
+ bidId: 'adn-0000000000000551',
103
96
  }
104
97
  ]
105
98
  }
106
99
 
107
100
  const videoBidRequest = {
108
- bid: videoBidderRequest
101
+ bid: videoBidderRequest,
102
+ bidder: 'adnuntius'
109
103
  }
110
104
 
111
- // const nativeBidRequest = {
112
- // bid: nativeBidderRequest
113
- // }
114
-
115
105
  const serverResponse = {
116
106
  body: {
117
107
  'adUnits': [
118
108
  {
119
- 'auId': '000000000008b6bc',
120
- 'targetId': '123',
121
- 'html': '<h1>hi!</h1>',
109
+ 'auId': '0000000000000551',
110
+ 'targetId': 'adn-0000000000000551',
111
+ 'html': "<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"utf-8\">\n <style media=\"all\">\n html, body, .responseCtr {\n margin: 0;\n padding: 0;\n outline: 0;\n border: 0;\n overflow: hidden;\n }\n\n .responseCtr {\n display: inline-block;\n line-height: 0;\n vertical-align: top;\n }\n\n .responseCtr a {\n line-height: 0;\n }\n\n .responseCtr *, .responseCtr a * {\n line-height: normal;\n }\n\n .responseCtr .contentWrapperPerItem {\n margin: 0;\n padding: 0;\n outline: 0;\n border: 0;\n display: inline-block;\n line-height: 0;\n vertical-align: top;\n }\n\n a img {\n border: none;\n outline: none;\n }\n\n img {\n margin: 0;\n padding: 0;\n }\n\n /* need this displayNone class to ensure images are preloaded for smooth transition */\n img.displayNone {\n position: absolute;\n top: -99999px;\n left: -99999px;\n }\n\n .contentWrapperTrailer {\n clear: both;\n }\n </style>\n <script src=\"https://cdn.adnuntius.com/adn.js\"></script>\n</head>\n<body>\n<div id=\"adn-rsp--229633088\" class=\"responseCtr\">\n<div class=\"contentWrapperPerItem\" id=\"adn-id-1488629603\" data-line-item-id=\"cr3hnkkxhnkw9ldy\" data-creative-id=\"s90t0q03pm\" data-creative-width=\"100\" data-creative-height=\"30\" data-response-token=\"5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg\"><a rel=\"nofollow\" target=\"_top\" href=\"https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com\"><img src=\"https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png\" width=\"728\" height=\"90\" alt=\"\"/></a><div class=\"contentWrapperTrailer\"></div></div>\n</div><script>\n //<![CDATA[\n (function() {\n var impTrackers = [];impTrackers.push(\"https://ads.adnuntius.delivery/b/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html\");var body = document.getElementsByTagName(\"body\")[0];\n for (var i = 0; i < impTrackers.length; i++) {\n var impTracker = impTrackers[i];\n var ifr = document.createElement(\"iframe\");\n ifr.src = impTracker + (impTracker.match(/\\?/) ? '&' : '?') + 'cb=' + Math.random();\n ifr.setAttribute(\"scrolling\", \"no\");\n ifr.setAttribute(\"frameborder\", \"0\");\n ifr.setAttribute(\"width\", \"1\");\n ifr.setAttribute(\"height\", \"1\");\n ifr.setAttribute(\"style\", \"position:absolute;top:-10000px;left:-100000px;\");\n body.appendChild(ifr);\n }\n })();\n //]]>\n </script>\n \n<script>\n//<![CDATA[\n(function() {\n var matchedAdCount = 1;\n if (window.adn && adn.inIframe && adn.inIframe.processAdResponse) {\n return adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\n }\n window.adn = window.adn || {};\n adn.calls = adn.calls || [];\n adn.calls.push(function() {\n adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\n });\n})();\n//]]>\n</script></body>\n</html>",
122
112
  'matchedAdCount': 1,
123
- 'responseId': 'adn-rsp-1460129238',
113
+ 'responseId': 'adn-rsp--229633088',
114
+ 'deals': [
115
+ {
116
+ 'destinationUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com',
117
+ 'assets': {
118
+ 'Image': {
119
+ 'cdnId': 'https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png',
120
+ 'width': '640',
121
+ 'height': '480'
122
+ }
123
+ },
124
+ 'text': {},
125
+ 'choices': {},
126
+ 'clickUrl': 'https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',
127
+ 'urls': {
128
+ 'destination': 'https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com'
129
+ },
130
+ 'urlsEsc': {
131
+ 'destination': 'https%3A%2F%2Fads.adnuntius.delivery%2Fc%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com'
132
+ },
133
+ 'destinationUrls': {
134
+ 'destination': 'https://adnuntius.com'
135
+ },
136
+ 'cpm': {
137
+ 'amount': 9,
138
+ 'currency': 'USD'
139
+ },
140
+ 'bid': {
141
+ 'amount': 0.009,
142
+ 'currency': 'USD'
143
+ },
144
+ 'grossBid': {
145
+ 'amount': 0.009,
146
+ 'currency': 'USD'
147
+ },
148
+ 'netBid': {
149
+ 'amount': 0.0081,
150
+ 'currency': 'USD'
151
+ },
152
+ 'dealId': 'abc123xyz',
153
+ 'impressionTrackingUrls': [],
154
+ 'impressionTrackingUrlsEsc': [],
155
+ 'adId': 'adn-id-1064238860',
156
+ 'selectedColumn': '0',
157
+ 'selectedColumnPosition': '0',
158
+ 'renderedPixel': 'https://ads.adnuntius.delivery/b/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html',
159
+ 'renderedPixelEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fb%2FyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html',
160
+ 'visibleUrl': 'https://ads.adnuntius.delivery/s?rt=yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',
161
+ 'visibleUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fs%3Frt%3DyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',
162
+ 'viewUrl': 'https://ads.adnuntius.delivery/v?rt=yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',
163
+ 'viewUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fv%3Frt%3DyQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',
164
+ 'rt': 'yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg',
165
+ 'creativeWidth': '640',
166
+ 'creativeHeight': '480',
167
+ 'creativeId': 's90t0q03pm',
168
+ 'lineItemId': 'cr3hnkkxhnkw9ldy',
169
+ 'layoutId': 'buyers_network_image_layout_1',
170
+ 'layoutName': 'Image',
171
+ 'layoutExternalReference': '',
172
+ 'html': "<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"utf-8\">\n <style media=\"all\">\n html, body, .responseCtr {\n margin: 0;\n padding: 0;\n outline: 0;\n border: 0;\n overflow: hidden;\n }\n\n .responseCtr {\n display: inline-block;\n line-height: 0;\n vertical-align: top;\n }\n\n .responseCtr a {\n line-height: 0;\n }\n\n .responseCtr *, .responseCtr a * {\n line-height: normal;\n }\n\n .responseCtr .contentWrapperPerItem {\n margin: 0;\n padding: 0;\n outline: 0;\n border: 0;\n display: inline-block;\n line-height: 0;\n vertical-align: top;\n }\n\n a img {\n border: none;\n outline: none;\n }\n\n img {\n margin: 0;\n padding: 0;\n }\n\n /* need this displayNone class to ensure images are preloaded for smooth transition */\n img.displayNone {\n position: absolute;\n top: -99999px;\n left: -99999px;\n }\n\n .contentWrapperTrailer {\n clear: both;\n }\n </style>\n <script src=\"https://cdn.adnuntius.com/adn.js\"></script>\n</head>\n<body>\n<div id=\"adn-rsp--91674201\" class=\"responseCtr\">\n<div class=\"contentWrapperPerItem\" id=\"adn-id-1064238860\" data-line-item-id=\"cr3hnkkxhnkw9ldy\" data-creative-id=\"s90t0q03pm\" data-creative-width=\"100\" data-creative-height=\"30\" data-response-token=\"yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg\"><a rel=\"nofollow\" target=\"_top\" href=\"https://ads.adnuntius.delivery/c/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com\"><img src=\"https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png\" width=\"728\" height=\"90\" alt=\"\"/></a><div class=\"contentWrapperTrailer\"></div></div>\n</div><script>\n //<![CDATA[\n (function() {\n var impTrackers = [];impTrackers.push(\"https://ads.adnuntius.delivery/b/yQtMUwYBn5P4v72WJMqLW4z7uJOBFXJTfjoRyz0z_wsAAAAQCtjQz9kbGWD4nuZy3q6HaCYxq6Lckz2kThplNb227EJdQ5032jcIGkf-UrPmXCU2EbXVaQ3Ok6_FNLuIDTONJyx6ZZCB10wGqA3OaSe1EqwQp84u1_5iQZAWDk73UYf7_vcIypn7ev-SICZ3qaevb2jYSRqTVZx6AiBZQQGlzlOOrbZU9AU1F-JwTds-YV3qtJHGlxI2peWFIuxFlOYyeX9Kzg.html\");var body = document.getElementsByTagName(\"body\")[0];\n for (var i = 0; i < impTrackers.length; i++) {\n var impTracker = impTrackers[i];\n var ifr = document.createElement(\"iframe\");\n ifr.src = impTracker + (impTracker.match(/\\?/) ? '&' : '?') + 'cb=' + Math.random();\n ifr.setAttribute(\"scrolling\", \"no\");\n ifr.setAttribute(\"frameborder\", \"0\");\n ifr.setAttribute(\"width\", \"1\");\n ifr.setAttribute(\"height\", \"1\");\n ifr.setAttribute(\"style\", \"position:absolute;top:-10000px;left:-100000px;\");\n body.appendChild(ifr);\n }\n })();\n //]]>\n </script>\n \n<script>\n//<![CDATA[\n(function() {\n var matchedAdCount = 1;\n if (window.adn && adn.inIframe && adn.inIframe.processAdResponse) {\n return adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\n }\n window.adn = window.adn || {};\n adn.calls = adn.calls || [];\n adn.calls.push(function() {\n adn.inIframe.processAdResponse({ matchedAdCount: matchedAdCount });\n });\n})();\n//]]>\n</script></body>\n</html>",
173
+ 'renderTemplate': '<a rel="nofollow" target="_top" href="{{{urls.destination.url}}}"><img src="{{{assets.Image.cdnId}}}" width="{{assets.Image.width}}" height="{{assets.Image.height}}" alt=""/></a>'
174
+ }
175
+ ],
124
176
  'ads': [
125
177
  {
126
- 'destinationUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fc%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN%3Fct%3D2501%26r%3Dhttp%253A%252F%252Fgoogle.com',
178
+ 'destinationUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com',
127
179
  'assets': {
128
- 'image': {
129
- 'cdnId': 'https://assets.adnuntius.com/oEmZa5uYjxENfA1R692FVn6qIveFpO8wUbpyF2xSOCc.jpg',
130
- 'width': '980',
131
- 'height': '120'
180
+ 'Image': {
181
+ 'cdnId': 'https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png',
182
+ 'width': '640',
183
+ 'height': '480'
132
184
  }
133
185
  },
134
- 'clickUrl': 'https://delivery.adnuntius.com/c/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
186
+ 'dealId': 'not-in-deal-array-here',
187
+ 'text': {},
188
+ 'choices': {},
189
+ 'clickUrl': 'https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',
135
190
  'urls': {
136
- 'destination': 'https://delivery.adnuntius.com/c/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN?ct=2501&r=http%3A%2F%2Fgoogle.com'
191
+ 'destination': 'https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com'
137
192
  },
138
193
  'urlsEsc': {
139
- 'destination': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fc%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN%3Fct%3D2501%26r%3Dhttp%253A%252F%252Fgoogle.com'
194
+ 'destination': 'http%3A%2F%2Fads.adnuntius.delivery%2Fc%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg%3Fct%3D673%26r%3Dhttp%253A%252F%252Fadnuntius.com'
140
195
  },
141
196
  'destinationUrls': {
142
- 'destination': 'http://google.com'
197
+ 'destination': 'https://adnuntius.com'
198
+ },
199
+ 'cpm': {
200
+ 'amount': 9,
201
+ 'currency': 'USD'
202
+ },
203
+ 'bid': {
204
+ 'amount': 0.009,
205
+ 'currency': 'USD'
206
+ },
207
+ 'grossBid': {
208
+ 'amount': 0.009,
209
+ 'currency': 'USD'
210
+ },
211
+ 'netBid': {
212
+ 'amount': 0.0081,
213
+ 'currency': 'USD'
143
214
  },
144
- 'cpm': { 'amount': 5.0, 'currency': 'NOK' },
145
- 'bid': { 'amount': 0.005, 'currency': 'NOK' },
146
- 'cost': { 'amount': 0.005, 'currency': 'NOK' },
147
215
  'impressionTrackingUrls': [],
148
216
  'impressionTrackingUrlsEsc': [],
149
- 'adId': 'adn-id-1347343135',
217
+ 'adId': 'adn-id-1488629603',
150
218
  'selectedColumn': '0',
151
219
  'selectedColumnPosition': '0',
152
- 'renderedPixel': 'https://delivery.adnuntius.com/b/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN.html',
153
- 'renderedPixelEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fb%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN.html',
154
- 'visibleUrl': 'https://delivery.adnuntius.com/s?rt=52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
155
- 'visibleUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fs%3Frt%3D52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
156
- 'viewUrl': 'https://delivery.adnuntius.com/v?rt=52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
157
- 'viewUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fv%3Frt%3D52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
158
- 'rt': '52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
159
- 'creativeWidth': '980',
160
- 'creativeHeight': '120',
161
- 'creativeId': 'wgkq587vgtpchsx1',
162
- 'lineItemId': 'scyjdyv3mzgdsnpf',
163
- 'layoutId': 'sw6gtws2rdj1kwby',
164
- 'layoutName': 'Responsive image'
165
- },
166
-
220
+ 'renderedPixel': 'https://ads.adnuntius.delivery/b/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html',
221
+ 'renderedPixelEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fb%2F5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg.html',
222
+ 'visibleUrl': 'https://ads.adnuntius.delivery/s?rt=5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',
223
+ 'visibleUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fs%3Frt%3D5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',
224
+ 'viewUrl': 'https://ads.adnuntius.delivery/v?rt=5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',
225
+ 'viewUrlEsc': 'http%3A%2F%2Fads.adnuntius.delivery%2Fv%3Frt%3D5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',
226
+ 'rt': '5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg',
227
+ 'creativeWidth': '640',
228
+ 'creativeHeight': '480',
229
+ 'creativeId': 's90t0q03pm',
230
+ 'lineItemId': 'cr3hnkkxhnkw9ldy',
231
+ 'layoutId': 'buyers_network_image_layout_1',
232
+ 'layoutName': 'Image',
233
+ 'layoutExternalReference': '',
234
+ 'html': '<a rel="nofollow" target="_top" href="https://ads.adnuntius.delivery/c/5Mu-vFVsaf4dWWx8uyZoV7Mz0sPkF1_j9bSupMwX8dMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxqqTYxj2sS0FkMriztxcORshj3zRbT0KsV7XnDXE0F-OsHX7Ok6_FNLuIDTOMJyx6ZZCB10wGqA3OaSe1Eq9D85h8gP1gGsobC0KsAISm_PYNkJ6ve6qZLnB79fX6XHLYSRqTBM8sBCRXQAetnVzeo7AHoQhkFeouS444YA_q4JCTlRI2peWFIuxFlOYyeX9Kzg?ct=673&r=http%3A%2F%2Fadnuntius.com"><img src="https://cdn.adnuntius.com/cdn/iBgqruUNbaUb2hmD3vws7WTi84jg_WB_-VOF_FeOZ7A.png" width="728" height="90" alt=""/></a>',
235
+ 'renderTemplate': '<a rel="nofollow" target="_top" href="{{{urls.destination.url}}}"><img src="{{{assets.Image.cdnId}}}" width="{{assets.Image.width}}" height="{{assets.Image.height}}" alt=""/></a>'
236
+ }
167
237
  ]
168
238
  },
169
239
  {
170
240
  'auId': '000000000008b6bc',
171
- 'targetId': '456',
241
+ 'targetId': 'adn-000000000008b6bc',
172
242
  'matchedAdCount': 0,
173
243
  'responseId': 'adn-rsp-1460129238',
174
244
  }
175
- ]
245
+ ],
246
+ 'metaData': {
247
+ 'usi': 'from-api-server dude',
248
+ 'voidAuIds': '00000000000abcde;00000000000fffff',
249
+ 'randomApiKey': 'randomApiValue'
250
+ }
176
251
  }
177
252
  }
178
253
  const serverVideoResponse = {
179
254
  body: {
180
255
  'adUnits': [
181
256
  {
182
- 'auId': '000000000008b6bc',
183
- 'targetId': '123',
184
- 'html': '<h1>hi!</h1>',
257
+ 'auId': '0000000000000551',
258
+ 'targetId': 'adn-0000000000000551',
259
+ 'vastXml': '<VAST version=\\"3.0\\">\\n<Ad id=\\"adn-id-500662301\\">\\n <InLine>\\n <AdSystem>Adnuntius</AdSystem>\\n <AdTitle>adn-id-500662301</AdTitle>\\n <Impression></Impression>\\n <Creatives>\\n <Creative>\\n <Linear>\\n <Duration>00:00:15</Duration>\\n <TrackingEvents>\\n <Tracking event=\\"creativeView\\"><![CDATA[http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html]]></Tracking>\\n <Tracking event=\\"start\\"><![CDATA[http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\n <Tracking event=\\"firstQuartile\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n <Tracking event=\\"midpoint\\"><![CDATA[http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\\n <Tracking event=\\"thirdQuartile\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n <Tracking event=\\"complete\\"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\\n </TrackingEvents>\\n <VideoClicks>\\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\\n <ClickTracking><![CDATA[http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></ClickTracking>\\n </VideoClicks>\\n <MediaFiles>\\n <MediaFile delivery=\\"progressive\\" type=\\"video/mp4\\" bitrate=\\"92421\\" width=\\"1920\\" height=\\"1080\\" scalable=\\"true\\" maintainAspectRatio=\\"true\\">\\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\\n </MediaFile>\\n </MediaFiles>\\n </Linear>\\n </Creative>\\n </Creatives>\\n </InLine>\\n</Ad>\\n</VAST>',
185
260
  'matchedAdCount': 1,
186
- 'responseId': 'adn-rsp-1460129238',
261
+ 'responseId': '',
262
+ 'deals': [
263
+ {
264
+ 'destinationUrlEsc': '',
265
+ 'assets': {
266
+ 'Video': {
267
+ 'cdnId': 'http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4',
268
+ 'width': '1920',
269
+ 'height': '1080'
270
+ }
271
+ },
272
+ 'text': {
273
+ 'thirdQuartile': {
274
+ 'content': 'whatevs',
275
+ 'length': '7',
276
+ 'minLength': '1',
277
+ 'maxLength': '64'
278
+ },
279
+ 'complete': {
280
+ 'content': 'whatevs',
281
+ 'length': '7',
282
+ 'minLength': '1',
283
+ 'maxLength': '64'
284
+ },
285
+ 'firstQuartile': {
286
+ 'content': 'whatevs',
287
+ 'length': '7',
288
+ 'minLength': '1',
289
+ 'maxLength': '64'
290
+ }
291
+ },
292
+ 'choices': {},
293
+ 'clickUrl': 'http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',
294
+ 'urls': {
295
+ 'destinationUrl': 'http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg?ct=682&r=http%3A%2F%2Fadnuntius.com'
296
+ },
297
+ 'urlsEsc': {
298
+ 'destinationUrl': 'http%3A%2F%2Flocalhost%3A8078%2Fc%2F7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg%3Fct%3D682%26r%3Dhttp%253A%252F%252Fadnuntius.com'
299
+ },
300
+ 'destinationUrls': {
301
+ 'destinationUrl': 'http://adnuntius.com'
302
+ },
303
+ 'cpm': {
304
+ 'amount': 9,
305
+ 'currency': 'USD'
306
+ },
307
+ 'bid': {
308
+ 'amount': 0.009,
309
+ 'currency': 'USD'
310
+ },
311
+ 'grossBid': {
312
+ 'amount': 0.009,
313
+ 'currency': 'USD'
314
+ },
315
+ 'netBid': {
316
+ 'amount': 0.0081,
317
+ 'currency': 'USD'
318
+ },
319
+ 'dealId': 'abc123xyz',
320
+ 'impressionTrackingUrls': [],
321
+ 'impressionTrackingUrlsEsc': [],
322
+ 'adId': 'adn-id-1465065992',
323
+ 'selectedColumn': '0',
324
+ 'selectedColumnPosition': '0',
325
+ 'renderedPixel': 'http://localhost:8078/b/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html',
326
+ 'renderedPixelEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fb%2F7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html',
327
+ 'visibleUrl': 'http://localhost:8078/s?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',
328
+ 'visibleUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fs%3Frt%3D7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',
329
+ 'viewUrl': 'http://localhost:8078/v?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',
330
+ 'viewUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fv%3Frt%3D7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',
331
+ 'rt': '7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg',
332
+ 'creativeWidth': '640',
333
+ 'creativeHeight': '480',
334
+ 'creativeId': 'p6sqtvcgxczy258j',
335
+ 'lineItemId': 'cr3hnkkxhnkw9ldy',
336
+ 'layoutId': 'buyers_networkvast_single_format_layout',
337
+ 'layoutName': 'Vast (video upload)',
338
+ 'layoutExternalReference': '',
339
+ 'vastXml': '<VAST version="3.0">\n<Ad id="adn-id-1465065992">\n <InLine>\n <AdSystem>Adnuntius</AdSystem>\n <AdTitle>adn-id-1465065992</AdTitle>\n <Impression></Impression>\n <Creatives>\n <Creative>\n <Linear>\n <Duration>00:00:15</Duration>\n <TrackingEvents>\n <Tracking event="creativeView"><![CDATA[http://localhost:8078/b/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg.html]]></Tracking>\n <Tracking event="start"><![CDATA[http://localhost:8078/s?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></Tracking>\n <Tracking event="firstQuartile"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\n <Tracking event="midpoint"><![CDATA[http://localhost:8078/v?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></Tracking>\n <Tracking event="thirdQuartile"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\n <Tracking event="complete"><![CDATA[https://localhost:8078/u?rt=7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg&customType=whatevs]]></Tracking>\n </TrackingEvents>\n <VideoClicks>\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\n <ClickTracking><![CDATA[http://localhost:8078/c/7MRhdEcIndSrWxWhFtMVVnDULl8BOwEaV6vi9558AbYAAAAQCtjQz9kbGWD4nuZy3q6HaCYx_6vZlT33ShgzYb616hZZSpoy2jkAHkGrB-XmXyJmEOCSQ0PLk6_FNLuCBzONJyx6ZZCB10wGqA3OaSe1EqMWoJp41f83FcJLX0SpBoT1-qBbx5_8La-ULiAnqaGtMRDYSRqTBZh5DCANFQWnm1fa8rEE9VRgRORwTNxvZFjq5JCSkEQ2peWFIuxFlOYyeX9Kzg]]></ClickTracking>\n </VideoClicks>\n <MediaFiles>\n <MediaFile delivery="progressive" type="video/mp4" bitrate="92421" width="1920" height="1080" scalable="true" maintainAspectRatio="true">\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\n </MediaFile>\n </MediaFiles>\n </Linear>\n </Creative>\n </Creatives>\n </InLine>\n</Ad>\n</VAST>',
340
+ 'renderTemplate': '<Ad id="{{adId}}">\n <InLine>\n <AdSystem>Adnuntius</AdSystem>\n <AdTitle>{{{adId}}}</AdTitle>\n <Impression></Impression>\n <Creatives>\n <Creative>{{#ifEquals vastVersion "4.0"}}\n <UniversalAdId idRegistry="unknown" idValue="unknown"></UniversalAdId>{{/ifEquals}}\n <Linear>\n <Duration>{{assets.Video.duration}}</Duration>\n <TrackingEvents>\n <Tracking event="creativeView"><![CDATA[{{{renderedPixel}}}]]></Tracking>\n <Tracking event="start"><![CDATA[{{{visibleUrl}}}]]></Tracking>{{#unless preview}}{{#each impressionTrackingUrls}}\n <Tracking event="start"><![CDATA[{{{this}}}]]></Tracking>{{/each}}{{/unless}}{{#if text.firstQuartile.content}}\n <Tracking event="firstQuartile"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.firstQuartile.content}}]]></Tracking>{{/if}}\n <Tracking event="midpoint"><![CDATA[{{{viewUrl}}}]]></Tracking>{{#if text.thirdQuartile.content}}\n <Tracking event="thirdQuartile"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.thirdQuartile.content}}]]></Tracking>{{/if}}{{#if text.complete.content}}\n <Tracking event="complete"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.complete.content}}]]></Tracking>{{/if}}\n </TrackingEvents>\n <VideoClicks>\n <ClickThrough><![CDATA[{{{urls.destinationUrl.destinationUrl}}}]]></ClickThrough>\n <ClickTracking><![CDATA[{{{clickUrl}}}]]></ClickTracking>\n </VideoClicks>\n <MediaFiles>\n <MediaFile delivery="progressive" type="{{assets.Video.mimeType}}" bitrate="{{assets.Video.bps}}" width="{{assets.Video.width}}" height="{{assets.Video.height}}" scalable="true" maintainAspectRatio="true">\n <![CDATA[{{{assets.Video.cdnId}}}]]>\n </MediaFile>\n </MediaFiles>\n </Linear>\n </Creative>\n </Creatives>\n </InLine>\n</Ad>'
341
+ }
342
+ ],
187
343
  'ads': [
188
344
  {
189
- 'destinationUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fc%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN%3Fct%3D2501%26r%3Dhttp%253A%252F%252Fgoogle.com',
345
+ 'destinationUrlEsc': '',
346
+ 'dealId': 'not-in-deal-array',
190
347
  'assets': {
191
- 'image': {
192
- 'cdnId': 'https://assets.adnuntius.com/oEmZa5uYjxENfA1R692FVn6qIveFpO8wUbpyF2xSOCc.jpg',
193
- 'width': '980',
194
- 'height': '120'
348
+ 'Video': {
349
+ 'cdnId': 'http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4',
350
+ 'width': '1920',
351
+ 'height': '1080'
352
+ }
353
+ },
354
+ 'text': {
355
+ 'thirdQuartile': {
356
+ 'content': 'whatevs',
357
+ 'length': '7',
358
+ 'minLength': '1',
359
+ 'maxLength': '64'
360
+ },
361
+ 'complete': {
362
+ 'content': 'whatevs',
363
+ 'length': '7',
364
+ 'minLength': '1',
365
+ 'maxLength': '64'
366
+ },
367
+ 'firstQuartile': {
368
+ 'content': 'whatevs',
369
+ 'length': '7',
370
+ 'minLength': '1',
371
+ 'maxLength': '64'
195
372
  }
196
373
  },
197
- 'clickUrl': 'https://delivery.adnuntius.com/c/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
374
+ 'choices': {},
375
+ 'clickUrl': 'http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',
198
376
  'urls': {
199
- 'destination': 'https://delivery.adnuntius.com/c/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN?ct=2501&r=http%3A%2F%2Fgoogle.com'
377
+ 'destinationUrl': 'http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX?ct=682&r=http%3A%2F%2Fadnuntius.com'
200
378
  },
201
379
  'urlsEsc': {
202
- 'destination': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fc%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN%3Fct%3D2501%26r%3Dhttp%253A%252F%252Fgoogle.com'
380
+ 'destinationUrl': 'http%3A%2F%2Flocalhost%3A8078%2Fc%2FZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX%3Fct%3D682%26r%3Dhttp%253A%252F%252Fadnuntius.com'
203
381
  },
204
382
  'destinationUrls': {
205
- 'destination': 'http://google.com'
383
+ 'destinationUrl': 'http://adnuntius.com'
384
+ },
385
+ 'cpm': {
386
+ 'amount': 9,
387
+ 'currency': 'USD'
388
+ },
389
+ 'bid': {
390
+ 'amount': 0.009,
391
+ 'currency': 'USD'
392
+ },
393
+ 'grossBid': {
394
+ 'amount': 0.009,
395
+ 'currency': 'USD'
396
+ },
397
+ 'netBid': {
398
+ 'amount': 0.0081,
399
+ 'currency': 'USD'
206
400
  },
207
- 'cpm': { 'amount': 5.0, 'currency': 'NOK' },
208
- 'bid': { 'amount': 0.005, 'currency': 'NOK' },
209
- 'cost': { 'amount': 0.005, 'currency': 'NOK' },
210
401
  'impressionTrackingUrls': [],
211
402
  'impressionTrackingUrlsEsc': [],
212
- 'adId': 'adn-id-1347343135',
403
+ 'adId': 'adn-id-500662301',
213
404
  'selectedColumn': '0',
214
405
  'selectedColumnPosition': '0',
215
- 'renderedPixel': 'https://delivery.adnuntius.com/b/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN.html',
216
- 'renderedPixelEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fb%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN.html',
217
- 'visibleUrl': 'https://delivery.adnuntius.com/s?rt=52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
218
- 'visibleUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fs%3Frt%3D52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
219
- 'viewUrl': 'https://delivery.adnuntius.com/v?rt=52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
220
- 'viewUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fv%3Frt%3D52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
221
- 'rt': '52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
222
- 'creativeWidth': '980',
223
- 'creativeHeight': '120',
224
- 'creativeId': 'wgkq587vgtpchsx1',
225
- 'lineItemId': 'scyjdyv3mzgdsnpf',
226
- 'layoutId': 'sw6gtws2rdj1kwby',
227
- 'layoutName': 'Responsive image'
228
- },
229
-
406
+ 'renderedPixel': 'http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html',
407
+ 'renderedPixelEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fb%2FZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html',
408
+ 'visibleUrl': 'http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',
409
+ 'visibleUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fs%3Frt%3DZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',
410
+ 'viewUrl': 'http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',
411
+ 'viewUrlEsc': 'http%3A%2F%2Flocalhost%3A8078%2Fv%3Frt%3DZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',
412
+ 'rt': 'ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX',
413
+ 'creativeWidth': '640',
414
+ 'creativeHeight': '480',
415
+ 'creativeId': 'p6sqtvcgxczy258j',
416
+ 'lineItemId': 'cr3hnkkxhnkw9ldy',
417
+ 'layoutId': 'buyers_networkvast_single_format_layout',
418
+ 'layoutName': 'Vast (video upload)',
419
+ 'layoutExternalReference': '',
420
+ 'vastXml': '<Ad id="adn-id-500662301">\n <InLine>\n <AdSystem>Adnuntius</AdSystem>\n <AdTitle>adn-id-500662301</AdTitle>\n <Impression></Impression>\n <Creatives>\n <Creative>\n <Linear>\n <Duration>00:00:15</Duration>\n <TrackingEvents>\n <Tracking event="creativeView"><![CDATA[http://localhost:8078/b/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX.html]]></Tracking>\n <Tracking event="start"><![CDATA[http://localhost:8078/s?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\n <Tracking event="firstQuartile"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\n <Tracking event="midpoint"><![CDATA[http://localhost:8078/v?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></Tracking>\n <Tracking event="thirdQuartile"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\n <Tracking event="complete"><![CDATA[https://localhost:8078/u?rt=ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX&customType=whatevs]]></Tracking>\n </TrackingEvents>\n <VideoClicks>\n <ClickThrough><![CDATA[http://adnuntius.com]]></ClickThrough>\n <ClickTracking><![CDATA[http://localhost:8078/c/ZxGSsEJ8IzI8iCTQ17fHxnE29-y7VILLg2CLjhEbphMAAAAQCtjQz9kbGWD4nuZy3q6HaCYxpfXelzygS0s1MLax6koIS8pnjDAOShX4CbPkDyIzELe5BlfLk6_FNLuCBzOMJyx6ZZCB10wGqA3OaSe1EqpGosot0vsyFMtIWRWtUoKk-aANx531KaOWLyonoP2uC6UpxkXRUJ8iVCcMF1KmmAfe9rNYplI0E-ErHtVvZgm7uZeal_VymQxr0zkhjS_bW0PX]]></ClickTracking>\n </VideoClicks>\n <MediaFiles>\n <MediaFile delivery="progressive" type="video/mp4" bitrate="92421" width="1920" height="1080" scalable="true" maintainAspectRatio="true">\n <![CDATA[http://localhost:8079/cdn/9urJusYWpjFDLcpOwfejrkWlLP1heM3vWIJjuHk48BQ.mp4]]>\n </MediaFile>\n </MediaFiles>\n </Linear>\n </Creative>\n </Creatives>\n </InLine>\n</Ad>',
421
+ 'renderTemplate': '<Ad id="{{adId}}">\n <InLine>\n <AdSystem>Adnuntius</AdSystem>\n <AdTitle>{{{adId}}}</AdTitle>\n <Impression></Impression>\n <Creatives>\n <Creative>{{#ifEquals vastVersion "4.0"}}\n <UniversalAdId idRegistry="unknown" idValue="unknown"></UniversalAdId>{{/ifEquals}}\n <Linear>\n <Duration>{{assets.Video.duration}}</Duration>\n <TrackingEvents>\n <Tracking event="creativeView"><![CDATA[{{{renderedPixel}}}]]></Tracking>\n <Tracking event="start"><![CDATA[{{{visibleUrl}}}]]></Tracking>{{#unless preview}}{{#each impressionTrackingUrls}}\n <Tracking event="start"><![CDATA[{{{this}}}]]></Tracking>{{/each}}{{/unless}}{{#if text.firstQuartile.content}}\n <Tracking event="firstQuartile"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.firstQuartile.content}}]]></Tracking>{{/if}}\n <Tracking event="midpoint"><![CDATA[{{{viewUrl}}}]]></Tracking>{{#if text.thirdQuartile.content}}\n <Tracking event="thirdQuartile"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.thirdQuartile.content}}]]></Tracking>{{/if}}{{#if text.complete.content}}\n <Tracking event="complete"><![CDATA[https://{{{adServerHost}}}/u?rt={{{rt}}}&customType={{text.complete.content}}]]></Tracking>{{/if}}\n </TrackingEvents>\n <VideoClicks>\n <ClickThrough><![CDATA[{{{urls.destinationUrl.destinationUrl}}}]]></ClickThrough>\n <ClickTracking><![CDATA[{{{clickUrl}}}]]></ClickTracking>\n </VideoClicks>\n <MediaFiles>\n <MediaFile delivery="progressive" type="{{assets.Video.mimeType}}" bitrate="{{assets.Video.bps}}" width="{{assets.Video.width}}" height="{{assets.Video.height}}" scalable="true" maintainAspectRatio="true">\n <![CDATA[{{{assets.Video.cdnId}}}]]>\n </MediaFile>\n </MediaFiles>\n </Linear>\n </Creative>\n </Creatives>\n </InLine>\n</Ad>'
422
+ }
230
423
  ]
231
424
  },
232
425
  {
233
426
  'auId': '000000000008b6bc',
234
- 'targetId': '456',
427
+ 'targetId': 'adn-000000000008b6bc',
235
428
  'matchedAdCount': 0,
236
429
  'responseId': 'adn-rsp-1460129238',
237
430
  }
238
431
  ]
239
432
  }
240
433
  }
241
- // const serverNativeResponse = {
242
- // body: {
243
- // 'adUnits': [
244
- // {
245
- // 'auId': '000000000008b6bc',
246
- // 'targetId': '123',
247
- // 'html': '<h1>hi!</h1>',
248
- // 'matchedAdCount': 1,
249
- // 'responseId': 'adn-rsp-1460129238',
250
- // 'ads': [
251
- // {
252
- // 'destinationUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fc%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN%3Fct%3D2501%26r%3Dhttp%253A%252F%252Fgoogle.com',
253
- // 'assets': {
254
- // 'image': {
255
- // 'cdnId': 'https://assets.adnuntius.com/K9rfXC6wJvgVuy4Fbt5P8oEEGXme9ZaP8BNDzz3OMGQ.jpg',
256
- // 'width': '300',
257
- // 'height': '250'
258
- // }
259
- // },
260
- // 'text': {
261
- // 'body': {
262
- // 'content': 'Testing Native ad from Adnuntius',
263
- // 'length': '32',
264
- // 'minLength': '0',
265
- // 'maxLength': '100'
266
- // },
267
- // 'title': {
268
- // 'content': 'Native Ad',
269
- // 'length': '9',
270
- // 'minLength': '5',
271
- // 'maxLength': '100'
272
- // }
273
- // },
274
- // 'clickUrl': 'https://delivery.adnuntius.com/c/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
275
- // 'urls': {
276
- // 'destination': 'https://delivery.adnuntius.com/c/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN?ct=2501&r=http%3A%2F%2Fgoogle.com'
277
- // },
278
- // 'urlsEsc': {
279
- // 'destination': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fc%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN%3Fct%3D2501%26r%3Dhttp%253A%252F%252Fgoogle.com'
280
- // },
281
- // 'destinationUrls': {
282
- // 'destination': 'http://google.com'
283
- // },
284
- // 'cpm': { 'amount': 5.0, 'currency': 'NOK' },
285
- // 'bid': { 'amount': 0.005, 'currency': 'NOK' },
286
- // 'cost': { 'amount': 0.005, 'currency': 'NOK' },
287
- // 'impressionTrackingUrls': [],
288
- // 'impressionTrackingUrlsEsc': [],
289
- // 'adId': 'adn-id-1347343135',
290
- // 'selectedColumn': '0',
291
- // 'selectedColumnPosition': '0',
292
- // 'renderedPixel': 'https://delivery.adnuntius.com/b/52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN.html',
293
- // 'renderedPixelEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fb%2F52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN.html',
294
- // 'visibleUrl': 'https://delivery.adnuntius.com/s?rt=52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
295
- // 'visibleUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fs%3Frt%3D52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
296
- // 'viewUrl': 'https://delivery.adnuntius.com/v?rt=52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
297
- // 'viewUrlEsc': 'https%3A%2F%2Fdelivery.adnuntius.com%2Fv%3Frt%3D52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
298
- // 'rt': '52AHNuxCqxB_Y9ZP9ERWkMBPCOha4zuV3aKn5cog5jsAAAAQCtjQz9kbGWD4nuZy3q6HaHGLB4-k_fySWECIOOmHKY6iokgHNFH-U57ew_-1QHlKnFr2NT8y4QK1oU5HxnDLbYPz-GmQ3C2JyxLGpKmIb-P-3bm7HYPEreNjPdhjRG51A8NGuc4huUhns7nEUejHuOjOHE5sV1zfYxCRWRx9wPDN9EUCC7KN',
299
- // 'creativeWidth': '980',
300
- // 'creativeHeight': '120',
301
- // 'creativeId': 'wgkq587vgtpchsx1',
302
- // 'lineItemId': 'scyjdyv3mzgdsnpf',
303
- // 'layoutId': 'sw6gtws2rdj1kwby',
304
- // 'layoutName': 'Responsive image'
305
- // },
306
-
307
- // ]
308
- // },
309
- // {
310
- // 'auId': '000000000008b6bc',
311
- // 'targetId': '456',
312
- // 'matchedAdCount': 0,
313
- // 'responseId': 'adn-rsp-1460129238',
314
- // }
315
- // ]
316
- // }
317
- // }
318
-
319
- describe('inherited functions', function () {
320
- it('exists and is a function', function () {
434
+
435
+ describe('inherited functions', function() {
436
+ it('exists and is a function', function() {
321
437
  expect(adapter.callBids).to.exist.and.to.be.a('function');
322
438
  });
323
439
  });
324
440
 
325
- describe('isBidRequestValid', function () {
326
- it('should return true when required params found', function () {
441
+ describe('isBidRequestValid', function() {
442
+ it('should return true when required params found', function() {
327
443
  expect(spec.isBidRequestValid(bidderRequests[0])).to.equal(true);
328
444
  });
329
445
  });
330
446
 
331
- describe('buildRequests', function () {
332
- it('Test requests', function () {
447
+ describe('buildRequests', function() {
448
+ it('Test requests', function() {
333
449
  const request = spec.buildRequests(bidderRequests, {});
334
450
  expect(request.length).to.equal(1);
335
451
  expect(request[0]).to.have.property('bid');
@@ -338,10 +454,10 @@ describe('adnuntiusBidAdapter', function () {
338
454
  expect(request[0]).to.have.property('url');
339
455
  expect(request[0].url).to.equal(ENDPOINT_URL);
340
456
  expect(request[0]).to.have.property('data');
341
- expect(request[0].data).to.equal('{\"adUnits\":[{\"auId\":\"8b6bc\",\"targetId\":\"123\",\"dimensions\":[[640,480],[600,400]]}],\"metaData\":{\"usi\":\"' + usi + '\"}}');
457
+ expect(request[0].data).to.equal('{"adUnits":[{"auId":"000000000008b6bc","targetId":"adn-000000000008b6bc","maxDeals":1,"dimensions":[[640,480],[600,400]]},{"auId":"0000000000000551","targetId":"adn-0000000000000551","maxDeals":0,"dimensions":[[1640,1480],[1600,1400]]}],"metaData":{"usi":"' + usi + '"}}');
342
458
  });
343
459
 
344
- it('Test Video requests', function () {
460
+ it('Test Video requests', function() {
345
461
  const request = spec.buildRequests(videoBidderRequest, {});
346
462
  expect(request.length).to.equal(1);
347
463
  expect(request[0]).to.have.property('bid');
@@ -351,12 +467,12 @@ describe('adnuntiusBidAdapter', function () {
351
467
  expect(request[0].url).to.equal(ENDPOINT_URL_VIDEO);
352
468
  });
353
469
 
354
- it('should pass segments if available in config', function () {
470
+ it('should pass segments if available in config', function() {
355
471
  const ortb2 = {
356
472
  user: {
357
473
  data: [{
358
474
  name: 'adnuntius',
359
- segment: [{ id: 'segment1' }, { id: 'segment2' }]
475
+ segment: [{id: 'segment1'}, {id: 'segment2'}]
360
476
  },
361
477
  {
362
478
  name: 'other',
@@ -365,18 +481,18 @@ describe('adnuntiusBidAdapter', function () {
365
481
  }
366
482
  };
367
483
 
368
- const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));
484
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {ortb2}));
369
485
  expect(request.length).to.equal(1);
370
486
  expect(request[0]).to.have.property('url')
371
487
  expect(request[0].url).to.equal(ENDPOINT_URL_SEGMENTS);
372
488
  });
373
489
 
374
- it('should skip segments in config if not either id or array of strings', function () {
490
+ it('should skip segments in config if not either id or array of strings', function() {
375
491
  const ortb2 = {
376
492
  user: {
377
493
  data: [{
378
494
  name: 'adnuntius',
379
- segment: [{ id: 'segment1' }, { id: 'segment2' }, { id: 'segment3' }]
495
+ segment: [{id: 'segment1'}, {id: 'segment2'}, {id: 'segment3'}]
380
496
  },
381
497
  {
382
498
  name: 'other',
@@ -387,34 +503,34 @@ describe('adnuntiusBidAdapter', function () {
387
503
  }
388
504
  };
389
505
 
390
- const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));
506
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {ortb2}));
391
507
  expect(request.length).to.equal(1);
392
508
  expect(request[0]).to.have.property('url')
393
509
  expect(request[0].url).to.equal(ENDPOINT_URL_SEGMENTS);
394
510
  });
395
511
  });
396
512
 
397
- describe('user privacy', function () {
398
- it('should send GDPR Consent data if gdprApplies', function () {
399
- let request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: true, consentString: 'consentString' } });
513
+ describe('user privacy', function() {
514
+ it('should send GDPR Consent data if gdprApplies', function() {
515
+ let request = spec.buildRequests(bidderRequests, {gdprConsent: {gdprApplies: true, consentString: 'consentString'}});
400
516
  expect(request.length).to.equal(1);
401
517
  expect(request[0]).to.have.property('url')
402
518
  expect(request[0].url).to.equal(ENDPOINT_URL_CONSENT);
403
519
  });
404
520
 
405
- it('should not send GDPR Consent data if gdprApplies equals undefined', function () {
406
- let request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: undefined, consentString: 'consentString' } });
521
+ it('should not send GDPR Consent data if gdprApplies equals undefined', function() {
522
+ let request = spec.buildRequests(bidderRequests, {gdprConsent: {gdprApplies: undefined, consentString: 'consentString'}});
407
523
  expect(request.length).to.equal(1);
408
524
  expect(request[0]).to.have.property('url')
409
525
  expect(request[0].url).to.equal(ENDPOINT_URL);
410
526
  });
411
527
 
412
- it('should pass segments if available in config', function () {
528
+ it('should pass segments if available in config', function() {
413
529
  const ortb2 = {
414
530
  user: {
415
531
  data: [{
416
532
  name: 'adnuntius',
417
- segment: [{ id: 'segment1' }, { id: 'segment2' }]
533
+ segment: [{id: 'segment1'}, {id: 'segment2'}]
418
534
  },
419
535
  {
420
536
  name: 'other',
@@ -423,18 +539,18 @@ describe('adnuntiusBidAdapter', function () {
423
539
  }
424
540
  }
425
541
 
426
- const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));
542
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {ortb2}));
427
543
  expect(request.length).to.equal(1);
428
544
  expect(request[0]).to.have.property('url')
429
545
  expect(request[0].url).to.equal(ENDPOINT_URL_SEGMENTS);
430
546
  });
431
547
 
432
- it('should skip segments in config if not either id or array of strings', function () {
548
+ it('should skip segments in config if not either id or array of strings', function() {
433
549
  const ortb2 = {
434
550
  user: {
435
551
  data: [{
436
552
  name: 'adnuntius',
437
- segment: [{ id: 'segment1' }, { id: 'segment2' }, { id: 'segment3' }]
553
+ segment: [{id: 'segment1'}, {id: 'segment2'}, {id: 'segment3'}]
438
554
  },
439
555
  {
440
556
  name: 'other',
@@ -445,44 +561,44 @@ describe('adnuntiusBidAdapter', function () {
445
561
  }
446
562
  };
447
563
 
448
- const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));
564
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {ortb2}));
449
565
  expect(request.length).to.equal(1);
450
566
  expect(request[0]).to.have.property('url')
451
567
  expect(request[0].url).to.equal(ENDPOINT_URL_SEGMENTS);
452
568
  });
453
569
 
454
- it('should user user ID if present in ortb2.user.id field', function () {
570
+ it('should user user ID if present in ortb2.user.id field', function() {
455
571
  const ortb2 = {
456
572
  user: {
457
573
  id: usi
458
574
  }
459
575
  };
460
576
 
461
- const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, { ortb2 }));
577
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {ortb2}));
462
578
  expect(request.length).to.equal(1);
463
579
  expect(request[0]).to.have.property('url')
464
580
  expect(request[0].url).to.equal(ENDPOINT_URL);
465
581
  });
466
582
  });
467
583
 
468
- describe('user privacy', function () {
469
- it('should send GDPR Consent data if gdprApplies', function () {
470
- let request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: true, consentString: 'consentString' } });
584
+ describe('user privacy', function() {
585
+ it('should send GDPR Consent data if gdprApplies', function() {
586
+ let request = spec.buildRequests(bidderRequests, {gdprConsent: {gdprApplies: true, consentString: 'consentString'}});
471
587
  expect(request.length).to.equal(1);
472
588
  expect(request[0]).to.have.property('url')
473
589
  expect(request[0].url).to.equal(ENDPOINT_URL_CONSENT);
474
590
  });
475
591
 
476
- it('should not send GDPR Consent data if gdprApplies equals undefined', function () {
477
- let request = spec.buildRequests(bidderRequests, { gdprConsent: { gdprApplies: undefined, consentString: 'consentString' } });
592
+ it('should not send GDPR Consent data if gdprApplies equals undefined', function() {
593
+ let request = spec.buildRequests(bidderRequests, {gdprConsent: {gdprApplies: undefined, consentString: 'consentString'}});
478
594
  expect(request.length).to.equal(1);
479
595
  expect(request[0]).to.have.property('url')
480
596
  expect(request[0].url).to.equal(ENDPOINT_URL);
481
597
  });
482
598
  });
483
599
 
484
- describe('use cookie', function () {
485
- it('should send noCookie in url if set to false.', function () {
600
+ describe('use cookie', function() {
601
+ it('should send noCookie in url if set to false.', function() {
486
602
  config.setBidderConfig({
487
603
  bidders: ['adnuntius'],
488
604
  config: {
@@ -497,56 +613,211 @@ describe('adnuntiusBidAdapter', function () {
497
613
  });
498
614
  });
499
615
 
500
- describe('interpretResponse', function () {
501
- it('should return valid response when passed valid server response', function () {
616
+ describe('validate auId', function() {
617
+ it('should fail when auId is not hexadecimal', function() {
618
+ const invalidRequest = {
619
+ bidId: 'adn-000000000008b6bc',
620
+ bidder: 'adnuntius',
621
+ params: {
622
+ auId: 'nothexadecimal',
623
+ }
624
+ };
625
+ const valid = config.runWithBidder('adnuntius', () => spec.isBidRequestValid(invalidRequest));
626
+ expect(valid).to.equal(false);
627
+ });
628
+
629
+ it('should pass when auId is hexadecimal', function() {
630
+ const invalidRequest = {
631
+ bidId: 'adn-000000000008b6bc',
632
+ bidder: 'adnuntius',
633
+ params: {
634
+ auId: '0123456789abcDEF',
635
+ }
636
+ };
637
+ const valid = config.runWithBidder('adnuntius', () => spec.isBidRequestValid(invalidRequest));
638
+ expect(valid).to.equal(true);
639
+ });
640
+ });
641
+
642
+ describe('request deals', function() {
643
+ it('Should set max deals.', function() {
644
+ config.setBidderConfig({
645
+ bidders: ['adnuntius']
646
+ });
647
+
648
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));
649
+ expect(request.length).to.equal(1);
650
+ expect(request[0]).to.have.property('url')
651
+ expect(request[0].url).to.equal(ENDPOINT_URL);
652
+ expect(request[0]).to.have.property('data');
653
+ const data = JSON.parse(request[0].data);
654
+ expect(data.adUnits.length).to.equal(2);
655
+ expect(bidderRequests[0].params.maxDeals).to.equal(1);
656
+ expect(data.adUnits[0].maxDeals).to.equal(bidderRequests[0].params.maxDeals);
657
+ expect(bidderRequests[1].params).to.not.have.property('maxBids');
658
+ expect(data.adUnits[1].maxDeals).to.equal(0);
659
+ });
660
+ it('Should allow a maximum of 5 deals.', function() {
661
+ config.setBidderConfig({
662
+ bidders: ['adnuntius'],
663
+ });
664
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests([
665
+ {
666
+ bidId: 'adn-000000000008b6bc',
667
+ bidder: 'adnuntius',
668
+ params: {
669
+ auId: '000000000008b6bc',
670
+ network: 'adnuntius',
671
+ maxDeals: 10
672
+ }
673
+ }
674
+ ], {}));
675
+ expect(request.length).to.equal(1);
676
+ expect(request[0]).to.have.property('url')
677
+ expect(request[0].url).to.equal(ENDPOINT_URL);
678
+ expect(request[0]).to.have.property('data');
679
+ const data = JSON.parse(request[0].data);
680
+ expect(data.adUnits.length).to.equal(1);
681
+ expect(data.adUnits[0].maxDeals).to.equal(5);
682
+ });
683
+ it('Should allow a minumum of 0 deals.', function() {
684
+ config.setBidderConfig({
685
+ bidders: ['adnuntius'],
686
+ });
687
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests([
688
+ {
689
+ bidId: 'adn-000000000008b6bc',
690
+ bidder: 'adnuntius',
691
+ params: {
692
+ auId: '000000000008b6bc',
693
+ network: 'adnuntius',
694
+ maxDeals: -1
695
+ }
696
+ }
697
+ ], {}));
698
+ expect(request.length).to.equal(1);
699
+ expect(request[0]).to.have.property('url')
700
+ expect(request[0].url).to.equal(ENDPOINT_URL);
701
+ expect(request[0]).to.have.property('data');
702
+ const data = JSON.parse(request[0].data);
703
+ expect(data.adUnits.length).to.equal(1);
704
+ expect(data.adUnits[0].maxDeals).to.equal(0);
705
+ });
706
+ it('Should set max deals using bidder config.', function() {
707
+ config.setBidderConfig({
708
+ bidders: ['adnuntius'],
709
+ config: {
710
+ maxDeals: 2
711
+ }
712
+ });
713
+
714
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));
715
+ expect(request.length).to.equal(1);
716
+ expect(request[0]).to.have.property('url')
717
+ expect(request[0].url).to.equal(ENDPOINT_URL + '&ds=2');
718
+ });
719
+ it('Should allow a maximum of 5 deals when using bidder config.', function() {
720
+ config.setBidderConfig({
721
+ bidders: ['adnuntius'],
722
+ config: {
723
+ maxDeals: 6
724
+ }
725
+ });
726
+
727
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));
728
+ expect(request.length).to.equal(1);
729
+ expect(request[0]).to.have.property('url')
730
+ expect(request[0].url).to.equal(ENDPOINT_URL + '&ds=5');
731
+ });
732
+ it('Should allow a minimum of 0 deals when using bidder config.', function() {
733
+ config.setBidderConfig({
734
+ bidders: ['adnuntius'],
735
+ config: {
736
+ maxDeals: -1
737
+ }
738
+ });
739
+
740
+ const request = config.runWithBidder('adnuntius', () => spec.buildRequests(bidderRequests, {}));
741
+ expect(request.length).to.equal(1);
742
+ expect(request[0]).to.have.property('url')
743
+ // The maxDeals value is ignored because it is less than zero
744
+ expect(request[0].url).to.equal(ENDPOINT_URL);
745
+ });
746
+ });
747
+
748
+ describe('interpretResponse', function() {
749
+ it('should return valid response when passed valid server response', function() {
502
750
  const interpretedResponse = spec.interpretResponse(serverResponse, singleBidRequest);
503
- const ad = serverResponse.body.adUnits[0].ads[0]
504
- expect(interpretedResponse).to.have.lengthOf(1);
505
- expect(interpretedResponse[0].cpm).to.equal(ad.cpm.amount);
506
- expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));
507
- expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));
508
- expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);
509
- expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);
751
+ expect(interpretedResponse).to.have.lengthOf(2);
752
+
753
+ const deal = serverResponse.body.adUnits[0].deals[0];
754
+ expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');
755
+ expect(interpretedResponse[0].cpm).to.equal(deal.bid.amount * 1000);
756
+ expect(interpretedResponse[0].width).to.equal(Number(deal.creativeWidth));
757
+ expect(interpretedResponse[0].height).to.equal(Number(deal.creativeHeight));
758
+ expect(interpretedResponse[0].creativeId).to.equal(deal.creativeId);
759
+ expect(interpretedResponse[0].currency).to.equal(deal.bid.currency);
510
760
  expect(interpretedResponse[0].netRevenue).to.equal(false);
511
761
  expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');
512
762
  expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);
513
- expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('google.com');
514
- expect(interpretedResponse[0].ad).to.equal(serverResponse.body.adUnits[0].html);
763
+ expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');
764
+ expect(interpretedResponse[0].ad).to.equal(serverResponse.body.adUnits[0].deals[0].html);
515
765
  expect(interpretedResponse[0].ttl).to.equal(360);
766
+ expect(interpretedResponse[0].dealId).to.equal('abc123xyz');
767
+ expect(interpretedResponse[0].dealCount).to.equal(1);
768
+
769
+ const ad = serverResponse.body.adUnits[0].ads[0];
770
+ expect(interpretedResponse[1].bidderCode).to.equal('adnuntius');
771
+ expect(interpretedResponse[1].cpm).to.equal(ad.bid.amount * 1000);
772
+ expect(interpretedResponse[1].width).to.equal(Number(ad.creativeWidth));
773
+ expect(interpretedResponse[1].height).to.equal(Number(ad.creativeHeight));
774
+ expect(interpretedResponse[1].creativeId).to.equal(ad.creativeId);
775
+ expect(interpretedResponse[1].currency).to.equal(ad.bid.currency);
776
+ expect(interpretedResponse[1].netRevenue).to.equal(false);
777
+ expect(interpretedResponse[1].meta).to.have.property('advertiserDomains');
778
+ expect(interpretedResponse[1].meta.advertiserDomains).to.have.lengthOf(1);
779
+ expect(interpretedResponse[1].meta.advertiserDomains[0]).to.equal('adnuntius.com');
780
+ expect(interpretedResponse[1].ad).to.equal(serverResponse.body.adUnits[0].html);
781
+ expect(interpretedResponse[1].ttl).to.equal(360);
782
+ expect(interpretedResponse[1].dealId).to.equal('not-in-deal-array-here');
783
+ expect(interpretedResponse[1].dealCount).to.equal(0);
516
784
  });
517
785
  });
518
- describe('interpretVideoResponse', function () {
519
- it('should return valid response when passed valid server response', function () {
786
+
787
+ describe('interpretVideoResponse', function() {
788
+ it('should return valid response when passed valid server response', function() {
520
789
  const interpretedResponse = spec.interpretResponse(serverVideoResponse, videoBidRequest);
521
790
  const ad = serverVideoResponse.body.adUnits[0].ads[0]
522
- expect(interpretedResponse).to.have.lengthOf(1);
523
- expect(interpretedResponse[0].cpm).to.equal(ad.cpm.amount);
524
- expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));
525
- expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));
526
- expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);
527
- expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);
791
+ const deal = serverVideoResponse.body.adUnits[0].deals[0]
792
+ expect(interpretedResponse).to.have.lengthOf(2);
793
+
794
+ expect(interpretedResponse[0].bidderCode).to.equal('adnuntius');
795
+ expect(interpretedResponse[0].cpm).to.equal(deal.bid.amount * 1000);
796
+ expect(interpretedResponse[0].width).to.equal(Number(deal.creativeWidth));
797
+ expect(interpretedResponse[0].height).to.equal(Number(deal.creativeHeight));
798
+ expect(interpretedResponse[0].creativeId).to.equal(deal.creativeId);
799
+ expect(interpretedResponse[0].currency).to.equal(deal.bid.currency);
528
800
  expect(interpretedResponse[0].netRevenue).to.equal(false);
529
801
  expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');
530
802
  expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);
531
- expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('google.com');
532
- expect(interpretedResponse[0].vastXml).to.equal(serverVideoResponse.body.adUnits[0].vastXml);
803
+ expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('adnuntius.com');
804
+ expect(interpretedResponse[0].vastXml).to.equal(deal.vastXml);
805
+ expect(interpretedResponse[0].dealId).to.equal('abc123xyz');
806
+ expect(interpretedResponse[0].dealCount).to.equal(1);
807
+
808
+ expect(interpretedResponse[1].bidderCode).to.equal('adnuntius');
809
+ expect(interpretedResponse[1].cpm).to.equal(ad.bid.amount * 1000);
810
+ expect(interpretedResponse[1].width).to.equal(Number(ad.creativeWidth));
811
+ expect(interpretedResponse[1].height).to.equal(Number(ad.creativeHeight));
812
+ expect(interpretedResponse[1].creativeId).to.equal(ad.creativeId);
813
+ expect(interpretedResponse[1].currency).to.equal(ad.bid.currency);
814
+ expect(interpretedResponse[1].netRevenue).to.equal(false);
815
+ expect(interpretedResponse[1].meta).to.have.property('advertiserDomains');
816
+ expect(interpretedResponse[1].meta.advertiserDomains).to.have.lengthOf(1);
817
+ expect(interpretedResponse[1].meta.advertiserDomains[0]).to.equal('adnuntius.com');
818
+ expect(interpretedResponse[1].vastXml).to.equal(serverVideoResponse.body.adUnits[0].vastXml);
819
+ expect(interpretedResponse[1].dealId).to.equal('not-in-deal-array');
820
+ expect(interpretedResponse[1].dealCount).to.equal(0);
533
821
  });
534
822
  });
535
- // describe('interpretNativeResponse', function () {
536
- // it('should return valid response when passed valid server response', function () {
537
- // const interpretedResponse = spec.interpretResponse(serverNativeResponse, nativeBidRequest);
538
- // const ad = serverNativeResponse.body.adUnits[0].ads[0]
539
- // expect(interpretedResponse).to.have.lengthOf(1);
540
- // expect(interpretedResponse[0].cpm).to.equal(ad.cpm.amount);
541
- // expect(interpretedResponse[0].width).to.equal(Number(ad.creativeWidth));
542
- // expect(interpretedResponse[0].height).to.equal(Number(ad.creativeHeight));
543
- // expect(interpretedResponse[0].creativeId).to.equal(ad.creativeId);
544
- // expect(interpretedResponse[0].currency).to.equal(ad.bid.currency);
545
- // expect(interpretedResponse[0].netRevenue).to.equal(false);
546
- // expect(interpretedResponse[0].meta).to.have.property('advertiserDomains');
547
- // expect(interpretedResponse[0].meta.advertiserDomains).to.have.lengthOf(1);
548
- // expect(interpretedResponse[0].meta.advertiserDomains[0]).to.equal('google.com');
549
- // expect(interpretedResponse[0].native.body).to.equal(serverNativeResponse.body.adUnits[0].ads[0].text.body.content);
550
- // });
551
- // });
552
823
  });