Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging back with prebid master #1

Merged
merged 334 commits into from
Jan 23, 2019
Merged

Merging back with prebid master #1

merged 334 commits into from
Jan 23, 2019

Conversation

mmoses
Copy link

@mmoses mmoses commented Jan 23, 2019

Type of change

  • Bugfix
  • Feature
  • New bidder adapter
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Does this change affect user-facing APIs or examples documented on http://prebid.org?
  • Other

Description of change

  • test parameters for validating bids
{
  bidder: '<bidder name>',
  params: {
    // ...
  }
}

Be sure to test the integration with your adserver using the Hello World sample page.

  • contact email of the adapter’s maintainer
  • official adapter submission

For any changes that affect user-facing APIs or example code documented on http://prebid.org, please provide:

Other information

iijimalo1023 and others added 30 commits September 19, 2018 15:02
* add: Documentation of RDN BidAdapter

* fix: inside documentation of Placement ID item area

* add: RDN bid adapter

* fix: modify ENDPOINT constant name

* add: rdnBidAdapter_spec(work in progress)

* add: interpretResponse unit test

* fix: adUnits format

* fix: adSpotId key

* fix: interpretResponse process

* fix: nobid response spec

* fix: cpm value

* change param key

* Added UID sync correspondence. Expand the response SyncURL as a beacon.
Delete language acquisition deplecated method.

* Bid end point changed to destination.

* test code url fixed

* Corrected items pointed out
· Extra definition deletion
· Remove unnecessary processing

* Added test code of getUserSyncs.

* test parameter fixed.
* check gdpr in buildRequest

* User sync based on whether gdpr applies or not

* check if consent data exists during user sync

* split user sync into further branches: 1) when gdpr does not apply 2) when consent data is unavailable

* contribute viewability to ttxRequest

* update tests

* remove window mock from tests

* use local variables

* introduce ServerRequestBuilder

* add withOptions() method to ServerRequestBuilder

* add semicolons

* sync up package-lock.json with upstream/master

* stub window.top in tests

* introduce getTopWindowSize() for test purpose

* reformat code

* add withSite() method to TtxRequestBuilder

add withSite() method to TtxRequestBuilder

* add isIframe() and _isViewabilityMeasurable()

* handle NON_MEASURABLE viewability in nested iframes

* consider page visibility, stub utils functions getWindowTop() and getWindowSelf()

* contribute viewability as 0 for inactive tab
* add stickyadsTV bidder adapter

* init unit test file

* ad some unit tests

* fix unit test on ad format with parameters

* add some unit tests

* add unit tests on getBid method

* add some test cases in unit tests

* minor fix on component id tag.

* remove adapters-sticky.json test file

* use top most accessible window instead of window.top

* Pass in the bid request in the createBid call.

* use top most accessible window instead of window.top

* add unit tests

* update unit tests

* fix unit test.

* fix CI build

* add alias freewheel-ssp

* update unit tests on bidderCode value

* fix component id values and add unit tests

* allws to use any outstream format.

* fix ASLoader on futur outstream format versions

* minor: fix code format.

* update unit tests

* minor fix code format

* minor: add missing new line at eof

* replace StickyAdsTVAdapter by freewheel ssp bd adapter (for prebid 1.0)

* remove old stickyadstv unittest spec.

* fix server response parsing if sent as object with 'body' field

* use the vastXml field for video mediatype

* add user sync pixel in freewheel ssp adapter

* remove all console log calls (replaced using util helper)

* remove useless bidderCode (automatically added by the bidderFactory)

* Return the SYNC pixel to be added in the page by Prebid.js

* remove instance level properties to enable concurrent bids with the same adapter instance.

* fix the request apss through and corresponding unit tests

* fix 'freeheelssp' typo

* add vast parameters feature and GDPR params in VAST request

* fix lint issues

* add gdpr parameter support on freewheelSSPBidAdapter

* use bidderrequest to read gdpr parameters and update unit tests

* fix lint errors

* fix lint errors

* fix typo and bidderRequest reference.

* fix bidderRequest reference.

* add missing declaration for 'key' variable

* rename frewheel ssp bid adapter files to match the bidder code (fix custom download issues)

* update unit tests using the new name freewheel-ssp

* update documented test zone to a more recent one

* target created div insitead of original placement (avoid some misplaced ad)

* fix target div size

* add key and timestamp parameters for a better request identification.

* Remove the arrow function call so the style  is consistent throughout the file
* Switched to native Prebid user syncs support.

* Removed bid CPM adjustment warning to prevent using globals.
* adds jcsi param

* adds try catch
* Initial revision of adocean bid adapter (ADOCEAN-13634, ADOCEAN-13635)

* Minor fixes

* new demo placement

* formating after lint

* move request parameters to params

* adocean adpater tests

* minor fixes

* added ttl, netRevenue nad creativeId. merged with upstream

* GDPR support

* do not send empty gdpr_consent

* GDPR support

* do not send empty gdpr_consent

* AdOcean adapter: tests for gdpr_support

* remove old comment

* Added possibility to use multiple times same ad placement

* Tests for placement duplication and gdpr support.

* formating
* Trafficroots bid adapter submission.  Thank you!

* unit test

* typo fix
* adding account_id to s2s bidder-sync request

* changed param name from account_id to account
* bug fix for Prebid issue 3111

* adding try-catch around the fix

* added a warning on exception handling

* updated the message

* using util.deepClone

* changed variable name from original_bid to originalBid

* unit test case for checking original object modification
* encoding ref param in sbi.js

* fixed unit tests

* template stringed creative

* fixed unit test checking ref param

* add some missing colons
* add playback method to video targeting

* bump adapter version

* add maxduration to video targeting
…er (#3131)

* passing new copy of adUnits object to every adapter

* add test to verify bidders can't mutate eachothers bid requests
* initial commit

* updated contact and tag details

* changes ti support the renderers

* changes to pass dimId

* fixed names of internal mapping

* added comment

* added gdpr param to request and other fixes

* modified api url

* fix

* fixed the secure api call

* rolled back video event callback till we support it
…3129)

* fixes #3128 YieldlabBidAdapter is not using bidRequest.params.adSize as customsize in bidResponse

* fixes #3128 YieldlabBidAdapter is not using bidRequest.params.adSize as customsize in bidResponse - add test
* add stickyadsTV bidder adapter

* init unit test file

* ad some unit tests

* fix unit test on ad format with parameters

* add some unit tests

* add unit tests on getBid method

* add some test cases in unit tests

* minor fix on component id tag.

* remove adapters-sticky.json test file

* use top most accessible window instead of window.top

* Pass in the bid request in the createBid call.

* use top most accessible window instead of window.top

* add unit tests

* update unit tests

* fix unit test.

* fix CI build

* add alias freewheel-ssp

* update unit tests on bidderCode value

* fix component id values and add unit tests

* allws to use any outstream format.

* fix ASLoader on futur outstream format versions

* minor: fix code format.

* update unit tests

* minor fix code format

* minor: add missing new line at eof

* replace StickyAdsTVAdapter by freewheel ssp bd adapter (for prebid 1.0)

* remove old stickyadstv unittest spec.

* fix server response parsing if sent as object with 'body' field

* use the vastXml field for video mediatype

* add user sync pixel in freewheel ssp adapter

* remove all console log calls (replaced using util helper)

* remove useless bidderCode (automatically added by the bidderFactory)

* Return the SYNC pixel to be added in the page by Prebid.js

* remove instance level properties to enable concurrent bids with the same adapter instance.

* fix the request apss through and corresponding unit tests

* fix 'freeheelssp' typo

* add vast parameters feature and GDPR params in VAST request

* fix lint issues

* add gdpr parameter support on freewheelSSPBidAdapter

* use bidderrequest to read gdpr parameters and update unit tests

* fix lint errors

* fix lint errors

* fix typo and bidderRequest reference.

* fix bidderRequest reference.

* add missing declaration for 'key' variable

* rename frewheel ssp bid adapter files to match the bidder code (fix custom download issues)

* update unit tests using the new name freewheel-ssp

* update documented test zone to a more recent one

* target created div insitead of original placement (avoid some misplaced ad)

* fix target div size

* add key and timestamp parameters for a better request identification.

* Remove the arrow function call so the style  is consistent throughout the file

* update position configuration for freewheel-sspBidAdapter

* add unit tests for the new display case
…#3087)

* DecodeUrl if url is encoded

Appnexus new module is passing the encoded url and sometimes Publisher are passing encoded url in the referrer parameter. 
This fix is a protection in case a module is update and start passing encode url. Our AE is not decoding and from some test I did, monetisation could be highly impacted.

* Update rubiconBidAdapter.js

* Update rubiconBidAdapter_spec.js

* Update rubiconBidAdapter_spec.js

* Update rubiconBidAdapter_spec.js

* Update rubiconBidAdapter_spec.js

* Update rubiconBidAdapter_spec.js

* Update rubiconBidAdapter_spec.js

* Update rubiconBidAdapter.js

* Update rubiconBidAdapter.js

* Update rubiconBidAdapter_spec.js

* Update rubiconBidAdapter.js

* Update rubiconBidAdapter_spec.js

* Update rubiconBidAdapter_spec.js
* Add: rxrtb prebidAdapter

* Update: params for test

* Update: code format

* Update: code format

* Update: code format

* Fix param check

* Update rxrtbBidAdapter.js

* Remove required source param

* Update and rename rxrtbBidAdapter.js to rexrtbBidAdapter.js

* Update and rename rxrtbBidAdapter.md to rexrtbBidAdapter.md

* Update and rename rxrtbBidAdapter_spec.js to rexrtbBidAdapter_spec.js

* Revert "Update rxrtbBidAdapter.js"

This reverts commit 09bca02.

* Revert "Update and rename rxrtbBidAdapter_spec.js to rexrtbBidAdapter_spec.js"

This reverts commit 2481c58.

* Revert "Update and rename rxrtbBidAdapter.md to rexrtbBidAdapter.md"

This reverts commit af9a491.

* Revert "Update and rename rxrtbBidAdapter.js to rexrtbBidAdapter.js"

This reverts commit 81a17ad.

* Revert "Remove required source param"

This reverts commit 38b273d.

*  Revert "Update rxrtbBidAdapter.js"

* Update and rename rexrtbPrebid
* Add ADSpend bidder adapter

* Remove superfluous argument and fix bug with sizes

* Change bidder aliases

* Replace fetch with ajax from src/ajax.js

* Store win event URL in memory, not in cookie

* Use getConfig(...) instead of nested access

* Add sending multiple impressions to bidder
aneuway2 and others added 26 commits January 8, 2019 10:01
* Adding remaining missing parameters from AppNexus Native response

* Removed native video, renamed sale and clickLabel to RTB spec names

* drop video from tests
* 3413-Insert Iframes for user sync in body

* Append Iframe as the last child

* Add unit test for insertElement

* utls insert element at the top by default

* add unit tests for utls insert element

* Insert iframe as html last child

* revert package.lock changes
* changing default currency file

* using defaultRate in the case of rate file not returning

* Adding date macro

* added unit tests for date macro support in currency file url, and small fix to date macro in currency.js

* replaced string concatenations with string literals

* removed unnecessary parens
* added suppor for grabbing digitrust id off the window

* added digitrust support
* Update the Gamoshi Gambid adapter to simply the Gamoshi adapter

This is a minor branding change to highlight the Gamoshi brand name. The
biddercode "gambid" is still retained in the adapter aliases array.

* update whitelabel

* Add  test that checks support for outstream renderers

* Update testing and page ref

* Modify bidder's url resolving

* Fix lint issue with bidder's url resolving
* otm

* ALF-95

* otm: modify adapter to support migration to a new ssp

* otm: fixed spec
* 	- pubnx new bidder adapter created
	- pubnx doc file created

* 	- Spec file added.

* 	- Vertoz removed from response text

* removed pubnx from serverbid

since there will be a standalone adapter, the pubnx alias needs to removed from here

* 	- pubnx response parameters updated

* 	- build request params updated
* Add Adhese adapter

* Support empty impressionCounters

* Fix the description

* Replace Object.entries with Object.keys

* Cleanup

* Use const instead of let

* Internal functions are no longer exposed

* Rename getter

* Use the bid parameters pointing to the existing demo position
* Teads adapter: handle playerSize

* Handle multiple mediatypes sizes

* Clean sizes logic
* changes to support native in pubmaticbid adapter

* Removed port from endpoint

* Removed protocol from endpoint

* Formatting

* Fix request payload

* Updated test case

* Changed request and response as per ortb spec

* Change in request and response

* Removed comments and extra code

* Code Review comments

* Code Review Comments and Test cases for request and response

* Removed data type as all data asset types are handled

* Code Review Changes

* Code Review Comments

* Supporting both banner and native and sending 0x0 in case of native

* Bug Fixes

* Bug response not processed by prebid

* Change warning message

* Fixed typo

* Do not send request in case of invalid native bid

* Do not send request in case of invalid native requests

* objects converted to strings in log for debug purposes

* Fixed logic to check for required parmas

* Fixed typo for stringify

* documentation for native

* Review comments from Prebid

* Typo

* Typo

* Updated pub id for native

* Code Review
* initial orbidder version in personal github repo

* use adUnits from orbidder_example.html

* replace obsolete functions

* forgot to commit the test

* check if bidderRequest object is available

* try to fix weird safari/ie issue
* 3413-Insert Iframes for user sync in body

* Append Iframe as the last child

* Add unit test for insertElement

* utls insert element at the top by default

* add unit tests for utls insert element

* Insert iframe as html last child

* revert package.lock changes

* Override keywords in setTargetingForAst
* added babel plugin to replace webpack StringReplacementPlugin

* remove ignore-loader in favor of filtering non .js files as modules

* make all imports relative for projects not using our resolver

* refactor adaptermanager to adapterManager

* convert adapterManager to be compatible with latest version of babel

* refactored utils with es6 exports

* fixing tests

* fixing stubs and tests

* babelrc updated to be used externally from parent project

* remove $prebid.version$ from gulp and add to babel plugin

* fix tests to use actual prebid.version rather than string literal

* refactor all modules to use relative imports w/o webpack resolver

* fix test in old safari

* update package-lock.json

* remove unnecessary json-loader

* update babel plugin to use same @babel/core

* add instructions for using prebid as npm depenedency added to readme

* remove unused variable in global babel plugin

* fixed missing internal.createTrackPixelIframeHtml

* fix relative pathing for new modules
* Add eplanningBidAdapter

* Add new parameter to request

* Fix sync URL parameter

* Update cleanName regexp

* Update tests for new cleanName
* remove comment that isn't relevant anymore.  tll in targeting code

* bid caching option added (default on)

* fix typo in config name
* Create advenueBidAdapter.js

* Create advenueBidAdapter.md

* Update pbjs_example_gpt.html

Add advenue integration example

* Advenue test

Added test for advenue adapter

* changes made

* edit

* edit

* Syntax error corrected

* Remove grunt, changed ajv version to 6.2.2

* Edit

* Update package-lock.json

* removed response validation

* removed unused variables

* Removed deprecated method

* Package-lock.json deleted

* https://github.com/devadvenue/Prebid.js.git deleted

* del

* Add package-lock.json from main repository

* Delete package-lock.json

* Only pushing original file resolves merge conflict

* Update advenueBidAdapter.js

Changed URL, used BidderRequest object

* Update advenueBidAdapter_spec.js

* Update package-lock.json

* Update advenueBidAdapter_spec.js
* calling for currency file even when default rates are specified

* fixed broken unit tests

* added unit test to check that currency file is still requested even when default rates are set
* LiveYield Analytics Adapter

* tests corrections

* fixed getPlacementOrAdUnitCode function

* corrections

* paths fixed

* adaptermanager import fixed

* manager corrections
@mmoses mmoses merged commit 1c6a6e2 into yieldnexus:master Jan 23, 2019
sa1omon pushed a commit that referenced this pull request Feb 4, 2019
* ET-1691: Pulsepoint Analytics adapter for Prebid. (#1)

* ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter

* ET-1691: Adding pulsepoint analytics and tests for pulsepoint adapter

* ET-1691: cleanup

* ET-1691: minor

* ET-1691: revert package.json change

* Adding bidRequest to bidFactory.createBid method as per prebid#509

* ET-1765: Adding support for additional params in PulsePoint adapter (prebid#2)

* ET-1850: Fixing prebid#866

* Minor fix

* Adding mandatory parameters to Bid

* PulsePoint crid fix
sa1omon pushed a commit that referenced this pull request Apr 6, 2019
* add initial files

* add local storage and cookie browser support functions

* added additional test cases for functions related to local storage and cookie browser support

* added validate config function and first unit test

* add validate config test

* updated local storage key value to match change to requirements/spec

* updated submodule config key names to match requirements/spec

* added TODO with validation logic breakdown as well as a question on how to handle both 'value' and 'storage' existing in config

* add TODO addressing use-case: Publisher has integrated with OpenID on their own

* fixed comment

* rearranged unit tests for config functions to be grouped correctly

* added logic to valid that a submodule contains a config with a value or storage obj

* removed sinon mock of config.getConfig, replaced with obj literal definition in function arguments

* additional use cases added to validateConfig tests

* refactored init function

* refactored to remove a function and reduce number of iterations of submodules and configs

* add logic to pass config value obj data to adapter, also a small amount of refactoring/formatting cleanup

* added configuration examples to markdown file

* add add request bid hook to the initSubmodules function

* added requestBidBook in preparation to test mock setup/configuration. add test for one storage type active with only one module configured to use that type

* refactored requestBidHook with dependency injection for unit testing

* had to revert revision to use dependency injection in the requestBidHook due to necessary use of prebid global object affecting following tests

* created initial file for integration example

* updated integration using brett's test page.

* updated extendedBidRequestData to be a function expression, which allows watching the first element added to add the bid request hook

* removed redundant constant for enabled submodules within init submodules

* added retrieve storage value and logic to call submodule.getId if stored value does not exist

* added submodule getId fallback when storage value does not exist

* extended addUnit bid requests with universalId data, add logging for invalid config storage type, revised commenting

* add logic to set storage and pass decoded data in getId response handler

* updated initModules unit test mock data to fix broken tests from previous module additions/updates

* updated comments for consistency

* fixed module description comment

* add overrideId interface and implementation to the pubCommonId submodule

* fix to only check for override method value if submodule has a configKey set in the config

* added unit test for submodule override method implementation

* completed the pubCommonId submodule getId implementation; changed pubCommonId submodule default expires value to today + 8 years

* changed openId submodule default expires value to today + 8 years; added final todo comments, pertaining to openId submodule decode and getId methods

* fixed formatting to correct linting errors during building

* update jsdoc comments for IdSubmodule

* added jsdoc comments for overrideId submodule interface method

* changed the overrideId return value conditional to require a valid object, added a todo note to investigate using separate instance callbacks to handle multiple timers for syncDelay/auctionDelay

* add ajax request to openId submodule getId, awaiting values for request params and response structure and format for storage and structure for adding to bid requests

* updated openId submodule getId error logging and callback handling

* fix obj path access for syncDelay, updated example file with pubCommonId configured

* fix for broken unit tests resulting from update of overrideId addition to submodule interface

* replace use of built-in array find method, with import of 'core-js/library/fn/array/find', fixes/updates for integration example for module

* refactored config handling in initSubmodules to accept a plain js object opposed to a prebid Config object (this simplifies testing setup)

* created init method to wrap initSubmodules with config

* refactored module's config to watch/handle changes

* removed overrideId submodule interface, change openId to unifiedId

* update getId and decode uid data structure also updated integration example

* updated object structure for universal ids that is added to bid request, add universalID object handling to rubiconBidAdapter

* updated markdown example configuration

* fix for syncDelay, added auction end listener before setting syncDelay timer

* update to prepare universalID object if adUnits exists

* add gdpr consent data to request bids hook, warn on not found, info if found

* add test for valid gdpr consent string, exits universal id module on fail

* update gdpr consent to check gdprApplies, add cmp code to integration example. update init to use dependency injection

* implemented test for gdpr consent to store locally (purpose #1)

* added consentString decode to check for purpose #1 (user consents to have data stored locally)

* fix initSubmodule function arguments for changed signature

* changed submodule getId method signature to pass a consentData argument

* tests update with dependency container

* update spec to un-comment disabled expect statement

* in-progress DI conversion

* update to fix test missing dependency for utils

* removed getIdCallbackHandler function because it was inlined within initSubmodules. refactored dependencyContainer argument names to dependencies

* add unit test case for configurations that define invalid storage.type values (only cookie or html5 are valid)

* fixes for html5 storage in module and unit tests. temp comment-out for gdpr test in requestBid hook as it's being refactored into getId submodule methods

* fixes for html5 storage in module and unit tests. temp comment-out for gdpr test in requestBid hook as it's being refactored into getId submodule methods

* added opt_out cookie logic to init

* in-progress commit to update getId method signature with initialized consentManagement data

* changed priority to consent management module's value + 1

* updated both submodule getId functions with consent data handling.

* update hasGDPRConsent to remove unnecessary test for consentData obj since it's tested outside of function, removed utils from dependency injection

* update to move local declarations outside if block, added local var for log prefix since it was accessed more than twice

* changed log prefix to build the string locally instead of passing through getIdData obj

* bug fix for request bid hook priority race condition

* removed consentData prop from init dependencies obj, updated jsdoc comments removing consentData prop

* removed consentData prop from init arguments

* update integration example to test gdpr cmpApi type of 'static'

* refactor to combine request bid hooks into single hook, also other opts and formatting changes

* additions/updates to logging, additions/updates to jsdoc comments, various refactoring and formatting updates

* fixed how GDPR purpose 1 permission is checked, removed decode function and read from consentData.vendorConsents.purposeConsents[1] (key value 1 is for "purpose 1")

* fix for hasGDPRConsent functions, changed object prop accessor name from 'consentData.vendorConsent' to 'consentData.vendorData'

* small changes to log messages and code formatting

* changed submodule property configKey to configName for consistency with the submodule config property name

* updated logging message text and small format change

* updated jsdoc comment to reduce line length

* formatting fix and jsdoc update

* reverted changes to support universal id in rubiconBidAdapter, will open a separate PR for the adapter code changes.

* added logging messages to catch statements

* fix unit tests using the document cookie

* fix to extra module name in log message

* changed function return type array to undefined on invalid config

* moved encodeURIComponenent and decodeURIComponenent into setCookie and getCookie

* refactor to resolve issues creating certain unit tests

* add tests for config variations, small fixes for issues found writing tests

* removed debug console.log statements

* removed set initializedSubmodules value in init

* fix to remove test cookie from spec, updated example with submodule config value object

* added tests checking that config submodule props create correct number of submodules

* added test for syncDelay config update

* fixes for LGTM and imports for src are now relative

* formatting fix semicolon

* test reverted to debug circleci failure

* changed request bids hook priority to load after consentManagement

* test to resolve circle ci errors

* test to resolve circle ci errors

* fixed name camel case error

* changed unifiedid decode test property name from pubcid to ttid

* add universal id support to pbs bid adapter

* moved universal id pbs adapter support from this branch to it's own branch pbs-adapter-universal-id-support

* reverted pbs adapter removal

* always add ext.prebid.targeting.includewinners: true for openrtb

* removed unnecessary code

* renamed

* more renaming

* rename comment

* bugfixes and code removal

* reverted changes

* renamed

* fix

* formatting update

* bugfix for syncDelay in bidHook

* fix syncDelay === 0

* revisions from review with e.harper

* fix for storing unifiedid obj in local storage

* bug fix for expires days conversion

* changed default syncDelay

* removed comment example since it's in the markdown file

* added/updated comments

* tiny update to logic adding data to bids

* removed commented code

* formatting adjusted for consistency and comments added/updated

* bugfix changed conditional to use and instead of or

* optimization code removal

* updated bidRequestHook to reflect changes made in hooks.js, ect

* fixes for unit tests

* added more unit tests as well as small fixes for tests

* fixed import path

* removed unused import and sinon sandbox

* remove exports for unnecessary objects

* fix for circleci tests

* fix for util.setCookie exp format

* renamed module name references to User ID

* removed test for cookies enabled around the opt out, since the cookie will not be returned if not enabled. comments mentioning local storage updated with 'and cookies'

* add try catch around pubcommonid external function call, removed unused code, updated docs with other configuration examples

* fix for pub common id getId try catch

* Add microadBidAdapter

* change unified id to require either a url or partner config param

* Remove unnecessary encodeURIComponent from microadBidAdapter

* Submit Advangelists Prebid Adapter

* Submit Advangelists Prebid Adapter 1.1

* Correct procudtion endpoint for prebid

* updating example pubcid

* added support to opt-out with _pubcid_optout

* clear _pubcid_optout before tests

* disabled test that keeps timing out on circleci

* added logic for optout set in html5 local storage

* update fix conditional typeo

* removed skip on userId test

* added async done function call for failed circleci test

* update done called in bidsBackHandler in failed circleci test

* fix for lint error missing space after property name

* removed test that passes locally but fails with a timeout exceeded error on cirlceci for the Safari Browsers
sa1omon pushed a commit that referenced this pull request Apr 6, 2019
* add initial files

* add local storage and cookie browser support functions

* added additional test cases for functions related to local storage and cookie browser support

* added validate config function and first unit test

* add validate config test

* updated local storage key value to match change to requirements/spec

* updated submodule config key names to match requirements/spec

* added TODO with validation logic breakdown as well as a question on how to handle both 'value' and 'storage' existing in config

* add TODO addressing use-case: Publisher has integrated with OpenID on their own

* fixed comment

* rearranged unit tests for config functions to be grouped correctly

* added logic to valid that a submodule contains a config with a value or storage obj

* removed sinon mock of config.getConfig, replaced with obj literal definition in function arguments

* additional use cases added to validateConfig tests

* refactored init function

* refactored to remove a function and reduce number of iterations of submodules and configs

* add logic to pass config value obj data to adapter, also a small amount of refactoring/formatting cleanup

* added configuration examples to markdown file

* add add request bid hook to the initSubmodules function

* added requestBidBook in preparation to test mock setup/configuration. add test for one storage type active with only one module configured to use that type

* refactored requestBidHook with dependency injection for unit testing

* had to revert revision to use dependency injection in the requestBidHook due to necessary use of prebid global object affecting following tests

* created initial file for integration example

* updated integration using brett's test page.

* updated extendedBidRequestData to be a function expression, which allows watching the first element added to add the bid request hook

* removed redundant constant for enabled submodules within init submodules

* added retrieve storage value and logic to call submodule.getId if stored value does not exist

* added submodule getId fallback when storage value does not exist

* extended addUnit bid requests with universalId data, add logging for invalid config storage type, revised commenting

* add logic to set storage and pass decoded data in getId response handler

* updated initModules unit test mock data to fix broken tests from previous module additions/updates

* updated comments for consistency

* fixed module description comment

* add overrideId interface and implementation to the pubCommonId submodule

* fix to only check for override method value if submodule has a configKey set in the config

* added unit test for submodule override method implementation

* completed the pubCommonId submodule getId implementation; changed pubCommonId submodule default expires value to today + 8 years

* changed openId submodule default expires value to today + 8 years; added final todo comments, pertaining to openId submodule decode and getId methods

* fixed formatting to correct linting errors during building

* update jsdoc comments for IdSubmodule

* added jsdoc comments for overrideId submodule interface method

* changed the overrideId return value conditional to require a valid object, added a todo note to investigate using separate instance callbacks to handle multiple timers for syncDelay/auctionDelay

* add ajax request to openId submodule getId, awaiting values for request params and response structure and format for storage and structure for adding to bid requests

* updated openId submodule getId error logging and callback handling

* fix obj path access for syncDelay, updated example file with pubCommonId configured

* fix for broken unit tests resulting from update of overrideId addition to submodule interface

* replace use of built-in array find method, with import of 'core-js/library/fn/array/find', fixes/updates for integration example for module

* refactored config handling in initSubmodules to accept a plain js object opposed to a prebid Config object (this simplifies testing setup)

* created init method to wrap initSubmodules with config

* refactored module's config to watch/handle changes

* removed overrideId submodule interface, change openId to unifiedId

* update getId and decode uid data structure also updated integration example

* updated object structure for universal ids that is added to bid request, add universalID object handling to rubiconBidAdapter

* updated markdown example configuration

* fix for syncDelay, added auction end listener before setting syncDelay timer

* update to prepare universalID object if adUnits exists

* add gdpr consent data to request bids hook, warn on not found, info if found

* add test for valid gdpr consent string, exits universal id module on fail

* update gdpr consent to check gdprApplies, add cmp code to integration example. update init to use dependency injection

* implemented test for gdpr consent to store locally (purpose #1)

* added consentString decode to check for purpose #1 (user consents to have data stored locally)

* fix initSubmodule function arguments for changed signature

* changed submodule getId method signature to pass a consentData argument

* tests update with dependency container

* update spec to un-comment disabled expect statement

* in-progress DI conversion

* update to fix test missing dependency for utils

* removed getIdCallbackHandler function because it was inlined within initSubmodules. refactored dependencyContainer argument names to dependencies

* add unit test case for configurations that define invalid storage.type values (only cookie or html5 are valid)

* fixes for html5 storage in module and unit tests. temp comment-out for gdpr test in requestBid hook as it's being refactored into getId submodule methods

* fixes for html5 storage in module and unit tests. temp comment-out for gdpr test in requestBid hook as it's being refactored into getId submodule methods

* added opt_out cookie logic to init

* in-progress commit to update getId method signature with initialized consentManagement data

* changed priority to consent management module's value + 1

* updated both submodule getId functions with consent data handling.

* update hasGDPRConsent to remove unnecessary test for consentData obj since it's tested outside of function, removed utils from dependency injection

* update to move local declarations outside if block, added local var for log prefix since it was accessed more than twice

* changed log prefix to build the string locally instead of passing through getIdData obj

* bug fix for request bid hook priority race condition

* removed consentData prop from init dependencies obj, updated jsdoc comments removing consentData prop

* removed consentData prop from init arguments

* update integration example to test gdpr cmpApi type of 'static'

* refactor to combine request bid hooks into single hook, also other opts and formatting changes

* additions/updates to logging, additions/updates to jsdoc comments, various refactoring and formatting updates

* fixed how GDPR purpose 1 permission is checked, removed decode function and read from consentData.vendorConsents.purposeConsents[1] (key value 1 is for "purpose 1")

* fix for hasGDPRConsent functions, changed object prop accessor name from 'consentData.vendorConsent' to 'consentData.vendorData'

* small changes to log messages and code formatting

* changed submodule property configKey to configName for consistency with the submodule config property name

* updated logging message text and small format change

* updated jsdoc comment to reduce line length

* formatting fix and jsdoc update

* reverted changes to support universal id in rubiconBidAdapter, will open a separate PR for the adapter code changes.

* added logging messages to catch statements

* fix unit tests using the document cookie

* fix to extra module name in log message

* changed function return type array to undefined on invalid config

* moved encodeURIComponenent and decodeURIComponenent into setCookie and getCookie

* refactor to resolve issues creating certain unit tests

* add tests for config variations, small fixes for issues found writing tests

* removed debug console.log statements

* removed set initializedSubmodules value in init

* fix to remove test cookie from spec, updated example with submodule config value object

* added tests checking that config submodule props create correct number of submodules

* added test for syncDelay config update

* fixes for LGTM and imports for src are now relative

* formatting fix semicolon

* test reverted to debug circleci failure

* changed request bids hook priority to load after consentManagement

* test to resolve circle ci errors

* test to resolve circle ci errors

* fixed name camel case error

* changed unifiedid decode test property name from pubcid to ttid

* added universal id support to bid adapter

* added unit test for universal id support in bid adapter

* optimized last unit test added

* add initial files

* add local storage and cookie browser support functions

* added additional test cases for functions related to local storage and cookie browser support

* added validate config function and first unit test

* add validate config test

* updated local storage key value to match change to requirements/spec

* updated submodule config key names to match requirements/spec

* added TODO with validation logic breakdown as well as a question on how to handle both 'value' and 'storage' existing in config

* add TODO addressing use-case: Publisher has integrated with OpenID on their own

* fixed comment

* rearranged unit tests for config functions to be grouped correctly

* added logic to valid that a submodule contains a config with a value or storage obj

* removed sinon mock of config.getConfig, replaced with obj literal definition in function arguments

* additional use cases added to validateConfig tests

* refactored init function

* refactored to remove a function and reduce number of iterations of submodules and configs

* add logic to pass config value obj data to adapter, also a small amount of refactoring/formatting cleanup

* added configuration examples to markdown file

* add add request bid hook to the initSubmodules function

* added requestBidBook in preparation to test mock setup/configuration. add test for one storage type active with only one module configured to use that type

* refactored requestBidHook with dependency injection for unit testing

* had to revert revision to use dependency injection in the requestBidHook due to necessary use of prebid global object affecting following tests

* created initial file for integration example

* updated integration using brett's test page.

* updated extendedBidRequestData to be a function expression, which allows watching the first element added to add the bid request hook

* removed redundant constant for enabled submodules within init submodules

* added retrieve storage value and logic to call submodule.getId if stored value does not exist

* added submodule getId fallback when storage value does not exist

* extended addUnit bid requests with universalId data, add logging for invalid config storage type, revised commenting

* add logic to set storage and pass decoded data in getId response handler

* updated initModules unit test mock data to fix broken tests from previous module additions/updates

* updated comments for consistency

* fixed module description comment

* add overrideId interface and implementation to the pubCommonId submodule

* fix to only check for override method value if submodule has a configKey set in the config

* added unit test for submodule override method implementation

* completed the pubCommonId submodule getId implementation; changed pubCommonId submodule default expires value to today + 8 years

* changed openId submodule default expires value to today + 8 years; added final todo comments, pertaining to openId submodule decode and getId methods

* fixed formatting to correct linting errors during building

* update jsdoc comments for IdSubmodule

* added jsdoc comments for overrideId submodule interface method

* changed the overrideId return value conditional to require a valid object, added a todo note to investigate using separate instance callbacks to handle multiple timers for syncDelay/auctionDelay

* add ajax request to openId submodule getId, awaiting values for request params and response structure and format for storage and structure for adding to bid requests

* updated openId submodule getId error logging and callback handling

* fix obj path access for syncDelay, updated example file with pubCommonId configured

* fix for broken unit tests resulting from update of overrideId addition to submodule interface

* replace use of built-in array find method, with import of 'core-js/library/fn/array/find', fixes/updates for integration example for module

* refactored config handling in initSubmodules to accept a plain js object opposed to a prebid Config object (this simplifies testing setup)

* created init method to wrap initSubmodules with config

* refactored module's config to watch/handle changes

* removed overrideId submodule interface, change openId to unifiedId

* update getId and decode uid data structure also updated integration example

* updated object structure for universal ids that is added to bid request, add universalID object handling to rubiconBidAdapter

* updated markdown example configuration

* fix for syncDelay, added auction end listener before setting syncDelay timer

* update to prepare universalID object if adUnits exists

* add gdpr consent data to request bids hook, warn on not found, info if found

* add test for valid gdpr consent string, exits universal id module on fail

* update gdpr consent to check gdprApplies, add cmp code to integration example. update init to use dependency injection

* implemented test for gdpr consent to store locally (purpose #1)

* added consentString decode to check for purpose #1 (user consents to have data stored locally)

* fix initSubmodule function arguments for changed signature

* changed submodule getId method signature to pass a consentData argument

* tests update with dependency container

* update spec to un-comment disabled expect statement

* in-progress DI conversion

* update to fix test missing dependency for utils

* removed getIdCallbackHandler function because it was inlined within initSubmodules. refactored dependencyContainer argument names to dependencies

* add unit test case for configurations that define invalid storage.type values (only cookie or html5 are valid)

* fixes for html5 storage in module and unit tests. temp comment-out for gdpr test in requestBid hook as it's being refactored into getId submodule methods

* fixes for html5 storage in module and unit tests. temp comment-out for gdpr test in requestBid hook as it's being refactored into getId submodule methods

* added opt_out cookie logic to init

* in-progress commit to update getId method signature with initialized consentManagement data

* changed priority to consent management module's value + 1

* updated both submodule getId functions with consent data handling.

* update hasGDPRConsent to remove unnecessary test for consentData obj since it's tested outside of function, removed utils from dependency injection

* update to move local declarations outside if block, added local var for log prefix since it was accessed more than twice

* changed log prefix to build the string locally instead of passing through getIdData obj

* bug fix for request bid hook priority race condition

* removed consentData prop from init dependencies obj, updated jsdoc comments removing consentData prop

* removed consentData prop from init arguments

* update integration example to test gdpr cmpApi type of 'static'

* refactor to combine request bid hooks into single hook, also other opts and formatting changes

* additions/updates to logging, additions/updates to jsdoc comments, various refactoring and formatting updates

* fixed how GDPR purpose 1 permission is checked, removed decode function and read from consentData.vendorConsents.purposeConsents[1] (key value 1 is for "purpose 1")

* fix for hasGDPRConsent functions, changed object prop accessor name from 'consentData.vendorConsent' to 'consentData.vendorData'

* small changes to log messages and code formatting

* changed submodule property configKey to configName for consistency with the submodule config property name

* updated logging message text and small format change

* updated jsdoc comment to reduce line length

* formatting fix and jsdoc update

* reverted changes to support universal id in rubiconBidAdapter, will open a separate PR for the adapter code changes.

* added logging messages to catch statements

* fix unit tests using the document cookie

* fix to extra module name in log message

* changed function return type array to undefined on invalid config

* moved encodeURIComponenent and decodeURIComponenent into setCookie and getCookie

* refactor to resolve issues creating certain unit tests

* add tests for config variations, small fixes for issues found writing tests

* removed debug console.log statements

* removed set initializedSubmodules value in init

* fix to remove test cookie from spec, updated example with submodule config value object

* added tests checking that config submodule props create correct number of submodules

* added test for syncDelay config update

* fixes for LGTM and imports for src are now relative

* formatting fix semicolon

* test reverted to debug circleci failure

* changed request bids hook priority to load after consentManagement

* test to resolve circle ci errors

* test to resolve circle ci errors

* fixed name camel case error

* changed unifiedid decode test property name from pubcid to ttid

* added universal id support to bid adapter

* added unit test for universal id support in bid adapter

* optimized last unit test added

* renamed universalID to userId

* removed file from universal id branch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.