Skip to content

Commit

Permalink
oguryBidAdapter: handle cookie syncing on prebid.js (#7207)
Browse files Browse the repository at this point in the history
  • Loading branch information
antoinezaz authored Jul 23, 2021
1 parent ad14def commit 84a39c6
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
11 changes: 11 additions & 0 deletions modules/oguryBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { registerBidder } from '../src/adapters/bidderFactory.js';
const BIDDER_CODE = 'ogury';
const DEFAULT_TIMEOUT = 1000;
const BID_HOST = 'https://mweb-hb.presage.io/api/header-bidding-request';
const MS_COOKIE_SYNC_DOMAIN = 'https://ms-cookie-sync.presage.io';

function isBidRequestValid(bid) {
const adUnitSizes = getAdUnitSizes(bid);
Expand All @@ -18,6 +19,15 @@ function isBidRequestValid(bid) {
return (isValidSizes && isValidAdUnitId && isValidAssetKey);
}

function getUserSyncs(syncOptions, serverResponses, gdprConsent, uspConsent) {
if (!syncOptions.pixelEnabled) return [];

return [{
type: 'image',
url: `${MS_COOKIE_SYNC_DOMAIN}/v1/init-sync/bid-switch?iab_string=${gdprConsent.consentString}&source=prebid`
}]
}

function buildRequests(validBidRequests, bidderRequest) {
const openRtbBidRequestBanner = {
id: bidderRequest.auctionId,
Expand Down Expand Up @@ -129,6 +139,7 @@ export const spec = {
code: BIDDER_CODE,
supportedMediaTypes: [BANNER],
isBidRequestValid,
getUserSyncs,
buildRequests,
interpretResponse,
getFloor
Expand Down
35 changes: 35 additions & 0 deletions test/spec/modules/oguryBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,41 @@ describe('OguryBidAdapter', function () {
});
});

describe('getUserSyncs', function() {
let syncOptions, gdprConsent;

beforeEach(() => {
syncOptions = {pixelEnabled: true};
gdprConsent = {
gdprApplies: true,
consentString: 'CPJl4C8PJl4C8OoAAAENAwCMAP_AAH_AAAAAAPgAAAAIAPgAAAAIAAA.IGLtV_T9fb2vj-_Z99_tkeYwf95y3p-wzhheMs-8NyZeH_B4Wv2MyvBX4JiQKGRgksjLBAQdtHGlcTQgBwIlViTLMYk2MjzNKJrJEilsbO2dYGD9Pn8HT3ZCY70-vv__7v3ff_3g'
};
});

it('should return syncs array with an element of type image', () => {
const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);

expect(userSyncs).to.have.lengthOf(1);
expect(userSyncs[0].type).to.equal('image');
expect(userSyncs[0].url).to.contain('https://ms-cookie-sync.presage.io/v1/init-sync/bid-switch');
});

it('should set the source as query param', () => {
const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
expect(userSyncs[0].url).to.contain('source=prebid');
});

it('should set the tcString as query param', () => {
const userSyncs = spec.getUserSyncs(syncOptions, [], gdprConsent);
expect(userSyncs[0].url).to.contain(`iab_string=${gdprConsent.consentString}`);
});

it('should return an empty array when pixel is disable', () => {
syncOptions.pixelEnabled = false;
expect(spec.getUserSyncs(syncOptions, [], gdprConsent)).to.have.lengthOf(0);
});
});

describe('buildRequests', function () {
const defaultTimeout = 1000;
const expectedRequestObject = {
Expand Down

0 comments on commit 84a39c6

Please sign in to comment.