From d65b09ad8376396266c0fecd65d41f275d7281c7 Mon Sep 17 00:00:00 2001 From: Nick Llerandi Date: Thu, 18 Feb 2021 19:22:38 -0500 Subject: [PATCH 1/3] removes duplicate eids from POST call --- modules/tripleliftBidAdapter.js | 22 +++++++++---------- .../spec/modules/tripleliftBidAdapter_spec.js | 6 ++--- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/tripleliftBidAdapter.js b/modules/tripleliftBidAdapter.js index 029cdd68331..ee790c14103 100644 --- a/modules/tripleliftBidAdapter.js +++ b/modules/tripleliftBidAdapter.js @@ -129,9 +129,9 @@ function _buildPostBody(bidRequests) { }); let eids = [ - ...getUnifiedIdEids(bidRequests), - ...getIdentityLinkEids(bidRequests), - ...getCriteoEids(bidRequests) + ...getUnifiedIdEids([bidRequests[0]]), + ...getIdentityLinkEids([bidRequests[0]]), + ...getCriteoEids([bidRequests[0]]) ]; if (eids.length > 0) { @@ -239,20 +239,20 @@ function _getExt(schain, fpd) { return ext; } -function getUnifiedIdEids(bidRequests) { - return getEids(bidRequests, 'tdid', 'adserver.org', 'TDID'); +function getUnifiedIdEids(bidRequest) { + return getEids(bidRequest, 'tdid', 'adserver.org', 'TDID'); } -function getIdentityLinkEids(bidRequests) { - return getEids(bidRequests, 'idl_env', 'liveramp.com', 'idl'); +function getIdentityLinkEids(bidRequest) { + return getEids(bidRequest, 'idl_env', 'liveramp.com', 'idl'); } -function getCriteoEids(bidRequests) { - return getEids(bidRequests, 'criteoId', 'criteo.com', 'criteoId'); +function getCriteoEids(bidRequest) { + return getEids(bidRequest, 'criteoId', 'criteo.com', 'criteoId'); } -function getEids(bidRequests, type, source, rtiPartner) { - return bidRequests +function getEids(bidRequest, type, source, rtiPartner) { + return bidRequest .map(getUserId(type)) // bids -> userIds of a certain type .filter((x) => !!x) // filter out null userIds .map(formatEid(source, rtiPartner)); // userIds -> eid objects diff --git a/test/spec/modules/tripleliftBidAdapter_spec.js b/test/spec/modules/tripleliftBidAdapter_spec.js index c5d00f4db2b..06c638df69a 100644 --- a/test/spec/modules/tripleliftBidAdapter_spec.js +++ b/test/spec/modules/tripleliftBidAdapter_spec.js @@ -512,9 +512,9 @@ describe('triplelift adapter', function () { const criteoId = '53e30ea700424f7bbdd793b02abc5d7'; const bidRequestsMultiple = [ - { ...bidRequests[0], userId: { tdid: tdidId } }, - { ...bidRequests[0], userId: { idl_env: idlEnvId } }, - { ...bidRequests[0], userId: { criteoId: criteoId } } + { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId } }, + { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId } }, + { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId } } ]; const request = tripleliftAdapterSpec.buildRequests(bidRequestsMultiple, bidderRequest); From 0e9deb5df4c5ab41641d72133cd21c20b628c2ea Mon Sep 17 00:00:00 2001 From: Nick Llerandi Date: Mon, 22 Feb 2021 12:26:15 -0500 Subject: [PATCH 2/3] additional tests --- test/spec/modules/tripleliftBidAdapter_spec.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/spec/modules/tripleliftBidAdapter_spec.js b/test/spec/modules/tripleliftBidAdapter_spec.js index 06c638df69a..1f942921ab5 100644 --- a/test/spec/modules/tripleliftBidAdapter_spec.js +++ b/test/spec/modules/tripleliftBidAdapter_spec.js @@ -506,7 +506,7 @@ describe('triplelift adapter', function () { }); }); - it('should add user ids from multiple bid requests', function () { + it('should consolidate user ids from multiple bid requests', function () { const tdidId = '6bca7f6b-a98a-46c0-be05-6020f7604598'; const idlEnvId = 'XY6104gr0njcH9UDIR7ysFFJcm2XNpqeJTYslleJ_cMlsFOfZI'; const criteoId = '53e30ea700424f7bbdd793b02abc5d7'; @@ -553,6 +553,9 @@ describe('triplelift adapter', function () { ] } }); + + expect(payload.user.ext.eids).to.be.an('array'); + expect(payload.user.ext.eids).to.have.lengthOf(3); }); it('should return a query string for TL call', function () { From 224dc40450366a418d93ff76fdfcb86d4d8a36fc Mon Sep 17 00:00:00 2001 From: Nick Llerandi Date: Mon, 22 Feb 2021 13:36:42 -0500 Subject: [PATCH 3/3] pubcid support --- modules/tripleliftBidAdapter.js | 7 ++++++- test/spec/modules/tripleliftBidAdapter_spec.js | 18 ++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/modules/tripleliftBidAdapter.js b/modules/tripleliftBidAdapter.js index ee790c14103..b681b0980ea 100644 --- a/modules/tripleliftBidAdapter.js +++ b/modules/tripleliftBidAdapter.js @@ -131,7 +131,8 @@ function _buildPostBody(bidRequests) { let eids = [ ...getUnifiedIdEids([bidRequests[0]]), ...getIdentityLinkEids([bidRequests[0]]), - ...getCriteoEids([bidRequests[0]]) + ...getCriteoEids([bidRequests[0]]), + ...getPubCommonEids([bidRequests[0]]) ]; if (eids.length > 0) { @@ -251,6 +252,10 @@ function getCriteoEids(bidRequest) { return getEids(bidRequest, 'criteoId', 'criteo.com', 'criteoId'); } +function getPubCommonEids(bidRequest) { + return getEids(bidRequest, 'pubcid', 'pubcid.org', 'pubcid'); +} + function getEids(bidRequest, type, source, rtiPartner) { return bidRequest .map(getUserId(type)) // bids -> userIds of a certain type diff --git a/test/spec/modules/tripleliftBidAdapter_spec.js b/test/spec/modules/tripleliftBidAdapter_spec.js index 1f942921ab5..eb410c2525d 100644 --- a/test/spec/modules/tripleliftBidAdapter_spec.js +++ b/test/spec/modules/tripleliftBidAdapter_spec.js @@ -510,11 +510,12 @@ describe('triplelift adapter', function () { const tdidId = '6bca7f6b-a98a-46c0-be05-6020f7604598'; const idlEnvId = 'XY6104gr0njcH9UDIR7ysFFJcm2XNpqeJTYslleJ_cMlsFOfZI'; const criteoId = '53e30ea700424f7bbdd793b02abc5d7'; + const pubcid = '3261d8ad-435d-481d-abd1-9f1a9ec99f0e'; const bidRequestsMultiple = [ - { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId } }, - { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId } }, - { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId } } + { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId, pubcid } }, + { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId, pubcid } }, + { ...bidRequests[0], userId: { tdid: tdidId, idl_env: idlEnvId, criteoId, pubcid } } ]; const request = tripleliftAdapterSpec.buildRequests(bidRequestsMultiple, bidderRequest); @@ -549,13 +550,22 @@ describe('triplelift adapter', function () { ext: { rtiPartner: 'criteoId' } } ] + }, + { + source: 'pubcid.org', + uids: [ + { + id: '3261d8ad-435d-481d-abd1-9f1a9ec99f0e', + ext: { rtiPartner: 'pubcid' } + } + ] } ] } }); expect(payload.user.ext.eids).to.be.an('array'); - expect(payload.user.ext.eids).to.have.lengthOf(3); + expect(payload.user.ext.eids).to.have.lengthOf(4); }); it('should return a query string for TL call', function () {