Skip to content

Commit

Permalink
Merge pull request #13 from dailymotion-oss/dailymotion_move_api_key_…
Browse files Browse the repository at this point in the history
…to_bidparam

Dailymotion bid adapter: Move API key to bid params (fix tests)
  • Loading branch information
sebmil-daily authored Apr 4, 2024
2 parents 53bd3df + fbd456d commit 2bfbc13
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 37 deletions.
4 changes: 2 additions & 2 deletions modules/dailymotionBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export const spec = {
* @return boolean True if this is a valid bid, and false otherwise.
*/
isBidRequestValid: function (bid) {
return (typeof bid.params.apiKey === 'string');
return ((typeof bid !== 'undefined') && (typeof bid?.params?.apiKey === 'string') && (bid.params.apiKey.length > 10));
},

/**
Expand All @@ -74,7 +74,7 @@ export const spec = {
uspConsent: bidderRequest?.uspConsent || '',
},
config: {
api_key = bid.params.apiKey
api_key: bid.params.apiKey
},
coppa: config.getConfig('coppa'),
request: {
Expand Down
60 changes: 25 additions & 35 deletions test/spec/modules/dailymotionBidAdapter_spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,29 @@ import { spec } from 'modules/dailymotionBidAdapter.js';
import { VIDEO } from '../../../src/mediaTypes';

describe('dailymotionBidAdapterTests', () => {
// Validate that isBidRequestValid only validates requests with api_key
// Validate that isBidRequestValid only validates requests with apiKey
it('validates isBidRequestValid', () => {
config.setBidderConfig({
bidders: ['dailymotion'],
config: { dailymotion: {} },
});

expect(config.runWithBidder('dailymotion', () => spec.isBidRequestValid())).to.be.false;

config.setBidderConfig({
bidders: ['dailymotion'],
config: { dailymotion: { api_key: 'test_api_key' } },
});
const bidWithEmptyApi = {
params: {
apiKey: '',
},
};

expect(config.runWithBidder('dailymotion', () => spec.isBidRequestValid())).to.be.true;
expect(config.runWithBidder('dailymotion', () => spec.isBidRequestValid(bidWithEmptyApi))).to.be.false;

const bidWithApi = {
params: {
apiKey: 'test_api_key',
},
};

expect(config.runWithBidder('dailymotion', () => spec.isBidRequestValid(bidWithApi))).to.be.true;
});

// Validate request generation
it('validates buildRequests', () => {
const dmConfig = { api_key: 'test_api_key' };

config.setBidderConfig({
bidders: ['dailymotion'],
config: { dailymotion: dmConfig },
});

config.setConfig({ coppa: true });

const bidRequestData = [{
Expand All @@ -49,6 +46,7 @@ describe('dailymotionBidAdapterTests', () => {
},
sizes: [[1920, 1080]],
params: {
apiKey: 'test_api_key',
video: {
duration: 556,
id: '54321',
Expand Down Expand Up @@ -83,9 +81,9 @@ describe('dailymotionBidAdapterTests', () => {

expect(request.url).to.equal('https://pb.dmxleo.com');

expect(reqData.config).to.eql(dmConfig);
expect(reqData.coppa).to.be.true;
expect(reqData.bidder_request).to.eql(bidderRequestData);
expect(reqData.config.api_key).to.eql(bidRequestData[0].params.apiKey);
expect(reqData.coppa).to.be.true;
expect(reqData.request.auctionId).to.eql(bidRequestData[0].auctionId);
expect(reqData.request.bidId).to.eql(bidRequestData[0].bidId);
expect(reqData.request.mediaTypes.video.api).to.eql(bidRequestData[0].mediaTypes.video.api);
Expand All @@ -107,25 +105,24 @@ describe('dailymotionBidAdapterTests', () => {
});

it('validates buildRequests - with default values on empty bid & bidder request', () => {
const dmConfig = { api_key: 'test_api_key' };

config.setBidderConfig({
bidders: ['dailymotion'],
config: { dailymotion: dmConfig },
});
const bidRequestDataWithApi = [{
params: {
apiKey: 'test_api_key',
},
}];

config.setConfig({ coppa: false });

const [request] = config.runWithBidder(
'dailymotion',
() => spec.buildRequests([{}], {}),
() => spec.buildRequests(bidRequestDataWithApi, {}),
);

const { data: reqData } = request;

expect(request.url).to.equal('https://pb.dmxleo.com');

expect(reqData.config).to.eql(dmConfig);
expect(reqData.config.api_key).to.eql(bidRequestDataWithApi[0].params.apiKey);
expect(reqData.coppa).to.be.false;

expect(reqData.bidder_request).to.eql({
Expand Down Expand Up @@ -169,13 +166,6 @@ describe('dailymotionBidAdapterTests', () => {
});

it('validates buildRequests - with empty/undefined validBidRequests', () => {
const dmConfig = { api_key: 'test_api_key' };

config.setBidderConfig({
bidders: ['dailymotion'],
config: { dailymotion: dmConfig },
});

expect(spec.buildRequests([], {})).to.have.lengthOf(0);

expect(spec.buildRequests(undefined, {})).to.have.lengthOf(0);
Expand Down

0 comments on commit 2bfbc13

Please sign in to comment.