From 879bf826a3c2fc16eb790acb023cc350ba7e0ff4 Mon Sep 17 00:00:00 2001 From: jim Date: Tue, 29 Dec 2020 15:41:33 -0500 Subject: [PATCH 1/2] This is an audit of the test JSON. Also switched the default videoResponseType to AdM and removed the both option. --- adapters/beachfront/beachfront.go | 14 +- adapters/beachfront/beachfront_test.go | 10 +- .../exemplary/adm-video-by-default.json | 123 +++++ .../exemplary/adm-video-by-explicit-type.json | 124 +++++ .../banner-and-adm-video-by-default.json | 187 +++++++ ...banner-and-adm-video-by-explicit-type.json | 188 +++++++ .../exemplary/banner-and-nurl-video.json | 189 +++++++ .../banner.json} | 19 +- .../exemplary/minimal-banner.json | 95 ---- ...simple-nurl-video.json => nurl-video.json} | 44 +- .../exemplary/simple-adm-video.json | 150 ------ .../beachfronttest/exemplary/simple-mix.json | 214 -------- ...onse-order--banner-adm-nurl-adm--FAIL.json | 458 +++++++++++++++++ ...response-order--banner-nurl-adm--FAIL.json | 458 +++++++++++++++++ ...y-200.json => banner-empty_array-200.json} | 17 +- .../supplemental/minimal-mobile-video.json | 119 ----- .../supplemental/mobile-banner.json | 128 ----- .../supplemental/multi-banner.json | 138 ------ .../supplemental/multi-video.json | 235 --------- ...response-order--banner-adm-nurl--PASS.json | 465 ++++++++++++++++++ .../supplemental/two-four-combo.json | 263 ++++++++++ .../supplemental/unmarshal-error-banner.json | 4 +- ...nmarshal-error-but-another-good-video.json | 172 ------- .../supplemental/unmarshal-error-video.json | 2 +- static/bidder-params/beachfront.json | 2 +- 25 files changed, 2501 insertions(+), 1317 deletions(-) create mode 100644 adapters/beachfront/beachfronttest/exemplary/adm-video-by-default.json create mode 100644 adapters/beachfront/beachfronttest/exemplary/adm-video-by-explicit-type.json create mode 100644 adapters/beachfront/beachfronttest/exemplary/banner-and-adm-video-by-default.json create mode 100644 adapters/beachfront/beachfronttest/exemplary/banner-and-adm-video-by-explicit-type.json create mode 100644 adapters/beachfront/beachfronttest/exemplary/banner-and-nurl-video.json rename adapters/beachfront/beachfronttest/{supplemental/minimal-site-banner.json => exemplary/banner.json} (83%) delete mode 100644 adapters/beachfront/beachfronttest/exemplary/minimal-banner.json rename adapters/beachfront/beachfronttest/exemplary/{simple-nurl-video.json => nurl-video.json} (71%) delete mode 100644 adapters/beachfront/beachfronttest/exemplary/simple-adm-video.json delete mode 100644 adapters/beachfront/beachfronttest/exemplary/simple-mix.json create mode 100644 adapters/beachfront/beachfronttest/noop/six-nine-combo--response-order--banner-adm-nurl-adm--FAIL.json create mode 100644 adapters/beachfront/beachfronttest/noop/six-nine-combo--response-order--banner-nurl-adm--FAIL.json rename adapters/beachfront/beachfronttest/supplemental/{minimal-banner-empty_array-200.json => banner-empty_array-200.json} (75%) delete mode 100644 adapters/beachfront/beachfronttest/supplemental/minimal-mobile-video.json delete mode 100644 adapters/beachfront/beachfronttest/supplemental/mobile-banner.json delete mode 100644 adapters/beachfront/beachfronttest/supplemental/multi-banner.json delete mode 100644 adapters/beachfront/beachfronttest/supplemental/multi-video.json create mode 100644 adapters/beachfront/beachfronttest/supplemental/six-nine-combo--response-order--banner-adm-nurl--PASS.json create mode 100644 adapters/beachfront/beachfronttest/supplemental/two-four-combo.json delete mode 100644 adapters/beachfront/beachfronttest/supplemental/unmarshal-error-but-another-good-video.json diff --git a/adapters/beachfront/beachfront.go b/adapters/beachfront/beachfront.go index 72c0ef4b5d0..1f81eda03de 100644 --- a/adapters/beachfront/beachfront.go +++ b/adapters/beachfront/beachfront.go @@ -24,7 +24,7 @@ const defaultVideoEndpoint = "https://reachms.bfmio.com/bid.json?exchange_id" const nurlVideoEndpointSuffix = "&prebidserver" const beachfrontAdapterName = "BF_PREBID_S2S" -const beachfrontAdapterVersion = "0.9.0" +const beachfrontAdapterVersion = "0.9.1" const minBidFloor = 0.01 @@ -202,8 +202,8 @@ func preprocess(request *openrtb.BidRequest) (beachfrontReqs beachfrontRequests, var bannerImps = make([]openrtb.Imp, 0) for i := 0; i < len(request.Imp); i++ { - if request.Imp[i].Banner != nil && ((request.Imp[i].Banner.Format[0].H != 0 && request.Imp[i].Banner.Format[0].W != 0) || - (request.Imp[i].Banner.H != nil && request.Imp[i].Banner.W != nil)) { + if request.Imp[i].Banner != nil && request.Imp[i].Banner.Format != nil && + request.Imp[i].Banner.Format[0].H != 0 && request.Imp[i].Banner.Format[0].W != 0 { bannerImps = append(bannerImps, request.Imp[i]) } @@ -232,11 +232,11 @@ func preprocess(request *openrtb.BidRequest) (beachfrontReqs beachfrontRequests, errs = append(errs, videoErrs...) for i := 0; i < len(videoList); i++ { - if videoList[i].VideoResponseType == "nurl" || videoList[i].VideoResponseType == "both" { + if videoList[i].VideoResponseType == "nurl" { beachfrontReqs.NurlVideo = append(beachfrontReqs.NurlVideo, videoList[i]) } - if videoList[i].VideoResponseType == "adm" || videoList[i].VideoResponseType == "both" { + if videoList[i].VideoResponseType == "adm" { beachfrontReqs.ADMVideo = append(beachfrontReqs.ADMVideo, videoList[i]) } } @@ -412,7 +412,7 @@ func getVideoRequests(request *openrtb.BidRequest) ([]beachfrontVideoRequest, [] if beachfrontExt.VideoResponseType != "" { bfReqs[i].VideoResponseType = beachfrontExt.VideoResponseType } else { - bfReqs[i].VideoResponseType = "nurl" + bfReqs[i].VideoResponseType = "adm" } bfReqs[i].Request = *request @@ -436,7 +436,7 @@ func getVideoRequests(request *openrtb.BidRequest) ([]beachfrontVideoRequest, [] } - if bfReqs[i].Request.Device.DeviceType == 0 { + if bfReqs[i].Request.Device != nil && bfReqs[i].Request.Device.DeviceType == 0 { // More fine graned deviceType methods will be added in the future bfReqs[i].Request.Device.DeviceType = fallBackDeviceType(request) } diff --git a/adapters/beachfront/beachfront_test.go b/adapters/beachfront/beachfront_test.go index dc51e1961a4..1c1c4ff4469 100644 --- a/adapters/beachfront/beachfront_test.go +++ b/adapters/beachfront/beachfront_test.go @@ -11,8 +11,8 @@ import ( func TestJsonSamples(t *testing.T) { bidder, buildErr := Builder(openrtb_ext.BidderBeachfront, config.Adapter{ - Endpoint: `https://display.bfmio.com/prebid_display`, - ExtraAdapterInfo: `{"video_endpoint":"https://reachms.bfmio.com/bid.json?exchange_id"}`, + Endpoint: `https://qa.beachrtb.com/prebid_display`, + ExtraAdapterInfo: `{"video_endpoint":"https://qa.beachrtb.com/bid.json?exchange_id"}`, }) if buildErr != nil { @@ -24,7 +24,7 @@ func TestJsonSamples(t *testing.T) { func TestExtraInfoDefaultWhenEmpty(t *testing.T) { bidder, buildErr := Builder(openrtb_ext.BidderBeachfront, config.Adapter{ - Endpoint: `https://display.bfmio.com/prebid_display`, + Endpoint: `https://qa.beachrtb.com/prebid_display`, ExtraAdapterInfo: ``, }) @@ -39,7 +39,7 @@ func TestExtraInfoDefaultWhenEmpty(t *testing.T) { func TestExtraInfoDefaultWhenNotSpecified(t *testing.T) { bidder, buildErr := Builder(openrtb_ext.BidderBeachfront, config.Adapter{ - Endpoint: `https://display.bfmio.com/prebid_display`, + Endpoint: `https://qa.beachrtb.com/prebid_display`, ExtraAdapterInfo: `{"video_endpoint":""}`, }) @@ -54,7 +54,7 @@ func TestExtraInfoDefaultWhenNotSpecified(t *testing.T) { func TestExtraInfoMalformed(t *testing.T) { _, buildErr := Builder(openrtb_ext.BidderBeachfront, config.Adapter{ - Endpoint: `https://display.bfmio.com/prebid_display`, + Endpoint: `https://qa.beachrtb.com/prebid_display`, ExtraAdapterInfo: `malformed`, }) diff --git a/adapters/beachfront/beachfronttest/exemplary/adm-video-by-default.json b/adapters/beachfront/beachfronttest/exemplary/adm-video-by-default.json new file mode 100644 index 00000000000..d3fa41a23c5 --- /dev/null +++ b/adapters/beachfront/beachfronttest/exemplary/adm-video-by-default.json @@ -0,0 +1,123 @@ +{ + "mockBidRequest": { + "id": "adm-video", + "imp": [ + { + "id": "video1", + "ext": { + "bidder": { + "bidfloor": 3.01, + "appId": "videoAppId1" + } + }, + "video": { + "mimes": [ + "video/mp4" + ], + "context": "instream", + "w": 300, + "h": 250 + } + } + ], + "site": { + "page": "https://some.domain.us/some/page.html" + }, + "device":{ + "ip":"255.255.255.255" + } + }, + + "httpCalls": [ + { + "expectedRequest": { + "uri": "https://qa.beachrtb.com/bid.json?exchange_id=videoAppId1", + "body": { + "id": "adm-video", + "imp": [ + { + "video": { + "w": 300, + "h": 250, + "mimes": [ + "video/mp4" + ] + }, + "bidfloor": 3.01, + "id": "video1", + "secure": 1 + } + ], + "site": { + "page": "https://some.domain.us/some/page.html", + "domain": "some.domain.us" + }, + "cur": [ + "USD" + ], + "device":{ + "devicetype": 2, + "ip":"255.255.255.255" + } + } + }, + "mockResponse": { + "status": 200, + "body": { + "id": "adm-video", + "seatBid": [ + { + "bid": [ + { + "id": "5fd7c8a6ff2f1f0d42ee6427", + "impid": "video1", + "price": 20, + "adm": "http://example.com/vast.xml", + "adid": "1088", + "adomain": [ + "beachfront.io" + ], + "cid": "277", + "crid": "532", + "w": 300, + "h": 250, + "ext": { + "duration": 30 + } + } + ], + "seat": "bfio-s-1" + } + ] + } + } + } + ], + + "expectedBidResponses": [ + { + "bids": [ + { + "bid": { + "id": "video1AdmVideo", + "impid": "video1", + "price": 20, + "adm": "http://example.com/vast.xml", + "adid": "1088", + "adomain": [ + "beachfront.io" + ], + "cid": "277", + "crid": "532", + "w": 300, + "h": 250, + "ext": { + "duration": 30 + } + }, + "type": "video" + } + ] + } + ] +} diff --git a/adapters/beachfront/beachfronttest/exemplary/adm-video-by-explicit-type.json b/adapters/beachfront/beachfronttest/exemplary/adm-video-by-explicit-type.json new file mode 100644 index 00000000000..8c05d65a3b1 --- /dev/null +++ b/adapters/beachfront/beachfronttest/exemplary/adm-video-by-explicit-type.json @@ -0,0 +1,124 @@ +{ + "mockBidRequest": { + "id": "adm-video", + "imp": [ + { + "id": "video1", + "ext": { + "bidder": { + "videoResponseType": "adm", + "bidfloor": 3.01, + "appId": "videoAppId1" + } + }, + "video": { + "mimes": [ + "video/mp4" + ], + "context": "instream", + "w": 300, + "h": 250 + } + } + ], + "site": { + "page": "https://some.domain.us/some/page.html" + }, + "device":{ + "ip":"255.255.255.255" + } + }, + + "httpCalls": [ + { + "expectedRequest": { + "uri": "https://qa.beachrtb.com/bid.json?exchange_id=videoAppId1", + "body": { + "id": "adm-video", + "imp": [ + { + "video": { + "w": 300, + "h": 250, + "mimes": [ + "video/mp4" + ] + }, + "bidfloor": 3.01, + "id": "video1", + "secure": 1 + } + ], + "site": { + "page": "https://some.domain.us/some/page.html", + "domain": "some.domain.us" + }, + "cur": [ + "USD" + ], + "device":{ + "devicetype": 2, + "ip":"255.255.255.255" + } + } + }, + "mockResponse": { + "status": 200, + "body": { + "id": "adm-video", + "seatBid": [ + { + "bid": [ + { + "id": "5fd7c8a6ff2f1f0d42ee6427", + "impid": "video1", + "price": 20, + "adm": "http://example.com/vast.xml", + "adid": "1088", + "adomain": [ + "beachfront.io" + ], + "cid": "277", + "crid": "532", + "w": 300, + "h": 250, + "ext": { + "duration": 30 + } + } + ], + "seat": "bfio-s-1" + } + ] + } + } + } + ], + + "expectedBidResponses": [ + { + "bids": [ + { + "bid": { + "id": "video1AdmVideo", + "impid": "video1", + "price": 20, + "adm": "http://example.com/vast.xml", + "adid": "1088", + "adomain": [ + "beachfront.io" + ], + "cid": "277", + "crid": "532", + "w": 300, + "h": 250, + "ext": { + "duration": 30 + } + }, + "type": "video" + } + ] + } + ] +} diff --git a/adapters/beachfront/beachfronttest/exemplary/banner-and-adm-video-by-default.json b/adapters/beachfront/beachfronttest/exemplary/banner-and-adm-video-by-default.json new file mode 100644 index 00000000000..bff1b76a688 --- /dev/null +++ b/adapters/beachfront/beachfronttest/exemplary/banner-and-adm-video-by-default.json @@ -0,0 +1,187 @@ +{ + "mockBidRequest": { + "id": "banner-and-video", + "imp": [ + { + "id": "mix1", + "ext": { + "bidder": { + "bidfloor": 0.41, + "appIds": { + "banner": "bannerAppId1", + "video": "videoAppId1" + } + } + }, + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "video": { + "mimes": [ + "video/mp4" + ], + "context": "instream", + "w": 300, + "h": 250 + } + } + ], + "site": { + "page": "https://some.domain.us/some/page.html" + } + }, + + "httpCalls": [ + { + "expectedRequest": { + "uri": "https://qa.beachrtb.com/prebid_display", + "body": { + "slots": [ + { + "slot": "mix1", + "id": "bannerAppId1", + "bidfloor": 0.41, + "sizes": [ + { + "w": 300, + "h": 250 + } + ] + } + ], + "domain": "some.domain.us", + "page": "https://some.domain.us/some/page.html", + "referrer": "", + "search": "", + "secure": 1, + "deviceOs": "", + "deviceModel": "", + "isMobile": 0, + "ua": "", + "ip": "", + "dnt": 0, + "user": {}, + "adapterName": "BF_PREBID_S2S", + "adapterVersion": "0.9.1", + "requestId": "banner-and-video" + } + }, + "mockResponse": { + "status": 200, + "body": [ + { + "crid": "crid_1", + "price": 9.5019655, + "w": 300, + "h": 250, + "slot": "mix1", + "adm": "