prebid.js 7.6.0 → 7.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/1plusXRtdProvider.js +1 -0
- package/dist/33acrossBidAdapter.js +1 -1
- package/dist/adagioBidAdapter.js +1 -1
- package/dist/adbookpspBidAdapter.js +1 -1
- package/dist/adgenerationBidAdapter.js +1 -1
- package/dist/adoceanBidAdapter.js +1 -1
- package/dist/adrelevantisBidAdapter.js +1 -1
- package/dist/adxcgBidAdapter.js +1 -1
- package/dist/ajaBidAdapter.js +1 -1
- package/dist/amxBidAdapter.js +1 -1
- package/dist/amxIdSystem.js +1 -1
- package/dist/appierAnalyticsAdapter.js +1 -1
- package/dist/appnexusBidAdapter.js +1 -1
- package/dist/asoBidAdapter.js +1 -1
- package/dist/axonixBidAdapter.js +1 -1
- package/dist/bidglassBidAdapter.js +1 -1
- package/dist/big-richmediaBidAdapter.js +1 -1
- package/dist/bliinkBidAdapter.js +1 -1
- package/dist/bridgewellBidAdapter.js +1 -1
- package/dist/brightMountainMediaBidAdapter.js +1 -1
- package/dist/concertBidAdapter.js +1 -1
- package/dist/connectadBidAdapter.js +1 -1
- package/dist/consumableBidAdapter.js +1 -1
- package/dist/conversantBidAdapter.js +1 -1
- package/dist/craftBidAdapter.js +1 -1
- package/dist/criteoBidAdapter.js +1 -1
- package/dist/currency.js +1 -1
- package/dist/dspxBidAdapter.js +1 -1
- package/dist/eplanningBidAdapter.js +1 -1
- package/dist/finativeBidAdapter.js +1 -1
- package/dist/glimpseBidAdapter.js +1 -1
- package/dist/gmosspBidAdapter.js +1 -1
- package/dist/goldbachBidAdapter.js +1 -1
- package/dist/gridBidAdapter.js +1 -1
- package/dist/gridNMBidAdapter.js +1 -1
- package/dist/gumgumBidAdapter.js +1 -1
- package/dist/h12mediaBidAdapter.js +1 -1
- package/dist/id5IdSystem.js +1 -1
- package/dist/impactifyBidAdapter.js +1 -1
- package/dist/improvedigitalBidAdapter.js +1 -1
- package/dist/inmarBidAdapter.js +1 -1
- package/dist/insticatorBidAdapter.js +1 -1
- package/dist/ixBidAdapter.js +1 -1
- package/dist/jixieBidAdapter.js +1 -1
- package/dist/justpremiumBidAdapter.js +1 -1
- package/dist/konduitAnalyticsAdapter.js +1 -1
- package/dist/kueezBidAdapter.js +1 -1
- package/dist/lassoBidAdapter.js +1 -1
- package/dist/liveyieldAnalyticsAdapter.js +1 -1
- package/dist/logicadBidAdapter.js +1 -1
- package/dist/loglyliftBidAdapter.js +1 -1
- package/dist/malltvAnalyticsAdapter.js +1 -1
- package/dist/marsmediaBidAdapter.js +1 -1
- package/dist/mediafuseBidAdapter.js +1 -1
- package/dist/mediasquareBidAdapter.js +1 -1
- package/dist/mgidBidAdapter.js +1 -1
- package/dist/minutemediaBidAdapter.js +1 -1
- package/dist/naveggIdSystem.js +1 -1
- package/dist/not-for-prod/prebid.js +112 -111
- package/dist/oguryBidAdapter.js +1 -1
- package/dist/onetagBidAdapter.js +1 -1
- package/dist/ooloAnalyticsAdapter.js +1 -1
- package/dist/outbrainBidAdapter.js +1 -1
- package/dist/parrableIdSystem.js +1 -1
- package/dist/pixfutureBidAdapter.js +1 -1
- package/dist/prebid-core.js +1 -1
- package/dist/prebidServerBidAdapter.js +1 -1
- package/dist/publinkIdSystem.js +1 -1
- package/dist/pubmaticBidAdapter.js +1 -1
- package/dist/pubwiseAnalyticsAdapter.js +1 -1
- package/dist/pxyzBidAdapter.js +1 -1
- package/dist/quantcastBidAdapter.js +1 -1
- package/dist/readpeakBidAdapter.js +1 -1
- package/dist/relaidoBidAdapter.js +1 -1
- package/dist/rhythmoneBidAdapter.js +1 -1
- package/dist/riseBidAdapter.js +1 -1
- package/dist/rubiconAnalyticsAdapter.js +1 -1
- package/dist/rubiconBidAdapter.js +1 -1
- package/dist/seedingAllianceBidAdapter.js +1 -1
- package/dist/seedtagBidAdapter.js +1 -1
- package/dist/sharethroughAnalyticsAdapter.js +1 -1
- package/dist/sharethroughBidAdapter.js +1 -1
- package/dist/shinezBidAdapter.js +1 -1
- package/dist/smaatoBidAdapter.js +1 -1
- package/dist/smartadserverBidAdapter.js +1 -1
- package/dist/smartxBidAdapter.js +1 -1
- package/dist/smilewantedBidAdapter.js +1 -1
- package/dist/sonobiBidAdapter.js +1 -1
- package/dist/sovrnAnalyticsAdapter.js +1 -1
- package/dist/sovrnBidAdapter.js +1 -1
- package/dist/sspBCBidAdapter.js +1 -1
- package/dist/sublimeBidAdapter.js +1 -1
- package/dist/synacormediaBidAdapter.js +1 -1
- package/dist/targetVideoBidAdapter.js +1 -1
- package/dist/teadsBidAdapter.js +1 -1
- package/dist/trionBidAdapter.js +1 -1
- package/dist/tripleliftBidAdapter.js +1 -1
- package/dist/ttdBidAdapter.js +1 -1
- package/dist/ucfunnelAnalyticsAdapter.js +1 -1
- package/dist/underdogmediaBidAdapter.js +1 -1
- package/dist/undertoneBidAdapter.js +1 -1
- package/dist/userId.js +1 -1
- package/dist/vidazooBidAdapter.js +1 -1
- package/dist/videobyteBidAdapter.js +1 -1
- package/dist/visxBidAdapter.js +1 -1
- package/dist/vuukleBidAdapter.js +1 -1
- package/dist/widespaceBidAdapter.js +1 -1
- package/dist/winrBidAdapter.js +1 -1
- package/dist/yahoosspBidAdapter.js +1 -1
- package/dist/yieldmoBidAdapter.js +1 -1
- package/dist/yieldoneAnalyticsAdapter.js +1 -1
- package/integrationExamples/gpt/1plusXRtdProviderExample.html +112 -0
- package/modules/.submodules.json +2 -1
- package/modules/1plusXRtdProvider.js +251 -0
- package/modules/1plusXRtdProvider.md +65 -0
- package/modules/adoceanBidAdapter.js +10 -3
- package/modules/big-richmediaBidAdapter.js +3 -3
- package/modules/bliinkBidAdapter.js +120 -193
- package/modules/bliinkBidAdapter.md +2 -5
- package/modules/consumableBidAdapter.js +9 -0
- package/modules/currency.js +2 -2
- package/modules/impactifyBidAdapter.js +6 -2
- package/modules/ixBidAdapter.js +61 -14
- package/modules/ixBidAdapter.md +2 -5
- package/modules/jixieBidAdapter.js +10 -10
- package/modules/naveggIdSystem.js +1 -12
- package/modules/nextMillenniumBidAdapter.md +1 -1
- package/modules/onetagBidAdapter.js +44 -7
- package/modules/prebidServerBidAdapter/index.js +7 -0
- package/modules/rubiconBidAdapter.js +5 -0
- package/modules/seedingAllianceBidAdapter.js +3 -0
- package/modules/targetVideoBidAdapter.js +18 -0
- package/modules/userId/index.js +39 -21
- package/package.json +1 -1
- package/src/auction.js +6 -5
- package/src/consentHandler.js +11 -11
- package/src/debugging.js +5 -3
- package/src/hook.js +2 -2
- package/src/utils/promise.js +96 -21
- package/src/utils.js +3 -2
- package/test/helpers/consentData.js +2 -1
- package/test/spec/auctionmanager_spec.js +1 -6
- package/test/spec/debugging_spec.js +2 -2
- package/test/spec/modules/1plusXRtdProvider_spec.js +430 -0
- package/test/spec/modules/adoceanBidAdapter_spec.js +4 -1
- package/test/spec/modules/bliinkBidAdapter_spec.js +323 -136
- package/test/spec/modules/consumableBidAdapter_spec.js +47 -1
- package/test/spec/modules/idxIdSystem_spec.js +1 -1
- package/test/spec/modules/ixBidAdapter_spec.js +77 -2
- package/test/spec/modules/jixieBidAdapter_spec.js +8 -8
- package/test/spec/modules/onetagBidAdapter_spec.js +53 -4
- package/test/spec/modules/parrableIdSystem_spec.js +2 -1
- package/test/spec/modules/prebidServerBidAdapter_spec.js +20 -0
- package/test/spec/modules/rubiconBidAdapter_spec.js +27 -0
- package/test/spec/modules/targetVideoBidAdapter_spec.js +43 -0
- package/test/spec/modules/userId_spec.js +15 -2
- package/test/spec/unit/pbjs_api_spec.js +1 -5
- package/test/spec/unit/utils/promise_spec.js +283 -38
- package/test/helpers/syncPromise.js +0 -71
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { expect } from 'chai'
|
|
2
|
-
import { spec, buildBid, BLIINK_ENDPOINT_ENGINE,
|
|
2
|
+
import { spec, buildBid, BLIINK_ENDPOINT_ENGINE, getMetaList, BLIINK_ENDPOINT_COOKIE_SYNC_IFRAME } from 'modules/bliinkBidAdapter.js'
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @description Mockup bidRequest
|
|
@@ -33,6 +33,7 @@ const getConfigBid = (placement) => {
|
|
|
33
33
|
crumbs: {
|
|
34
34
|
pubcid: '55ffadc5-051f-428d-8ecc-dc585e0bde0d'
|
|
35
35
|
},
|
|
36
|
+
sizes: [[300, 250]],
|
|
36
37
|
mediaTypes: {
|
|
37
38
|
banner: {
|
|
38
39
|
sizes: [
|
|
@@ -51,13 +52,55 @@ const getConfigBid = (placement) => {
|
|
|
51
52
|
placement: placement,
|
|
52
53
|
tagId: '14f30eca-85d2-11e8-9eed-0242ac120007'
|
|
53
54
|
},
|
|
54
|
-
sizes: [
|
|
55
|
-
[300, 250]
|
|
56
|
-
],
|
|
57
55
|
src: 'client',
|
|
58
56
|
transactionId: 'cc6678c4-9746-4082-b9e2-d8065d078ebf'
|
|
59
57
|
}
|
|
60
58
|
}
|
|
59
|
+
const getConfigBannerBid = () => {
|
|
60
|
+
return {
|
|
61
|
+
creative: {
|
|
62
|
+
banner: {
|
|
63
|
+
adm: '',
|
|
64
|
+
height: 250,
|
|
65
|
+
width: 300,
|
|
66
|
+
},
|
|
67
|
+
media_type: 'banner',
|
|
68
|
+
creativeId: 125,
|
|
69
|
+
},
|
|
70
|
+
price: 1,
|
|
71
|
+
id: '810',
|
|
72
|
+
token: 'token',
|
|
73
|
+
mode: 'rtb',
|
|
74
|
+
extras: {
|
|
75
|
+
deal_id: '34567erty',
|
|
76
|
+
transaction_id: '2def0c5b2a7f6e',
|
|
77
|
+
},
|
|
78
|
+
currency: 'EUR',
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const getConfigVideoBid = () => {
|
|
82
|
+
return {
|
|
83
|
+
creative: {
|
|
84
|
+
video: {
|
|
85
|
+
content:
|
|
86
|
+
'<VAST></VAST>',
|
|
87
|
+
height: 250,
|
|
88
|
+
width: 300,
|
|
89
|
+
},
|
|
90
|
+
media_type: 'video',
|
|
91
|
+
creativeId: 0,
|
|
92
|
+
},
|
|
93
|
+
price: 1,
|
|
94
|
+
id: '8121',
|
|
95
|
+
token: 'token',
|
|
96
|
+
mode: 'rtb',
|
|
97
|
+
extras: {
|
|
98
|
+
deal_id: '34567ertyRTY',
|
|
99
|
+
transaction_id: '2def0c5b2a7f6e',
|
|
100
|
+
},
|
|
101
|
+
currency: 'EUR',
|
|
102
|
+
}
|
|
103
|
+
}
|
|
61
104
|
|
|
62
105
|
/**
|
|
63
106
|
* @description Mockup response from engine.bliink.io/xxxx
|
|
@@ -80,33 +123,30 @@ const getConfigBid = (placement) => {
|
|
|
80
123
|
*/
|
|
81
124
|
const getConfigCreative = () => {
|
|
82
125
|
return {
|
|
83
|
-
|
|
84
|
-
|
|
126
|
+
ad: '<iframe src="https://creative-stg.bliink.io/test-preview-jonathan/index.html?cb=54545&cb=1653984833&gdpr=1&gdpr_consent=#click=https://e-stg.api.bliink.io/c?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2NTY0MTMzMzgsImlhdCI6MTY1NTgwODUzOCwiaXNzIjoiYmxpaW5rIiwiZGF0YSI6eyJ0eXBlIjoiYWQtc2VydmVyIiwidHJhbnNhY3Rpb25JZCI6IjQ3ZmQyMmY1LThiM2MtNGI4Zi05MzgyLTAzNGEwNGJmNGNmZSIsIm5ldHdvcmtJZCI6MjEsInNpdGVJZCI6NDgsInRhZ0lkIjo4MSwiY29va2llSWQiOiI4NjkwZDEzMDkyNjM5YThhMDliM2MwZDgzMDFlMTBkNmM5MWRhMzBlZWY3NTA2OTRkNTQ5Y2ExYWEwN2M0OTU2IiwiZXZlbnRJZCI6MywidGFyZ2V0aW5nIjp7InBsYXRmb3JtIjoiV2Vic2l0ZSIsInJlZmVycmVyIjoiaHR0cDovL2xvY2FsaG9zdDo5OTk5L2ludGVncmF0aW9uRXhhbXBsZXMvZ3B0L2dkcHJfaGVsbG9fd29ybGQuaHRtbCIsInBhZ2VVcmwiOiJodHRwOi8vbG9jYWxob3N0Ojk5OTkvaW50ZWdyYXRpb25FeGFtcGxlcy9ncHQvZ2Rwcl9oZWxsb193b3JsZC5odG1sIiwidGltZSI6MTY1NTgwODUzOCwibG9jYXRpb24iOnsibGF0aXR1ZGUiOjQ4LjgzMjMsImxvbmdpdHVkZSI6Mi40MDc1LCJyZWdpb24iOiJJREYiLCJjb3VudHJ5IjoiRlIiLCJjaXR5IjoiUGFyaXMiLCJ6aXBDb2RlIjoiNzUwMTUiLCJkZXBhcnRtZW50IjoiNzUifSwiY2l0eSI6IlBhcmlzIiwiY291bnRyeSI6IkZSIiwiZGV2aWNlT3MiOiJtYWNPUyIsImRldmljZVBsYXRmb3JtIjoiV2Vic2l0ZSIsInJhd1VzZXJBZ2VudCI6Ik1vemlsbGEvNS4wIChNYWNpbnRvc2g7IEludGVsIE1hYyBPUyBYIDEwXzE1XzcpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMDIuMC4wLjAgU2FmYXJpLzUzNy4zNiJ9LCJnZHByIjp7Imhhc0NvbnNlbnQiOmZhbHNlLCJjb25zZW50U3RyaW5nIjoiQlBhbzY5dVBhNHd2WkFBQUJBRlJBQkFBQUFBQUFBIn0sIm5wIjoiNGNCNHVhQW5ncFliZ0RRYXliUGFnUT09IiwiZ3AiOiI3K05UVjErK0ttWndkcDhuTVd3NGl3PT0iLCJjdXJyZW5jeSI6IkVVUiIsIndpbiI6ZmFsc2UsImZvcm1hdCI6MywiZGlzcGxheVR5cGUiOiJzdGlja3kiLCJhZElkIjoxNjgsImFkdmVydGlzZXJJZCI6MjEsImNhbXBhaWduSWQiOjUzNSwiY3JlYXRpdmVJZCI6NzEsImVycm9yIjpmYWxzZX19.8hkPblKo1y1hftESf7e0GN9EzJ1LNVposv_a0TS4h_8&redirect=" style="height: 100%; width: 100%; border: 0;"></iframe><script src="https://tag-stg.bliink.io/creative.min.js?cb=0.0.0"></script>',
|
|
127
|
+
mediaType: 'banner',
|
|
128
|
+
cpm: 4,
|
|
85
129
|
currency: 'EUR',
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
viewability_duration: 1,
|
|
92
|
-
viewability_percent_in_view: 30,
|
|
93
|
-
content: {
|
|
94
|
-
creative: {
|
|
95
|
-
adm: '<html lang="en"></html>',
|
|
96
|
-
}
|
|
97
|
-
}
|
|
130
|
+
creativeId: '34567erty',
|
|
131
|
+
width: 300,
|
|
132
|
+
height: 250,
|
|
133
|
+
ttl: 3600,
|
|
134
|
+
netRevenue: true,
|
|
98
135
|
}
|
|
99
136
|
}
|
|
100
137
|
|
|
101
|
-
const getConfigCreativeVideo = () => {
|
|
138
|
+
const getConfigCreativeVideo = (isNoVast) => {
|
|
102
139
|
return {
|
|
103
|
-
|
|
104
|
-
|
|
140
|
+
mediaType: 'video',
|
|
141
|
+
vastXml: isNoVast ? '' : '<VAST></VAST>',
|
|
142
|
+
cpm: 0,
|
|
105
143
|
currency: 'EUR',
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
144
|
+
creativeId: '34567ertyaza',
|
|
145
|
+
requestId: '6a204ce130280d',
|
|
146
|
+
width: 300,
|
|
147
|
+
height: 250,
|
|
148
|
+
ttl: 3600,
|
|
149
|
+
netRevenue: true,
|
|
110
150
|
}
|
|
111
151
|
}
|
|
112
152
|
|
|
@@ -120,14 +160,11 @@ const getConfigBuildRequest = (placement) => {
|
|
|
120
160
|
bidderCode: 'bliink',
|
|
121
161
|
bids: [getConfigBid(placement)],
|
|
122
162
|
refererInfo: {
|
|
163
|
+
canonicalUrl: null,
|
|
164
|
+
isAmp: false,
|
|
165
|
+
numIframes: 0,
|
|
166
|
+
reachedTop: true,
|
|
123
167
|
page: 'http://localhost:9999/integrationExamples/gpt/bliink-adapter.html?pbjs_debug=true',
|
|
124
|
-
legacy: {
|
|
125
|
-
canonicalUrl: null,
|
|
126
|
-
isAmp: false,
|
|
127
|
-
numIframes: 0,
|
|
128
|
-
reachedTop: true,
|
|
129
|
-
referer: 'http://localhost:9999/integrationExamples/gpt/bliink-adapter.html?pbjs_debug=true',
|
|
130
|
-
}
|
|
131
168
|
},
|
|
132
169
|
}
|
|
133
170
|
|
|
@@ -158,8 +195,9 @@ const getConfigInterpretResponse = (noAd = false) => {
|
|
|
158
195
|
|
|
159
196
|
return {
|
|
160
197
|
body: {
|
|
161
|
-
|
|
198
|
+
...getConfigCreative(),
|
|
162
199
|
mode: 'ad',
|
|
200
|
+
transactionId: '2def0c5b2a7f6e',
|
|
163
201
|
token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MjgxNzA4MzEsImlhdCI6MTYyNzU2NjAzMSwiaXNzIjoiYmxpaW5rIiwiZGF0YSI6eyJ0eXBlIjoiYWQtc2VydmVyIiwidHJhbnNhY3Rpb25JZCI6IjM1YmU1NDNjLTNkZTQtNGQ1Yy04N2NjLWIzYzEyOGZiYzU0MCIsIm5ldHdvcmtJZCI6MjEsInNpdGVJZCI6NTksInRhZ0lkIjo1OSwiY29va2llSWQiOiJjNGU4MWVhOS1jMjhmLTQwZDItODY1ZC1hNjQzZjE1OTcyZjUiLCJldmVudElkIjozLCJ0YXJnZXRpbmciOnsicGxhdGZvcm0iOiJXZWJzaXRlIiwiaXAiOiI3OC4xMjIuNzUuNzIiLCJ0aW1lIjoxNjI3NTY2MDMxLCJsb2NhdGlvbiI6eyJsYXRpdHVkZSI6NDguOTczOSwibG9uZ2l0dWRlIjozLjMxMTMsInJlZ2lvbiI6IkhERiIsImNvdW50cnkiOiJGUiIsImNpdHkiOiJTYXVsY2hlcnkiLCJ6aXBDb2RlIjoiMDIzMTAiLCJkZXBhcnRtZW50IjoiMDIifSwiY2l0eSI6IlNhdWxjaGVyeSIsImNvdW50cnkiOiJGUiIsImRldmljZU9zIjoibWFjT1MiLCJkZXZpY2VQbGF0Zm9ybSI6IldlYnNpdGUiLCJyYXdVc2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xNV83KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTEuMC40NDcyLjEyNCBTYWZhcmkvNTM3LjM2In0sImdkcHIiOnsiaGFzQ29uc2VudCI6dHJ1ZX0sIndpbiI6ZmFsc2UsImFkSWQiOjU2NDgsImFkdmVydGlzZXJJZCI6MSwiY2FtcGFpZ25JZCI6MSwiY3JlYXRpdmVJZCI6MjgyNSwiZXJyb3IiOmZhbHNlfX0.-UefQH4G0k-RJGemBYffs-KL7EEwma2Wuwgk2xnpij8'
|
|
164
202
|
},
|
|
165
203
|
headers: {},
|
|
@@ -171,7 +209,7 @@ const getConfigInterpretResponse = (noAd = false) => {
|
|
|
171
209
|
* @param noAd
|
|
172
210
|
* @return {{body: string} | {mode: string, message: string}}
|
|
173
211
|
*/
|
|
174
|
-
const getConfigInterpretResponseRTB = (noAd = false) => {
|
|
212
|
+
const getConfigInterpretResponseRTB = (noAd = false, isInvalidVast = false) => {
|
|
175
213
|
if (noAd) {
|
|
176
214
|
return {
|
|
177
215
|
message: 'invalid tag',
|
|
@@ -179,20 +217,51 @@ const getConfigInterpretResponseRTB = (noAd = false) => {
|
|
|
179
217
|
}
|
|
180
218
|
}
|
|
181
219
|
|
|
220
|
+
const validVast = `
|
|
221
|
+
<VAST version="3">
|
|
222
|
+
<Ad>
|
|
223
|
+
<Wrapper>
|
|
224
|
+
<AdSystem>BLIINK</AdSystem>
|
|
225
|
+
<VASTAdTagURI>https://vast.bliink.io/p/508379d0-9f65-4198-8ba5-f61f2b51224f.xml</VASTAdTagURI>
|
|
226
|
+
<Error>https://e.api.bliink.io/e?name=vast-error&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MzQwMzA1MjcsImlhdCI6MTYzMzQyNTcyNywiaXNzIjoiYmxpaW5rIiwiZGF0YSI6eyJ0eXBlIjoiYWQtc2VydmVyIiwidHJhbnNhY3Rpb25JZCI6ImE2NjJjZGJmLTkzNDYtNDI0MS1iMTU0LTJhOTc2OTg0NjNmOSIsIm5ldHdvcmtJZCI6MjUsInNpdGVJZCI6MTQzLCJ0YWdJZCI6MTI3MSwiY29va2llSWQiOiIwNWFhN2UwMi05MzgzLTQ1NGYtOTJmZC1jOTE2YWNlMmUyZjYiLCJldmVudElkIjozLCJ0YXJnZXRpbmciOnsicGxhdGZvcm0iOiJXZWJzaXRlIiwicmVmZXJyZXIiOiJodHRwOi8vbG9jYWxob3N0OjgxODEvaW50ZWdyYXRpb25FeGFtcGxlcy9ncHQvYmxpaW5rLWluc3RyZWFtLmh0bWwiLCJwYWdlVXJsIjoiaHR0cDovL2xvY2FsaG9zdDo4MTgxL2ludGVncmF0aW9uRXhhbXBsZXMvZ3B0L2JsaWluay1pbnN0cmVhbS5odG1sIiwiaXAiOiIzMS4zOS4xNDEuMTQwIiwidGltZSI6MTYzMzQyNTcyNywibG9jYXRpb24iOnsibGF0aXR1ZGUiOjQ4Ljk0MjIsImxvbmdpdHVkZSI6Mi41MDM5LCJyZWdpb24iOiJJREYiLCJjb3VudHJ5IjoiRlIiLCJjaXR5IjoiQXVsbmF5LXNvdXMtQm9pcyIsInppcENvZGUiOiI5MzYwMCIsImRlcGFydG1lbnQiOiI5MyJ9LCJjaXR5IjoiQXVsbmF5LXNvdXMtQm9pcyIsImNvdW50cnkiOiJGUiIsImRldmljZU9zIjoibWFjT1MiLCJkZXZpY2VQbGF0Zm9ybSI6IldlYnNpdGUiLCJyYXdVc2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xNV83KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTMuMC40NTc3LjYzIFNhZmFyaS81MzcuMzYiLCJjb250ZW50Q2xhc3NpZmljYXRpb24iOnsiYnJhbmRzYWZlIjpmYWxzZX19LCJnZHByIjp7Imhhc0NvbnNlbnQiOnRydWV9LCJ3aW4iOmZhbHNlLCJhZElkIjo1NzkzLCJhZHZlcnRpc2VySWQiOjEsImNhbXBhaWduSWQiOjEsImNyZWF0aXZlSWQiOjExOTQsImVycm9yIjpmYWxzZX19.nJSJPKovg0_jSHtLdrMPDqesAIlFKCuXPXYxpsyWBDw</Error>
|
|
227
|
+
<Impression>https://e.api.bliink.io/e?name=impression&token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MzQwMzA1MjcsImlhdCI6MTYzMzQyNTcyNywiaXNzIjoiYmxpaW5rIiwiZGF0YSI6eyJ0eXBlIjoiYWQtc2VydmVyIiwidHJhbnNhY3Rpb25JZCI6ImE2NjJjZGJmLTkzNDYtNDI0MS1iMTU0LTJhOTc2OTg0NjNmOSIsIm5ldHdvcmtJZCI6MjUsInNpdGVJZCI6MTQzLCJ0YWdJZCI6MTI3MSwiY29va2llSWQiOiIwNWFhN2UwMi05MzgzLTQ1NGYtOTJmZC1jOTE2YWNlMmUyZjYiLCJldmVudElkIjozLCJ0YXJnZXRpbmciOnsicGxhdGZvcm0iOiJXZWJzaXRlIiwicmVmZXJyZXIiOiJodHRwOi8vbG9jYWxob3N0OjgxODEvaW50ZWdyYXRpb25FeGFtcGxlcy9ncHQvYmxpaW5rLWluc3RyZWFtLmh0bWwiLCJwYWdlVXJsIjoiaHR0cDovL2xvY2FsaG9zdDo4MTgxL2ludGVncmF0aW9uRXhhbXBsZXMvZ3B0L2JsaWluay1pbnN0cmVhbS5odG1sIiwiaXAiOiIzMS4zOS4xNDEuMTQwIiwidGltZSI6MTYzMzQyNTcyNywibG9jYXRpb24iOnsibGF0aXR1ZGUiOjQ4Ljk0MjIsImxvbmdpdHVkZSI6Mi41MDM5LCJyZWdpb24iOiJJREYiLCJjb3VudHJ5IjoiRlIiLCJjaXR5IjoiQXVsbmF5LXNvdXMtQm9pcyIsInppcENvZGUiOiI5MzYwMCIsImRlcGFydG1lbnQiOiI5MyJ9LCJjaXR5IjoiQXVsbmF5LXNvdXMtQm9pcyIsImNvdW50cnkiOiJGUiIsImRldmljZU9zIjoibWFjT1MiLCJkZXZpY2VQbGF0Zm9ybSI6IldlYnNpdGUiLCJyYXdVc2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xNV83KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvOTMuMC40NTc3LjYzIFNhZmFyaS81MzcuMzYiLCJjb250ZW50Q2xhc3NpZmljYXRpb24iOnsiYnJhbmRzYWZlIjpmYWxzZX19LCJnZHByIjp7Imhhc0NvbnNlbnQiOnRydWV9LCJ3aW4iOmZhbHNlLCJhZElkIjo1NzkzLCJhZHZlcnRpc2VySWQiOjEsImNhbXBhaWduSWQiOjEsImNyZWF0aXZlSWQiOjExOTQsImVycm9yIjpmYWxzZX19.nJSJPKovg0_jSHtLdrMPDqesAIlFKCuXPXYxpsyWBDw</Impression>
|
|
228
|
+
<Extensions><Price>1</Price><Currency>EUR</Currency>
|
|
229
|
+
</Wrapper>
|
|
230
|
+
</Ad>
|
|
231
|
+
</VAST>
|
|
232
|
+
`
|
|
233
|
+
const invalidVast = `
|
|
234
|
+
<VASTZ version="3">
|
|
235
|
+
<Ad>
|
|
236
|
+
|
|
237
|
+
</Ad>
|
|
238
|
+
</VAST>
|
|
239
|
+
`
|
|
240
|
+
|
|
182
241
|
return {
|
|
183
|
-
body:
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
242
|
+
body: { bids: [
|
|
243
|
+
{
|
|
244
|
+
'creative': {
|
|
245
|
+
'video': {
|
|
246
|
+
'content': isInvalidVast ? invalidVast : validVast,
|
|
247
|
+
'height': 250,
|
|
248
|
+
'width': 300
|
|
249
|
+
},
|
|
250
|
+
'media_type': 'video',
|
|
251
|
+
'creativeId': 0,
|
|
252
|
+
},
|
|
253
|
+
'price': 0,
|
|
254
|
+
'id': '8121',
|
|
255
|
+
'token': 'token',
|
|
256
|
+
'mode': 'rtb',
|
|
257
|
+
'extras': {
|
|
258
|
+
'deal_id': '34567ertyaza',
|
|
259
|
+
'transaction_id': '2def0c5b2a7f6e'
|
|
260
|
+
},
|
|
261
|
+
'currency': 'EUR'
|
|
262
|
+
}
|
|
263
|
+
],
|
|
264
|
+
userSyncs: []}
|
|
196
265
|
}
|
|
197
266
|
}
|
|
198
267
|
|
|
@@ -261,31 +330,6 @@ describe('BLIINK Adapter getMetaList', function() {
|
|
|
261
330
|
* @description Array of tests used in describe function below
|
|
262
331
|
* @type {[{args: {fn: (string|Document)}, want: string, title: string}, {args: {fn: (string|Document)}, want: string, title: string}]}
|
|
263
332
|
*/
|
|
264
|
-
const testsParseXML = [
|
|
265
|
-
{
|
|
266
|
-
title: 'Should return null, if content length equal to 0',
|
|
267
|
-
args: {
|
|
268
|
-
fn: parseXML('')
|
|
269
|
-
},
|
|
270
|
-
want: null,
|
|
271
|
-
},
|
|
272
|
-
{
|
|
273
|
-
title: 'Should return null, if content isnt string',
|
|
274
|
-
args: {
|
|
275
|
-
fn: parseXML({})
|
|
276
|
-
},
|
|
277
|
-
want: null,
|
|
278
|
-
},
|
|
279
|
-
]
|
|
280
|
-
|
|
281
|
-
describe('BLIINK Adapter parseXML', function() {
|
|
282
|
-
for (const test of testsParseXML) {
|
|
283
|
-
it(test.title, () => {
|
|
284
|
-
const res = test.args.fn
|
|
285
|
-
expect(res).to.eql(test.want)
|
|
286
|
-
})
|
|
287
|
-
}
|
|
288
|
-
})
|
|
289
333
|
|
|
290
334
|
/**
|
|
291
335
|
*
|
|
@@ -334,29 +378,67 @@ describe('BLIINK Adapter isBidRequestValid', function() {
|
|
|
334
378
|
}
|
|
335
379
|
})
|
|
336
380
|
|
|
381
|
+
const vastXml = getConfigInterpretResponseRTB().body.bids[0].creative.video.content
|
|
382
|
+
|
|
337
383
|
const testsInterpretResponse = [
|
|
338
384
|
{
|
|
339
385
|
title: 'Should construct bid for video instream',
|
|
340
386
|
args: {
|
|
341
|
-
fn: spec.interpretResponse(getConfigInterpretResponseRTB(false)
|
|
387
|
+
fn: spec.interpretResponse(getConfigInterpretResponseRTB(false))
|
|
342
388
|
},
|
|
343
|
-
want: {
|
|
389
|
+
want: [{
|
|
344
390
|
cpm: 0,
|
|
345
391
|
currency: 'EUR',
|
|
346
392
|
height: 250,
|
|
347
393
|
width: 300,
|
|
348
|
-
creativeId:
|
|
394
|
+
creativeId: '34567ertyaza',
|
|
349
395
|
mediaType: 'video',
|
|
350
|
-
netRevenue:
|
|
396
|
+
netRevenue: true,
|
|
351
397
|
requestId: '2def0c5b2a7f6e',
|
|
352
398
|
ttl: 3600,
|
|
353
|
-
vastXml
|
|
354
|
-
|
|
399
|
+
vastXml,
|
|
400
|
+
vastUrl: 'data:text/xml;charset=utf-8;base64,' + btoa(vastXml.replace(/\\"/g, '"'))
|
|
401
|
+
}]
|
|
355
402
|
},
|
|
356
403
|
{
|
|
357
404
|
title: 'ServerResponse with message: invalid tag, return empty array',
|
|
358
405
|
args: {
|
|
359
|
-
fn: spec.interpretResponse(getConfigInterpretResponse(true)
|
|
406
|
+
fn: spec.interpretResponse(getConfigInterpretResponse(true))
|
|
407
|
+
},
|
|
408
|
+
want: []
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
title: 'ServerResponse with mediaType banner',
|
|
412
|
+
args: {
|
|
413
|
+
fn: spec.interpretResponse({body: {bids: [getConfigBannerBid()]}}),
|
|
414
|
+
},
|
|
415
|
+
want: [{
|
|
416
|
+
ad: '',
|
|
417
|
+
cpm: 1,
|
|
418
|
+
creativeId: '34567erty',
|
|
419
|
+
currency: 'EUR',
|
|
420
|
+
height: 250,
|
|
421
|
+
mediaType: 'banner',
|
|
422
|
+
netRevenue: true,
|
|
423
|
+
requestId: '2def0c5b2a7f6e',
|
|
424
|
+
ttl: 3600,
|
|
425
|
+
width: 300
|
|
426
|
+
}]
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
title: 'ServerResponse with unhandled mediaType, return empty array',
|
|
430
|
+
args: {
|
|
431
|
+
fn: spec.interpretResponse({body: {bids: [{...getConfigBannerBid(),
|
|
432
|
+
creative: {
|
|
433
|
+
unknown: {
|
|
434
|
+
adm: '',
|
|
435
|
+
height: 250,
|
|
436
|
+
width: 300,
|
|
437
|
+
},
|
|
438
|
+
media_type: 'unknown',
|
|
439
|
+
creativeId: 125,
|
|
440
|
+
requestId: '2def0c5b2a7f6e',
|
|
441
|
+
}}]}}),
|
|
360
442
|
},
|
|
361
443
|
want: []
|
|
362
444
|
},
|
|
@@ -391,6 +473,7 @@ describe('BLIINK Adapter interpretResponse', function() {
|
|
|
391
473
|
* }
|
|
392
474
|
* }, want, title: string}]}
|
|
393
475
|
*/
|
|
476
|
+
|
|
394
477
|
const testsBuildBid = [
|
|
395
478
|
{
|
|
396
479
|
title: 'Should return null if no bid passed in parameters',
|
|
@@ -409,7 +492,7 @@ const testsBuildBid = [
|
|
|
409
492
|
{
|
|
410
493
|
title: 'input data respect the output model for video',
|
|
411
494
|
args: {
|
|
412
|
-
fn: buildBid(
|
|
495
|
+
fn: buildBid(getConfigVideoBid('video'), getConfigCreativeVideo())
|
|
413
496
|
},
|
|
414
497
|
want: {
|
|
415
498
|
requestId: getConfigBid('video').bidId,
|
|
@@ -418,16 +501,47 @@ const testsBuildBid = [
|
|
|
418
501
|
mediaType: 'video',
|
|
419
502
|
width: 300,
|
|
420
503
|
height: 250,
|
|
421
|
-
creativeId:
|
|
422
|
-
netRevenue:
|
|
423
|
-
vastXml: getConfigCreativeVideo().
|
|
504
|
+
creativeId: getConfigVideoBid().extras.deal_id,
|
|
505
|
+
netRevenue: true,
|
|
506
|
+
vastXml: getConfigCreativeVideo().vastXml,
|
|
507
|
+
vastUrl: 'data:text/xml;charset=utf-8;base64,' + btoa(getConfigCreativeVideo().vastXml.replace(/\\"/g, '"')),
|
|
508
|
+
ttl: 3600,
|
|
509
|
+
}
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
title: 'use default height width output model for video',
|
|
513
|
+
args: {
|
|
514
|
+
fn: buildBid({...getConfigVideoBid('video'),
|
|
515
|
+
creative: {
|
|
516
|
+
video: {
|
|
517
|
+
content:
|
|
518
|
+
'<VAST></VAST>',
|
|
519
|
+
height: null,
|
|
520
|
+
width: null,
|
|
521
|
+
},
|
|
522
|
+
media_type: 'video',
|
|
523
|
+
creativeId: getConfigVideoBid().extras.deal_id,
|
|
524
|
+
requestId: '2def0c5b2a7f6e',
|
|
525
|
+
}}, getConfigCreativeVideo())
|
|
526
|
+
},
|
|
527
|
+
want: {
|
|
528
|
+
requestId: getConfigBid('video').bidId,
|
|
529
|
+
cpm: 1,
|
|
530
|
+
currency: 'EUR',
|
|
531
|
+
mediaType: 'video',
|
|
532
|
+
width: 1,
|
|
533
|
+
height: 1,
|
|
534
|
+
creativeId: getConfigVideoBid().extras.deal_id,
|
|
535
|
+
netRevenue: true,
|
|
536
|
+
vastXml: getConfigCreativeVideo().vastXml,
|
|
537
|
+
vastUrl: 'data:text/xml;charset=utf-8;base64,' + btoa(getConfigCreativeVideo().vastXml.replace(/\\"/g, '"')),
|
|
424
538
|
ttl: 3600,
|
|
425
539
|
}
|
|
426
540
|
},
|
|
427
541
|
{
|
|
428
542
|
title: 'input data respect the output model for banner',
|
|
429
543
|
args: {
|
|
430
|
-
fn: buildBid(
|
|
544
|
+
fn: buildBid(getConfigBannerBid())
|
|
431
545
|
},
|
|
432
546
|
want: {
|
|
433
547
|
requestId: getConfigBid('banner').bidId,
|
|
@@ -436,10 +550,10 @@ const testsBuildBid = [
|
|
|
436
550
|
mediaType: 'banner',
|
|
437
551
|
width: 300,
|
|
438
552
|
height: 250,
|
|
439
|
-
creativeId: getConfigCreative().
|
|
440
|
-
ad:
|
|
553
|
+
creativeId: getConfigCreative().creativeId,
|
|
554
|
+
ad: getConfigBannerBid().creative.banner.adm,
|
|
441
555
|
ttl: 3600,
|
|
442
|
-
netRevenue:
|
|
556
|
+
netRevenue: true,
|
|
443
557
|
}
|
|
444
558
|
}
|
|
445
559
|
]
|
|
@@ -471,23 +585,27 @@ const testsBuildRequests = [
|
|
|
471
585
|
fn: spec.buildRequests([], getConfigBuildRequest('banner'))
|
|
472
586
|
},
|
|
473
587
|
want: {
|
|
474
|
-
method: '
|
|
475
|
-
url:
|
|
476
|
-
params: {
|
|
477
|
-
bidderRequestId: getConfigBuildRequest('banner').bidderRequestId,
|
|
478
|
-
bidderCode: getConfigBuildRequest('banner').bidderCode,
|
|
479
|
-
bids: getConfigBuildRequest('banner').bids,
|
|
480
|
-
refererInfo: getConfigBuildRequest('banner').refererInfo.legacy
|
|
481
|
-
},
|
|
588
|
+
method: 'POST',
|
|
589
|
+
url: BLIINK_ENDPOINT_ENGINE,
|
|
482
590
|
data: {
|
|
483
|
-
gdpr: false,
|
|
484
|
-
gdpr_consent: '',
|
|
485
|
-
height: 250,
|
|
486
|
-
width: 300,
|
|
487
591
|
keywords: '',
|
|
488
592
|
pageDescription: '',
|
|
489
593
|
pageTitle: '',
|
|
490
594
|
pageUrl: 'http://localhost:9999/integrationExamples/gpt/bliink-adapter.html?pbjs_debug=true',
|
|
595
|
+
tags: [
|
|
596
|
+
{
|
|
597
|
+
transactionId: '2def0c5b2a7f6e',
|
|
598
|
+
id: '14f30eca-85d2-11e8-9eed-0242ac120007',
|
|
599
|
+
imageUrl: '',
|
|
600
|
+
mediaTypes: ['banner'],
|
|
601
|
+
sizes: [
|
|
602
|
+
{
|
|
603
|
+
h: 250,
|
|
604
|
+
w: 300,
|
|
605
|
+
},
|
|
606
|
+
],
|
|
607
|
+
},
|
|
608
|
+
]
|
|
491
609
|
}
|
|
492
610
|
}
|
|
493
611
|
},
|
|
@@ -502,23 +620,83 @@ const testsBuildRequests = [
|
|
|
502
620
|
}))
|
|
503
621
|
},
|
|
504
622
|
want: {
|
|
505
|
-
method: '
|
|
506
|
-
url:
|
|
507
|
-
params: {
|
|
508
|
-
bidderRequestId: getConfigBuildRequest('banner').bidderRequestId,
|
|
509
|
-
bidderCode: getConfigBuildRequest('banner').bidderCode,
|
|
510
|
-
bids: getConfigBuildRequest('banner').bids,
|
|
511
|
-
refererInfo: getConfigBuildRequest('banner').refererInfo.legacy
|
|
512
|
-
},
|
|
623
|
+
method: 'POST',
|
|
624
|
+
url: BLIINK_ENDPOINT_ENGINE,
|
|
513
625
|
data: {
|
|
514
626
|
gdpr: true,
|
|
515
|
-
|
|
627
|
+
gdprConsent: 'XXXX',
|
|
516
628
|
pageDescription: '',
|
|
517
629
|
pageTitle: '',
|
|
518
630
|
keywords: '',
|
|
519
631
|
pageUrl: 'http://localhost:9999/integrationExamples/gpt/bliink-adapter.html?pbjs_debug=true',
|
|
520
|
-
|
|
521
|
-
|
|
632
|
+
tags: [
|
|
633
|
+
{
|
|
634
|
+
transactionId: '2def0c5b2a7f6e',
|
|
635
|
+
id: '14f30eca-85d2-11e8-9eed-0242ac120007',
|
|
636
|
+
imageUrl: '',
|
|
637
|
+
mediaTypes: ['banner'],
|
|
638
|
+
sizes: [
|
|
639
|
+
{
|
|
640
|
+
h: 250,
|
|
641
|
+
w: 300,
|
|
642
|
+
},
|
|
643
|
+
],
|
|
644
|
+
},
|
|
645
|
+
]
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
title: 'Should build request width schain if exists',
|
|
651
|
+
args: {
|
|
652
|
+
fn: spec.buildRequests([{schain: {
|
|
653
|
+
ver: '1.0',
|
|
654
|
+
complete: 1,
|
|
655
|
+
nodes: [{
|
|
656
|
+
asi: 'ssp.test',
|
|
657
|
+
sid: '00001',
|
|
658
|
+
hp: 1
|
|
659
|
+
}]
|
|
660
|
+
}}], Object.assign(getConfigBuildRequest('banner'), {
|
|
661
|
+
gdprConsent: {
|
|
662
|
+
gdprApplies: true,
|
|
663
|
+
consentString: 'XXXX'
|
|
664
|
+
},
|
|
665
|
+
}))
|
|
666
|
+
},
|
|
667
|
+
want: {
|
|
668
|
+
method: 'POST',
|
|
669
|
+
url: BLIINK_ENDPOINT_ENGINE,
|
|
670
|
+
data: {
|
|
671
|
+
gdpr: true,
|
|
672
|
+
gdprConsent: 'XXXX',
|
|
673
|
+
pageDescription: '',
|
|
674
|
+
pageTitle: '',
|
|
675
|
+
keywords: '',
|
|
676
|
+
pageUrl: 'http://localhost:9999/integrationExamples/gpt/bliink-adapter.html?pbjs_debug=true',
|
|
677
|
+
schain: {
|
|
678
|
+
ver: '1.0',
|
|
679
|
+
complete: 1,
|
|
680
|
+
nodes: [{
|
|
681
|
+
asi: 'ssp.test',
|
|
682
|
+
sid: '00001',
|
|
683
|
+
hp: 1
|
|
684
|
+
}]
|
|
685
|
+
},
|
|
686
|
+
tags: [
|
|
687
|
+
{
|
|
688
|
+
transactionId: '2def0c5b2a7f6e',
|
|
689
|
+
id: '14f30eca-85d2-11e8-9eed-0242ac120007',
|
|
690
|
+
imageUrl: '',
|
|
691
|
+
mediaTypes: ['banner'],
|
|
692
|
+
sizes: [
|
|
693
|
+
{
|
|
694
|
+
h: 250,
|
|
695
|
+
w: 300,
|
|
696
|
+
},
|
|
697
|
+
],
|
|
698
|
+
},
|
|
699
|
+
]
|
|
522
700
|
}
|
|
523
701
|
}
|
|
524
702
|
}
|
|
@@ -533,7 +711,7 @@ describe('BLIINK Adapter buildRequests', function() {
|
|
|
533
711
|
}
|
|
534
712
|
})
|
|
535
713
|
|
|
536
|
-
const getSyncOptions = (pixelEnabled = true, iframeEnabled =
|
|
714
|
+
const getSyncOptions = (pixelEnabled = true, iframeEnabled = false) => {
|
|
537
715
|
return {
|
|
538
716
|
pixelEnabled,
|
|
539
717
|
iframeEnabled
|
|
@@ -543,7 +721,15 @@ const getSyncOptions = (pixelEnabled = true, iframeEnabled = 'false') => {
|
|
|
543
721
|
const getServerResponses = () => {
|
|
544
722
|
return [
|
|
545
723
|
{
|
|
546
|
-
body:
|
|
724
|
+
body: {bids: [],
|
|
725
|
+
userSyncs: [ {
|
|
726
|
+
type: 'script',
|
|
727
|
+
url: 'https://prg.smartadserver.com/ac?out=js&nwid=3392&siteid=305791&pgname=rg&fmtid=81127&tgt=[sas_target]&visit=m&tmstp=[timestamp]&clcturl=[countgo]'
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
type: 'image',
|
|
731
|
+
url: 'https://sync.smartadserver.com/getuid?nwid=3392&consentString=XXX&url=https%3A%2F%2Fcookiesync.api.bliink.io%2Fcookiesync%3Fpartner%3Dsmart%26uid%3D%5Bsas_uid%5D'
|
|
732
|
+
}]},
|
|
547
733
|
}
|
|
548
734
|
]
|
|
549
735
|
}
|
|
@@ -551,7 +737,8 @@ const getServerResponses = () => {
|
|
|
551
737
|
const getGdprConsent = () => {
|
|
552
738
|
return {
|
|
553
739
|
gdprApplies: 1,
|
|
554
|
-
consentString: 'XXX'
|
|
740
|
+
consentString: 'XXX',
|
|
741
|
+
apiVersion: 2
|
|
555
742
|
}
|
|
556
743
|
}
|
|
557
744
|
|
|
@@ -569,39 +756,39 @@ const testsGetUserSyncs = [
|
|
|
569
756
|
{
|
|
570
757
|
type: 'image',
|
|
571
758
|
url: 'https://sync.smartadserver.com/getuid?nwid=3392&consentString=XXX&url=https%3A%2F%2Fcookiesync.api.bliink.io%2Fcookiesync%3Fpartner%3Dsmart%26uid%3D%5Bsas_uid%5D'
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
{
|
|
582
|
-
type: 'image',
|
|
583
|
-
url: 'https://cookiesync.api.bliink.io/getuid?url=https%3A%2F%2Fvisitor.omnitagjs.com%2Fvisitor%2Fsync%3Fuid%3D1625272249969090bb9d544bd6d8d645%26name%3DBLIINK%26visitor%3D%24UID%26external%3Dtrue&consentString=XXX',
|
|
584
|
-
},
|
|
585
|
-
{
|
|
586
|
-
type: 'image',
|
|
587
|
-
url: 'https://cookiesync.api.bliink.io/getuid?url=https://pixel.advertising.com/ups/58444/sync?&gdpr=1&gdpr_consent=XXX&redir=true&uid=$UID',
|
|
588
|
-
},
|
|
759
|
+
}
|
|
760
|
+
]
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
title: 'Should return iframe cookie sync if iframeEnabled',
|
|
764
|
+
args: {
|
|
765
|
+
fn: spec.getUserSyncs(getSyncOptions(true, true), getServerResponses(), getGdprConsent())
|
|
766
|
+
},
|
|
767
|
+
want: [
|
|
589
768
|
{
|
|
590
|
-
type: '
|
|
591
|
-
url:
|
|
769
|
+
type: 'iframe',
|
|
770
|
+
url: `${BLIINK_ENDPOINT_COOKIE_SYNC_IFRAME}?gdpr=${getGdprConsent().gdprApplies}&coppa=0&gdprConsent=${getGdprConsent().consentString}&apiVersion=${getGdprConsent().apiVersion}`
|
|
592
771
|
},
|
|
772
|
+
]
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
title: 'ccpa',
|
|
776
|
+
args: {
|
|
777
|
+
fn: spec.getUserSyncs(getSyncOptions(true, true), getServerResponses(), getGdprConsent(), 'ccpa-consent')
|
|
778
|
+
},
|
|
779
|
+
want: [
|
|
593
780
|
{
|
|
594
|
-
type: '
|
|
595
|
-
url:
|
|
781
|
+
type: 'iframe',
|
|
782
|
+
url: `${BLIINK_ENDPOINT_COOKIE_SYNC_IFRAME}?gdpr=${getGdprConsent().gdprApplies}&coppa=0&uspConsent=ccpa-consent&gdprConsent=${getGdprConsent().consentString}&apiVersion=${getGdprConsent().apiVersion}`
|
|
596
783
|
},
|
|
597
784
|
]
|
|
598
785
|
},
|
|
599
786
|
{
|
|
600
|
-
title: 'Should
|
|
787
|
+
title: 'Should output sync if no gdprConsent',
|
|
601
788
|
args: {
|
|
602
789
|
fn: spec.getUserSyncs(getSyncOptions(), getServerResponses())
|
|
603
790
|
},
|
|
604
|
-
want: []
|
|
791
|
+
want: getServerResponses()[0].body.userSyncs
|
|
605
792
|
}
|
|
606
793
|
]
|
|
607
794
|
|