Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
33Across Analytics Adapter: initial release (#10635)
* initial 33across Analytics Adapter commit * refactoring + additional unit test coverage * Additional refactoring of 33x analytics unit tests * Apply CR feedback - Single responsibility for transaction manager - Send one report per auction - Clear pending events that were causing conflicts in specs * refactoring of "incomplete state" unit test * unit test coverage for duplicate transaction id * Add additional spec about non found transaction * obtain user ids via bid request, not via global fn. * Populate bid response fields for BID WON events * Prepare the cache for the bidresponse field population * populate bidResponse field * fix some typedef + remove unnecessary switch event cases * Populate bids based on BID_RESPONSE and not on the bidsReceived field of AUCTION_END * Populate floor CMP field * fix eslint errors * keep track of bids when bid_response event is received * Additional fn documentation * change jsdoc naming + spec refactoring * remote siteId, make endpoint specification optional (provide default), refactoring, fix tests * remove extraneous logs * simplify GAM logging * remove hardcoded version * general improvements to documentation with fixes to jsdoc types * update tests for style conformance * IDG-677/remove code related to GAM slotRenderEnded * IDG-677/remove typegen hint, and replace with jsdoc ref * IDG-677/replace bidsWon with hasWon field, add sendReport trigger on auctionEnd (in the case that auction ends AND not all bids have resolved), and general refactoring * IDG-677/update tests to ensure reports always match new spec, and general refactoring * IDG-677/add fallback to use adUnitCode as slotId if "ortb2Imp.ext.{gpid,data.pbadslot}" values are both missing * remove accidental file commits Ticket: IDG-677 * test that report is being sent as soon as all transactions for auction are completed Ticket: IDG-677 * remove extraneous transaction manager counting & status mechanism and track transactionIds directly Ticket: IDG-677 * set default transaction timeout to 10s to better accommodate slower auctions, reverse auctionEnd and bidWon as the default sequence in test event emission, test for wider range of auction scenarios, improvements to clarity/specificity (naming) Ticket: IDG-677 * fix invalid timeout test Ticket: IDG-677 * add support for usp Ticket: IDG-677 * pre-clear event emitter in case state not cleared by other test suites Ticket: IDG-677 * tests: switch pre-clearing of "events" state with initiating our own stub of "events" emitter Ticket: IDG-677 * adopt default endpoint without logging when endpoint value is unspecified Ticket: IDG-677 * update docs to better reflect analytics adapter standard use-case and behavior Ticket: IDG-677 * refactoring: renaming and reducing mocks to only event data used Ticket: IDG-677 * remove usp consent string invalid test Ticket: IDG-677 * log values as copy Ticket: IDG-829 * fix early send issue by removing auto-send on auctionEnd and using "all GAM slots rendered" as an indicator for "complete enough" report after short delay Ticket: IDG-829 * add gdpr, gpp, and coppa support Ticket: IDG-803 * send gdprConsent string even if gdprApplies is false. Use array instead of comma string for gpp applicableSections. Ticket: IDG-803 * fix tests to reflect updated bid.status => hasWon logic Ticket: IDG-829 * remove errant log Ticket: IDG-829 * remove extraneous call to isGptPubadsDefined Ticket: IDG-829 * alter scope of subscribeToGamSlots Ticket: IDG-829 * combine bidStatus / getCachedBid functions, add our own BidStatus enum to track possible choices Ticket: IDG-829 * refactoring: renaming, fix reversion, better cloning for logs Ticket: IDG-829 * test label revision Ticket: IDG-829 * fix logic for test, "when an AUCTION_END event is received before BID_WON events: sends a report with the bids that have won after timeout" Ticket: IDG-829 * reorganization of functions, fix to BIDDER_ERROR issue Ticket: IDG-829 * remove try/catch convenience Ticket: IDG-829 * test slotRenderEnded timeout Ticket: IDG-829 * enable remainder of tests Ticket: IDG-829 * added additional GAM tests Ticket: IDG-829 * remove conditional language from GAM tests Ticket: IDG-829 * Use floorValue instead of cpmAfterAdjustments as the price floor. Resolves IDG-1093. * Mark bid as won on impression only. Resolves IDG-1107. * Obtain rejected bid ID from requestId instead of bidId. Include rejected bid information in the report. Resolves IDG-1112. * 33Across Analytics: Update DEFAULT_ENDPOINT to match production endpoint * 33Across Analytics: Update docs - change pid type to string, plus other minor tweaks. * 33Across Analytics docs: Add UIM reference * Log a warning on ad slot ID mismatch instead of throwing an unhandled exception * 33Across Analytics: Allow slots to be by configured by element ID instead of GAM ad unit code. Resolves IDG-1163. * 33Across Analytics: Update contact e-mail; add instructions on enabling existing customers forAnalytics. * 33Across Analytics spec: Ensure that mock GPT remains enabled after the tests finish --------- Co-authored-by: Michael Scott-Nelson <[email protected]> Co-authored-by: Carlos Felix <[email protected]> Co-authored-by: Joshua Poritz <[email protected]>
- Loading branch information