diff --git a/adapters/adoppler/adoppler_test.go b/adapters/adoppler/adoppler_test.go deleted file mode 100644 index 3c6888f3124..00000000000 --- a/adapters/adoppler/adoppler_test.go +++ /dev/null @@ -1,20 +0,0 @@ -package adoppler - -import ( - "testing" - - "github.com/prebid/prebid-server/v3/adapters/adapterstest" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/openrtb_ext" -) - -func TestJsonSamples(t *testing.T) { - bidder, buildErr := Builder(openrtb_ext.BidderAdoppler, config.Adapter{ - Endpoint: "http://{{.AccountID}}.trustedmarketplace.com/processHeaderBid/{{.AdUnit}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) - - if buildErr != nil { - t.Fatalf("Builder returned unexpected error %v", buildErr) - } - - adapterstest.RunJSONBidderTest(t, "adopplertest", bidder) -} diff --git a/adapters/adoppler/adopplertest/exemplary/custom-client.json b/adapters/adoppler/adopplertest/exemplary/custom-client.json deleted file mode 100644 index fe92c363903..00000000000 --- a/adapters/adoppler/adopplertest/exemplary/custom-client.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "mockBidRequest":{ - "id":"req1", - "imp":[ - { - "id":"imp1", - "banner":{ - "w":100, - "h":200 - }, - "ext":{ - "bidder":{ - "adunit":"unit1", - "client":"client1" - } - } - } - ] - }, - "httpCalls":[ - { - "expectedRequest":{ - "uri":"http://client1.trustedmarketplace.com/processHeaderBid/unit1", - "body":{ - "id":"req1-unit1", - "imp":[ - { - "id":"imp1", - "banner":{ - "w":100, - "h":200 - }, - "ext":{ - "bidder":{ - "adunit":"unit1", - "client":"client1" - } - } - } - ] - }, - "impIDs":["imp1"] - }, - "mockResponse":{ - "status":200, - "body":{ - "id":"req1-unit1", - "seatbid":[ - { - "bid":[ - { - "id":"req1-unit1-bid1", - "impid":"imp1", - "price":0.12, - "adm":"An ad" - } - ] - } - ], - "cur":"USD" - } - } - } - ], - "expectedBidResponses":[ - { - "currency":"USD", - "bids":[ - { - "bid":{ - "id":"req1-unit1-bid1", - "impid":"imp1", - "price":0.12, - "adm":"An ad" - }, - "type":"banner" - } - ] - } - ] -} diff --git a/adapters/adoppler/adoppler.go b/adapters/elementaltv/elementaltv.go similarity index 88% rename from adapters/adoppler/adoppler.go rename to adapters/elementaltv/elementaltv.go index ace52b93b1d..543c7c0bfe0 100644 --- a/adapters/adoppler/adoppler.go +++ b/adapters/elementaltv/elementaltv.go @@ -1,4 +1,4 @@ -package adoppler +package elementaltv import ( "encoding/json" @@ -17,12 +17,10 @@ import ( "github.com/prebid/prebid-server/v3/util/jsonutil" ) -const DefaultClient = "app" - var bidHeaders http.Header = map[string][]string{ "Accept": {"application/json"}, "Content-Type": {"application/json;charset=utf-8"}, - "X-OpenRTB-Version": {"2.5"}, + "X-OpenRTB-Version": {"2.6"}, } type adsVideoExt struct { @@ -33,24 +31,24 @@ type adsImpExt struct { Video *adsVideoExt `json:"video"` } -type AdopplerAdapter struct { +type adapter struct { endpoint *template.Template } -// Builder builds a new instance of the Adoppler adapter for the given bidder with the given config. +// Builder builds a new instance of the ElementalTV adapter for the given bidder with the given config. func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { template, err := template.New("endpointTemplate").Parse(config.Endpoint) if err != nil { return nil, fmt.Errorf("unable to parse endpoint url template: %v", err) } - bidder := &AdopplerAdapter{ + bidder := &adapter{ endpoint: template, } return bidder, nil } -func (ads *AdopplerAdapter) MakeRequests( +func (ads *adapter) MakeRequests( req *openrtb2.BidRequest, info *adapters.ExtraRequestInfo, ) ( @@ -100,7 +98,7 @@ func (ads *AdopplerAdapter) MakeRequests( return datas, errs } -func (ads *AdopplerAdapter) MakeBids( +func (ads *adapter) MakeBids( intReq *openrtb2.BidRequest, extReq *adapters.RequestData, resp *adapters.ResponseData, @@ -193,33 +191,27 @@ func (ads *AdopplerAdapter) MakeBids( return adsResp, nil } -func (ads *AdopplerAdapter) bidUri(ext *openrtb_ext.ExtImpAdoppler) (string, error) { +func (ads *adapter) bidUri(ext *openrtb_ext.ExtImpElementalTV) (string, error) { params := macros.EndpointTemplateParams{} params.AdUnit = url.PathEscape(ext.AdUnit) - if ext.Client == "" { - params.AccountID = DefaultClient - } else { - params.AccountID = url.PathEscape(ext.Client) - } - return macros.ResolveMacros(ads.endpoint, params) } -func unmarshalExt(ext json.RawMessage) (*openrtb_ext.ExtImpAdoppler, error) { +func unmarshalExt(ext json.RawMessage) (*openrtb_ext.ExtImpElementalTV, error) { var bext adapters.ExtImpBidder err := jsonutil.Unmarshal(ext, &bext) if err != nil { return nil, err } - var adsExt openrtb_ext.ExtImpAdoppler + var adsExt openrtb_ext.ExtImpElementalTV err = jsonutil.Unmarshal(bext.Bidder, &adsExt) if err != nil { return nil, err } if adsExt.AdUnit == "" { - return nil, errors.New("$.imp.ext.adoppler.adunit required") + return nil, errors.New("$.imp.ext.bidder.adunit required") } return &adsExt, nil diff --git a/adapters/elementaltv/elementaltv_test.go b/adapters/elementaltv/elementaltv_test.go new file mode 100644 index 00000000000..933cb4810f3 --- /dev/null +++ b/adapters/elementaltv/elementaltv_test.go @@ -0,0 +1,20 @@ +package elementaltv + +import ( + "testing" + + "github.com/prebid/prebid-server/v3/adapters/adapterstest" + "github.com/prebid/prebid-server/v3/config" + "github.com/prebid/prebid-server/v3/openrtb_ext" +) + +func TestJsonSamples(t *testing.T) { + bidder, buildErr := Builder(openrtb_ext.BidderElementalTV, config.Adapter{ + Endpoint: "https://pbs.elementaltv.io/processHeaderBid/{{.AdUnit}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) + + if buildErr != nil { + t.Fatalf("Builder returned unexpected error %v", buildErr) + } + + adapterstest.RunJSONBidderTest(t, "elementaltvtest", bidder) +} diff --git a/adapters/adoppler/adopplertest/exemplary/default-client.json b/adapters/elementaltv/elementaltvtest/exemplary/base.json similarity index 95% rename from adapters/adoppler/adopplertest/exemplary/default-client.json rename to adapters/elementaltv/elementaltvtest/exemplary/base.json index dd53208f7d8..b7913c6597b 100644 --- a/adapters/adoppler/adopplertest/exemplary/default-client.json +++ b/adapters/elementaltv/elementaltvtest/exemplary/base.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/exemplary/multiimp.json b/adapters/elementaltv/elementaltvtest/exemplary/multiimp.json similarity index 95% rename from adapters/adoppler/adopplertest/exemplary/multiimp.json rename to adapters/elementaltv/elementaltvtest/exemplary/multiimp.json index bdbef5a4af0..6575a503004 100644 --- a/adapters/adoppler/adopplertest/exemplary/multiimp.json +++ b/adapters/elementaltv/elementaltvtest/exemplary/multiimp.json @@ -44,7 +44,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ @@ -86,7 +86,7 @@ }, { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit2", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit2", "body":{ "id":"req1-unit2", "imp":[ @@ -141,7 +141,7 @@ }, { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit3", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit3", "body":{ "id":"req1-unit3", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/bad-request.json b/adapters/elementaltv/elementaltvtest/supplemental/bad-request.json similarity index 92% rename from adapters/adoppler/adopplertest/supplemental/bad-request.json rename to adapters/elementaltv/elementaltvtest/supplemental/bad-request.json index c2e38460202..3fac885c8aa 100644 --- a/adapters/adoppler/adopplertest/supplemental/bad-request.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/bad-request.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/duplicate-imp.json b/adapters/elementaltv/elementaltvtest/supplemental/duplicate-imp.json similarity index 94% rename from adapters/adoppler/adopplertest/supplemental/duplicate-imp.json rename to adapters/elementaltv/elementaltvtest/supplemental/duplicate-imp.json index cc24ae03a2f..137997c2ce6 100644 --- a/adapters/adoppler/adopplertest/supplemental/duplicate-imp.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/duplicate-imp.json @@ -31,7 +31,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ @@ -73,7 +73,7 @@ }, { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit2", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit2", "body":{ "id":"req1-unit2", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/invalid-impid.json b/adapters/elementaltv/elementaltvtest/supplemental/invalid-impid.json similarity index 94% rename from adapters/adoppler/adopplertest/supplemental/invalid-impid.json rename to adapters/elementaltv/elementaltvtest/supplemental/invalid-impid.json index e94a0e0c406..2ea9ed4c325 100644 --- a/adapters/adoppler/adopplertest/supplemental/invalid-impid.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/invalid-impid.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/invalid-response.json b/adapters/elementaltv/elementaltvtest/supplemental/invalid-response.json similarity index 92% rename from adapters/adoppler/adopplertest/supplemental/invalid-response.json rename to adapters/elementaltv/elementaltvtest/supplemental/invalid-response.json index 84342feaa0e..81c9ba59681 100644 --- a/adapters/adoppler/adopplertest/supplemental/invalid-response.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/invalid-response.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/invalid-video-ext.json b/adapters/elementaltv/elementaltvtest/supplemental/invalid-video-ext.json similarity index 95% rename from adapters/adoppler/adopplertest/supplemental/invalid-video-ext.json rename to adapters/elementaltv/elementaltvtest/supplemental/invalid-video-ext.json index 6bab4036c5c..8f3386c1387 100644 --- a/adapters/adoppler/adopplertest/supplemental/invalid-video-ext.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/invalid-video-ext.json @@ -35,7 +35,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ @@ -86,7 +86,7 @@ }, { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit2", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit2", "body":{ "id":"req1-unit2", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/missing-adunit.json b/adapters/elementaltv/elementaltvtest/supplemental/missing-adunit.json similarity index 87% rename from adapters/adoppler/adopplertest/supplemental/missing-adunit.json rename to adapters/elementaltv/elementaltvtest/supplemental/missing-adunit.json index df9bbe5771d..92ff8a25eb2 100644 --- a/adapters/adoppler/adopplertest/supplemental/missing-adunit.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/missing-adunit.json @@ -24,7 +24,7 @@ ], "expectedMakeRequestsErrors":[ { - "value":"$.imp.ext.adoppler.adunit required", + "value":"$.imp.ext.bidder.adunit required", "comparison":"literal" } ] diff --git a/adapters/adoppler/adopplertest/supplemental/no-bid.json b/adapters/elementaltv/elementaltvtest/supplemental/no-bid.json similarity index 91% rename from adapters/adoppler/adopplertest/supplemental/no-bid.json rename to adapters/elementaltv/elementaltvtest/supplemental/no-bid.json index 9135b4c5f2f..6f8099516b5 100644 --- a/adapters/adoppler/adopplertest/supplemental/no-bid.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/no-bid.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/adapters/adoppler/adopplertest/supplemental/server-error.json b/adapters/elementaltv/elementaltvtest/supplemental/server-error.json similarity index 92% rename from adapters/adoppler/adopplertest/supplemental/server-error.json rename to adapters/elementaltv/elementaltvtest/supplemental/server-error.json index dcd45e3718d..5341d2473aa 100644 --- a/adapters/adoppler/adopplertest/supplemental/server-error.json +++ b/adapters/elementaltv/elementaltvtest/supplemental/server-error.json @@ -19,7 +19,7 @@ "httpCalls":[ { "expectedRequest":{ - "uri":"http://app.trustedmarketplace.com/processHeaderBid/unit1", + "uri":"https://pbs.elementaltv.io/processHeaderBid/unit1", "body":{ "id":"req1-unit1", "imp":[ diff --git a/exchange/adapter_builders.go b/exchange/adapter_builders.go index 3cb651bcbdb..aaaee71b3b2 100755 --- a/exchange/adapter_builders.go +++ b/exchange/adapter_builders.go @@ -17,7 +17,6 @@ import ( "github.com/prebid/prebid-server/v3/adapters/admatic" "github.com/prebid/prebid-server/v3/adapters/admixer" "github.com/prebid/prebid-server/v3/adapters/adnuntius" - "github.com/prebid/prebid-server/v3/adapters/adoppler" "github.com/prebid/prebid-server/v3/adapters/adot" "github.com/prebid/prebid-server/v3/adapters/adpone" "github.com/prebid/prebid-server/v3/adapters/adprime" @@ -99,6 +98,7 @@ import ( "github.com/prebid/prebid-server/v3/adapters/dxkulture" evolution "github.com/prebid/prebid-server/v3/adapters/e_volution" "github.com/prebid/prebid-server/v3/adapters/edge226" + "github.com/prebid/prebid-server/v3/adapters/elementaltv" "github.com/prebid/prebid-server/v3/adapters/emtv" "github.com/prebid/prebid-server/v3/adapters/eplanning" "github.com/prebid/prebid-server/v3/adapters/epom" @@ -284,7 +284,6 @@ func newAdapterBuilders() map[openrtb_ext.BidderName]adapters.Builder { openrtb_ext.BidderAdmatic: admatic.Builder, openrtb_ext.BidderAdmixer: admixer.Builder, openrtb_ext.BidderAdnuntius: adnuntius.Builder, - openrtb_ext.BidderAdoppler: adoppler.Builder, openrtb_ext.BidderAdot: adot.Builder, openrtb_ext.BidderAdpone: adpone.Builder, openrtb_ext.BidderAdprime: adprime.Builder, @@ -365,6 +364,7 @@ func newAdapterBuilders() map[openrtb_ext.BidderName]adapters.Builder { openrtb_ext.BidderDmx: dmx.Builder, openrtb_ext.BidderDXKulture: dxkulture.Builder, openrtb_ext.BidderDriftPixel: driftpixel.Builder, + openrtb_ext.BidderElementalTv: elementaltv.Builder, openrtb_ext.BidderEmtv: emtv.Builder, openrtb_ext.BidderEmxDigital: cadentaperturemx.Builder, openrtb_ext.BidderEPlanning: eplanning.Builder, diff --git a/openrtb_ext/bidders.go b/openrtb_ext/bidders.go index e94d0fe5513..41d5f7ca16d 100644 --- a/openrtb_ext/bidders.go +++ b/openrtb_ext/bidders.go @@ -33,7 +33,6 @@ var coreBidderNames []BidderName = []BidderName{ BidderAdmatic, BidderAdmixer, BidderAdnuntius, - BidderAdoppler, BidderAdot, BidderAdpone, BidderAdprime, @@ -114,6 +113,7 @@ var coreBidderNames []BidderName = []BidderName{ BidderDmx, BidderDXKulture, BidderDriftPixel, + BidderElementalTV, BidderEmtv, BidderEmxDigital, BidderEPlanning, @@ -407,7 +407,6 @@ const ( BidderAdmatic BidderName = "admatic" BidderAdmixer BidderName = "admixer" BidderAdnuntius BidderName = "adnuntius" - BidderAdoppler BidderName = "adoppler" BidderAdot BidderName = "adot" BidderAdpone BidderName = "adpone" BidderAdprime BidderName = "adprime" @@ -488,6 +487,7 @@ const ( BidderDmx BidderName = "dmx" BidderDXKulture BidderName = "dxkulture" BidderDriftPixel BidderName = "driftpixel" + BidderElementalTV BidderName = "elementaltv" BidderEmtv BidderName = "emtv" BidderEmxDigital BidderName = "emx_digital" BidderEPlanning BidderName = "eplanning" diff --git a/openrtb_ext/imp_adoppler.go b/openrtb_ext/imp_adoppler.go deleted file mode 100644 index 9d4d5e5ca01..00000000000 --- a/openrtb_ext/imp_adoppler.go +++ /dev/null @@ -1,6 +0,0 @@ -package openrtb_ext - -type ExtImpAdoppler struct { - Client string `json:"client"` - AdUnit string `json:"adunit"` -} diff --git a/openrtb_ext/imp_elementaltv.go b/openrtb_ext/imp_elementaltv.go new file mode 100644 index 00000000000..a1f267f9711 --- /dev/null +++ b/openrtb_ext/imp_elementaltv.go @@ -0,0 +1,5 @@ +package openrtb_ext + +type ExtImpElementalTV struct { + AdUnit string `json:"adunit"` +} diff --git a/static/bidder-info/adoppler.yaml b/static/bidder-info/adoppler.yaml index 3db2c1f998d..760ede605e7 100644 --- a/static/bidder-info/adoppler.yaml +++ b/static/bidder-info/adoppler.yaml @@ -1,12 +1,2 @@ -endpoint: "http://{{.AccountID}}.trustedmarketplace.io/ads/processHeaderBid/{{.AdUnit}}" -maintainer: - email: pbs@adoppler.com -capabilities: - app: - mediaTypes: - - banner - - video - site: - mediaTypes: - - banner - - video +endpoint: "https://pbs.elementaltv.io/ads/processHeaderBid/{{.AdUnit}}" +aliasOf: "elementaltv" \ No newline at end of file diff --git a/static/bidder-info/elementaltv.yaml b/static/bidder-info/elementaltv.yaml new file mode 100644 index 00000000000..293ce4db8bb --- /dev/null +++ b/static/bidder-info/elementaltv.yaml @@ -0,0 +1,14 @@ +endpoint: "https://pbs.elementaltv.io/ads/processHeaderBid/{{.AdUnit}}" +maintainer: + email: support@elementaltv.com +capabilities: + app: + mediaTypes: + - banner + - video + - native + site: + mediaTypes: + - banner + - video + - native diff --git a/static/bidder-params/adoppler.json b/static/bidder-params/elementaltv.json similarity index 66% rename from static/bidder-params/adoppler.json rename to static/bidder-params/elementaltv.json index 508eef478c0..fbe36a9606e 100644 --- a/static/bidder-params/adoppler.json +++ b/static/bidder-params/elementaltv.json @@ -1,16 +1,12 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Adoppler Adapter Params", - "description": "A schema which validates params accepted by the Adoppler adapter", + "title": "ElementalTV Adapter Params", + "description": "A schema which validates params accepted by the ElementalTV adapter", "type": "object", "properties": { "adunit": { "type": "string", "description": "AdUnit to bid against to." - }, - "client": { - "type": "string", - "description": "Client name." } }, "required": ["adunit"]