From 6ea91e6dfa24f92c42e9f45d2aa6f16fa52f5d3a Mon Sep 17 00:00:00 2001 From: patryk-grzegorczyk <131142828+patryk-grzegorczyk@users.noreply.github.com> Date: Sat, 10 Jan 2026 21:10:31 +0100 Subject: [PATCH] AdOcean: Remove adapter (#4296) --- adapters/adocean/adocean.go | 408 ------------------ adapters/adocean/adocean_test.go | 28 -- .../exemplary/multi-banner-impression.json | 135 ------ .../exemplary/single-banner-impression.json | 118 ----- .../adocean/adoceantest/supplemental/app.json | 72 ---- .../supplemental/bad-response.json | 67 --- .../supplemental/emiter-param-error.json | 55 --- .../supplemental/encode-error.json | 82 ---- .../supplemental/network-error.json | 67 --- .../adoceantest/supplemental/no-bid.json | 161 ------- .../supplemental/no-impression.json | 36 -- .../adoceantest/supplemental/no-sizes.json | 170 -------- .../supplemental/requests-merge.json | 181 -------- adapters/adocean/params_test.go | 53 --- exchange/adapter_builders.go | 2 - openrtb_ext/bidders.go | 2 - openrtb_ext/imp_adocean.go | 7 - static/bidder-info/adocean.yaml | 16 - static/bidder-params/adocean.json | 32 -- 19 files changed, 1692 deletions(-) delete mode 100644 adapters/adocean/adocean.go delete mode 100644 adapters/adocean/adocean_test.go delete mode 100644 adapters/adocean/adoceantest/exemplary/multi-banner-impression.json delete mode 100644 adapters/adocean/adoceantest/exemplary/single-banner-impression.json delete mode 100644 adapters/adocean/adoceantest/supplemental/app.json delete mode 100644 adapters/adocean/adoceantest/supplemental/bad-response.json delete mode 100644 adapters/adocean/adoceantest/supplemental/emiter-param-error.json delete mode 100644 adapters/adocean/adoceantest/supplemental/encode-error.json delete mode 100644 adapters/adocean/adoceantest/supplemental/network-error.json delete mode 100644 adapters/adocean/adoceantest/supplemental/no-bid.json delete mode 100644 adapters/adocean/adoceantest/supplemental/no-impression.json delete mode 100644 adapters/adocean/adoceantest/supplemental/no-sizes.json delete mode 100644 adapters/adocean/adoceantest/supplemental/requests-merge.json delete mode 100644 adapters/adocean/params_test.go delete mode 100644 openrtb_ext/imp_adocean.go delete mode 100644 static/bidder-info/adocean.yaml delete mode 100644 static/bidder-params/adocean.json diff --git a/adapters/adocean/adocean.go b/adapters/adocean/adocean.go deleted file mode 100644 index 82f320015..000000000 --- a/adapters/adocean/adocean.go +++ /dev/null @@ -1,408 +0,0 @@ -package adocean - -import ( - "errors" - "fmt" - "math/rand" - "net/http" - "net/url" - "regexp" - "sort" - "strconv" - "strings" - "text/template" - - "github.com/prebid/openrtb/v20/openrtb2" - "github.com/prebid/prebid-server/v3/adapters" - "github.com/prebid/prebid-server/v3/config" - "github.com/prebid/prebid-server/v3/errortypes" - "github.com/prebid/prebid-server/v3/macros" - "github.com/prebid/prebid-server/v3/openrtb_ext" - "github.com/prebid/prebid-server/v3/util/jsonutil" -) - -const adapterVersion = "1.3.0" -const maxUriLength = 8000 -const measurementCode = ` - -` - -type ResponseAdUnit struct { - ID string `json:"id"` - CrID string `json:"crid"` - Currency string `json:"currency"` - Price string `json:"price"` - Width string `json:"width"` - Height string `json:"height"` - Code string `json:"code"` - WinURL string `json:"winUrl"` - StatsURL string `json:"statsUrl"` - Error string `json:"error"` -} - -type requestData struct { - Url *url.URL - Headers *http.Header - SlaveSizes map[string]string - ImpIDs []string -} - -// Builder builds a new instance of the AdOcean adapter for the given bidder with the given config. -func Builder(bidderName openrtb_ext.BidderName, config config.Adapter, server config.Server) (adapters.Bidder, error) { - endpointTemplate, err := template.New("endpointTemplate").Parse(config.Endpoint) - if err != nil { - return nil, errors.New("Unable to parse endpoint template") - } - - whiteSpace := regexp.MustCompile(`\s+`) - - bidder := &AdOceanAdapter{ - endpointTemplate: endpointTemplate, - measurementCode: whiteSpace.ReplaceAllString(measurementCode, " "), - } - return bidder, nil -} - -type AdOceanAdapter struct { - endpointTemplate *template.Template - measurementCode string -} - -func (a *AdOceanAdapter) MakeRequests(request *openrtb2.BidRequest, reqInfo *adapters.ExtraRequestInfo) ([]*adapters.RequestData, []error) { - if len(request.Imp) == 0 { - return nil, []error{&errortypes.BadInput{ - Message: "No impression in the bid request", - }} - } - - consentString := "" - if request.User != nil { - var extUser openrtb_ext.ExtUser - if err := jsonutil.Unmarshal(request.User.Ext, &extUser); err == nil { - consentString = extUser.Consent - } - } - - var reqCreationErrors []error - var err error - requestsData := make([]*requestData, 0, len(request.Imp)) - for _, auction := range request.Imp { - requestsData, err = a.addNewBid(requestsData, &auction, request, consentString) - if err != nil { - reqCreationErrors = append(reqCreationErrors, err) - } - } - - httpRequests := make([]*adapters.RequestData, 0, len(requestsData)) - for _, requestData := range requestsData { - httpRequests = append(httpRequests, &adapters.RequestData{ - Method: "GET", - Uri: requestData.Url.String(), - Headers: *requestData.Headers, - ImpIDs: requestData.ImpIDs, - }) - } - - return httpRequests, reqCreationErrors -} - -func (a *AdOceanAdapter) addNewBid( - requestsData []*requestData, - imp *openrtb2.Imp, - request *openrtb2.BidRequest, - consentString string, -) ([]*requestData, error) { - var bidderExt adapters.ExtImpBidder - if err := jsonutil.Unmarshal(imp.Ext, &bidderExt); err != nil { - return requestsData, &errortypes.BadInput{ - Message: "Error parsing bidderExt object", - } - } - - var adOceanExt openrtb_ext.ExtImpAdOcean - if err := jsonutil.Unmarshal(bidderExt.Bidder, &adOceanExt); err != nil { - return requestsData, &errortypes.BadInput{ - Message: "Error parsing adOceanExt parameters", - } - } - - if adOceanExt.EmitterPrefix == "" { - return requestsData, &errortypes.BadInput{ - Message: "No emitterPrefix param", - } - } - - addedToExistingRequest := addToExistingRequest(requestsData, &adOceanExt, imp, (request.Test == 1)) - if addedToExistingRequest { - return requestsData, nil - } - - slaveSizes := map[string]string{} - slaveSizes[adOceanExt.SlaveID] = getImpSizes(imp) - - url, err := a.makeURL(&adOceanExt, imp, request, slaveSizes, consentString) - if err != nil { - return requestsData, err - } - - requestsData = append(requestsData, &requestData{ - Url: url, - Headers: a.formHeaders(request), - SlaveSizes: slaveSizes, - ImpIDs: []string{imp.ID}, - }) - - return requestsData, nil -} - -func addToExistingRequest(requestsData []*requestData, newParams *openrtb_ext.ExtImpAdOcean, imp *openrtb2.Imp, testImp bool) bool { - auctionID := imp.ID - - for _, requestData := range requestsData { - queryParams := requestData.Url.Query() - masterID := queryParams["id"][0] - - if masterID == newParams.MasterID { - if _, has := requestData.SlaveSizes[newParams.SlaveID]; has { - continue - } - - queryParams.Add("aid", newParams.SlaveID+":"+auctionID) - requestData.SlaveSizes[newParams.SlaveID] = getImpSizes(imp) - setSlaveSizesParam(&queryParams, requestData.SlaveSizes, testImp) - - newUrl := *(requestData.Url) - newUrl.RawQuery = queryParams.Encode() - if len(newUrl.String()) < maxUriLength { - requestData.Url = &newUrl - requestData.ImpIDs = append(requestData.ImpIDs, auctionID) - return true - } - - delete(requestData.SlaveSizes, newParams.SlaveID) - } - } - - return false -} - -func (a *AdOceanAdapter) makeURL( - params *openrtb_ext.ExtImpAdOcean, - imp *openrtb2.Imp, - request *openrtb2.BidRequest, - slaveSizes map[string]string, - consentString string, -) (*url.URL, error) { - endpointParams := macros.EndpointTemplateParams{Host: params.EmitterPrefix} - host, err := macros.ResolveMacros(a.endpointTemplate, endpointParams) - if err != nil { - return nil, &errortypes.BadInput{ - Message: "Unable to parse endpoint url template: " + err.Error(), - } - } - - endpointURL, err := url.Parse(host) - if err != nil { - return nil, &errortypes.BadInput{ - Message: "Malformed URL: " + err.Error(), - } - } - - randomizedPart := 10000000 + rand.Intn(99999999-10000000) - if request.Test == 1 { - randomizedPart = 10000000 - } - endpointURL.Path = "/_" + strconv.Itoa(randomizedPart) + "/ad.json" - - auctionID := imp.ID - queryParams := url.Values{} - queryParams.Add("pbsrv_v", adapterVersion) - queryParams.Add("id", params.MasterID) - queryParams.Add("nc", "1") - queryParams.Add("nosecure", "1") - queryParams.Add("aid", params.SlaveID+":"+auctionID) - if consentString != "" { - queryParams.Add("gdpr_consent", consentString) - queryParams.Add("gdpr", "1") - } - if request.User != nil && request.User.BuyerUID != "" { - queryParams.Add("hcuserid", request.User.BuyerUID) - } - if request.App != nil { - queryParams.Add("app", "1") - queryParams.Add("appname", request.App.Name) - queryParams.Add("appbundle", request.App.Bundle) - queryParams.Add("appdomain", request.App.Domain) - } - if request.Device != nil { - if request.Device.IFA != "" { - queryParams.Add("ifa", request.Device.IFA) - } else { - queryParams.Add("dpidmd5", request.Device.DPIDMD5) - } - - queryParams.Add("devos", request.Device.OS) - queryParams.Add("devosv", request.Device.OSV) - queryParams.Add("devmodel", request.Device.Model) - queryParams.Add("devmake", request.Device.Make) - } - - setSlaveSizesParam(&queryParams, slaveSizes, (request.Test == 1)) - endpointURL.RawQuery = queryParams.Encode() - - return endpointURL, nil -} - -func (a *AdOceanAdapter) formHeaders(req *openrtb2.BidRequest) *http.Header { - headers := make(http.Header) - headers.Add("Content-Type", "application/json;charset=utf-8") - headers.Add("Accept", "application/json") - - if req.Device != nil { - headers.Add("User-Agent", req.Device.UA) - - if req.Device.IP != "" { - headers.Add("X-Forwarded-For", req.Device.IP) - } else if req.Device.IPv6 != "" { - headers.Add("X-Forwarded-For", req.Device.IPv6) - } - } - - if req.Site != nil { - headers.Add("Referer", req.Site.Page) - } - - return &headers -} - -func getImpSizes(imp *openrtb2.Imp) string { - if imp.Banner == nil { - return "" - } - - if len(imp.Banner.Format) > 0 { - sizes := make([]string, len(imp.Banner.Format)) - for i, format := range imp.Banner.Format { - sizes[i] = strconv.FormatInt(format.W, 10) + "x" + strconv.FormatInt(format.H, 10) - } - - return strings.Join(sizes, "_") - } - - if imp.Banner.W != nil && imp.Banner.H != nil { - return strconv.FormatInt(*imp.Banner.W, 10) + "x" + strconv.FormatInt(*imp.Banner.H, 10) - } - - return "" -} - -func setSlaveSizesParam(queryParams *url.Values, slaveSizes map[string]string, orderByKey bool) { - sizeValues := make([]string, 0, len(slaveSizes)) - slaveIDs := make([]string, 0, len(slaveSizes)) - for k := range slaveSizes { - slaveIDs = append(slaveIDs, k) - } - - if orderByKey { - sort.Strings(slaveIDs) - } - - for _, slaveID := range slaveIDs { - sizes := slaveSizes[slaveID] - if sizes == "" { - continue - } - - rawSlaveID := strings.Replace(slaveID, "adocean", "", 1) - sizeValues = append(sizeValues, rawSlaveID+"~"+sizes) - } - - if len(sizeValues) > 0 { - queryParams.Set("aosspsizes", strings.Join(sizeValues, "-")) - } -} - -func (a *AdOceanAdapter) MakeBids( - internalRequest *openrtb2.BidRequest, - externalRequest *adapters.RequestData, - response *adapters.ResponseData, -) (*adapters.BidderResponse, []error) { - if response.StatusCode != http.StatusOK { - return nil, []error{fmt.Errorf("Unexpected status code: %d. Network error?", response.StatusCode)} - } - - requestURL, _ := url.Parse(externalRequest.Uri) - queryParams := requestURL.Query() - auctionIDs := queryParams["aid"] - - bidResponses := make([]ResponseAdUnit, 0) - if err := jsonutil.Unmarshal(response.Body, &bidResponses); err != nil { - return nil, []error{err} - } - - var parsedResponses = adapters.NewBidderResponseWithBidsCapacity(len(auctionIDs)) - var parsingErrors []error - var slaveToAuctionIDMap = make(map[string]string, len(auctionIDs)) - - for _, auctionFullID := range auctionIDs { - auctionIDsSlice := strings.SplitN(auctionFullID, ":", 2) - slaveToAuctionIDMap[auctionIDsSlice[0]] = auctionIDsSlice[1] - } - - for _, bid := range bidResponses { - if auctionID, found := slaveToAuctionIDMap[bid.ID]; found { - if bid.Error == "true" { - continue - } - - price, _ := strconv.ParseFloat(bid.Price, 64) - width, _ := strconv.ParseInt(bid.Width, 10, 64) - height, _ := strconv.ParseInt(bid.Height, 10, 64) - adCode, err := a.prepareAdCodeForBid(bid) - if err != nil { - parsingErrors = append(parsingErrors, err) - continue - } - - parsedResponses.Bids = append(parsedResponses.Bids, &adapters.TypedBid{ - Bid: &openrtb2.Bid{ - ID: bid.ID, - ImpID: auctionID, - Price: price, - AdM: adCode, - CrID: bid.CrID, - W: width, - H: height, - }, - BidType: openrtb_ext.BidTypeBanner, - }) - parsedResponses.Currency = bid.Currency - } - } - - return parsedResponses, parsingErrors -} - -func (a *AdOceanAdapter) prepareAdCodeForBid(bid ResponseAdUnit) (string, error) { - sspCode, err := url.QueryUnescape(bid.Code) - if err != nil { - return "", err - } - - adCode := fmt.Sprintf(a.measurementCode, bid.WinURL, bid.StatsURL) + sspCode - - return adCode, nil -} diff --git a/adapters/adocean/adocean_test.go b/adapters/adocean/adocean_test.go deleted file mode 100644 index 4fb784bfc..000000000 --- a/adapters/adocean/adocean_test.go +++ /dev/null @@ -1,28 +0,0 @@ -package adocean - -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" - "github.com/stretchr/testify/assert" -) - -func TestJsonSamples(t *testing.T) { - bidder, buildErr := Builder(openrtb_ext.BidderAdOcean, config.Adapter{ - Endpoint: "https://{{.Host}}.adocean.pl"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) - - if buildErr != nil { - t.Fatalf("Builder returned unexpected error %v", buildErr) - } - - adapterstest.RunJSONBidderTest(t, "adoceantest", bidder) -} - -func TestEndpointTemplateMalformed(t *testing.T) { - _, buildErr := Builder(openrtb_ext.BidderAdOcean, config.Adapter{ - Endpoint: "{{Malformed}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"}) - - assert.Error(t, buildErr) -} diff --git a/adapters/adocean/adoceantest/exemplary/multi-banner-impression.json b/adapters/adocean/adoceantest/exemplary/multi-banner-impression.json deleted file mode 100644 index 6eac26e0d..000000000 --- a/adapters/adocean/adoceantest/exemplary/multi-banner-impression.json +++ /dev/null @@ -1,135 +0,0 @@ -{ - "mockBidRequest": { - "id": "b5300274-a7ec-4cdb-bf5b-d75eeb481a6b", - "source": { - "tid": "b5300274-a7ec-4cdb-bf5b-d75eeb481a6b" - }, - "tmax": 1000, - "imp": [{ - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [{ - "w": 300, - "h": 250 - }, { - "w": 320, - "h": 600 - }] - } - }, { - "id": "secod-twelve", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaowafpdwlrks" - } - }, - "banner": { - "format": [{ - "w": 300, - "h": 250 - }] - } - }], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://192.168.100.203/testing/prebid_server/test.html" - }, - "device": { - "w": 418, - "h": 961, - "dpidmd5": "f2ba45ece57cff9477d5a8083b138c9g" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw" - } - } - }, - "httpCalls": [{ - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aid=adoceanmyaowafpdwlrks%3Asecod-twelve&aosspsizes=myaowafpdwlrks~300x250-myaozpniqismex~300x250_320x600&devmake=&devmodel=&devos=&devosv=&dpidmd5=f2ba45ece57cff9477d5a8083b138c9g&gdpr=1&gdpr_consent=COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test","secod-twelve"] - }, - "mockResponse": { - "status": 200, - "body": [{ - "id": "adoceanmyaozpniqismex", - "price": "1", - "winurl": "https://win-url.com", - "statsUrl": "https://stats-url.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - }, - { - "id": "adoceanmyaowafpdwlrks", - "price": "1", - "winurl": "https://win-url2.com", - "statsUrl": "https://stats-url2.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - } - ] - } - }], - "expectedBidResponses": [{ - "currency": "EUR", - "bids": [{ - "bid": { - "id": "adoceanmyaozpniqismex", - "impid": "ao-test", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - },{ - "bid": { - "id": "adoceanmyaowafpdwlrks", - "impid": "secod-twelve", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }] - }] -} diff --git a/adapters/adocean/adoceantest/exemplary/single-banner-impression.json b/adapters/adocean/adoceantest/exemplary/single-banner-impression.json deleted file mode 100644 index 9f5fa2a34..000000000 --- a/adapters/adocean/adoceantest/exemplary/single-banner-impression.json +++ /dev/null @@ -1,118 +0,0 @@ -{ - "mockBidRequest": { - "id": "9ed903f4-383d-406b-8011-4f06526cb02c", - "source": { - "tid": "9ed903f4-383d-406b-8011-4f06526cb02c" - }, - "tmax": 1000, - "imp": [ - { - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://example.com/test.html" - }, - "device": { - "w": 1280, - "h": 720, - "ip": "192.168.1.1", - "ifa": "f2ba45ece57cff9477d5a8083b138c9a" - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw" - } - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aosspsizes=myaozpniqismex~300x250&devmake=&devmodel=&devos=&devosv=&gdpr=1&gdpr_consent=COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&ifa=f2ba45ece57cff9477d5a8083b138c9a&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test"] - }, - "mockResponse": { - "status": 200, - "body": [ - { - "id": "adoceanmyaozpniqismex", - "price": "1", - "winurl": "https://win-url.com", - "statsUrl": "https://stats-url.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - }, - { - "id": "adoceanmyaowafpdwlrks", - "price": "1", - "winurl": "", - "statsUrl": "", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - } - ] - } - } - ], - "expectedBidResponses": [ - { - "currency": "EUR", - "bids": [ - { - "bid": { - "id": "adoceanmyaozpniqismex", - "impid": "ao-test", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - } - ] - } - ] -} diff --git a/adapters/adocean/adoceantest/supplemental/app.json b/adapters/adocean/adoceantest/supplemental/app.json deleted file mode 100644 index 28c67bdf8..000000000 --- a/adapters/adocean/adoceantest/supplemental/app.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "mockBidRequest": { - "id": "9ed903f4-383d-406b-8011-4f06526cb02c", - "source": { - "tid": "9ed903f4-383d-406b-8011-4f06526cb02c" - }, - "tmax": 1000, - "imp": [ - { - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "app": { - "id": "ktdf45k34h53k5hjh5k3", - "name": "Weather App", - "cat": ["IAB15","IAB15-10"], - "ver": "1.0.2", - "bundle": "12345", - "domain": "example.com" - }, - "device": { - "w": 1280, - "h": 720, - "ip": "192.168.1.1", - "os": "iOS", - "devicetype": 4, - "ifa": "f2ba45ece57cff9477d5a8083b138c9a" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aosspsizes=myaozpniqismex~300x250&app=1&appbundle=12345&appdomain=example.com&appname=Weather+App&devmake=&devmodel=&devos=iOS&devosv=&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&ifa=f2ba45ece57cff9477d5a8083b138c9a&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test"] - }, - "mockResponse": { - "status": 200, - "body": "{ key: nil }" - } - } - ], - "expectedMakeBidsErrors": [ - { - "value": "decode slice: expect [ or n, but found \"", - "comparison": "literal" - } - ] -} diff --git a/adapters/adocean/adoceantest/supplemental/bad-response.json b/adapters/adocean/adoceantest/supplemental/bad-response.json deleted file mode 100644 index eb1bcb6ef..000000000 --- a/adapters/adocean/adoceantest/supplemental/bad-response.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "mockBidRequest": { - "id": "9ed903f4-383d-406b-8011-4f06526cb02c", - "source": { - "tid": "9ed903f4-383d-406b-8011-4f06526cb02c" - }, - "tmax": 1000, - "imp": [ - { - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://example.com/test.html" - }, - "device": { - "w": 1280, - "h": 720, - "ip": "192.168.1.1" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aosspsizes=myaozpniqismex~300x250&devmake=&devmodel=&devos=&devosv=&dpidmd5=&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test"] - }, - "mockResponse": { - "status": 200, - "body": "{ key: nil }" - } - } - ], - "expectedMakeBidsErrors": [ - { - "value": "decode slice: expect [ or n, but found \"", - "comparison": "literal" - } - ] -} diff --git a/adapters/adocean/adoceantest/supplemental/emiter-param-error.json b/adapters/adocean/adoceantest/supplemental/emiter-param-error.json deleted file mode 100644 index 154c92e85..000000000 --- a/adapters/adocean/adoceantest/supplemental/emiter-param-error.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "mockBidRequest": { - "id": "9ed903f4-383d-406b-8011-4f06526cb02c", - "source": { - "tid": "9ed903f4-383d-406b-8011-4f06526cb02c" - }, - "tmax": 1000, - "imp": [ - { - "id": "ao-test", - "ext": { - "bidder": { - "emiter": "myao.adocean.pl", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://example.com/test.html" - }, - "device": { - "w": 1280, - "h": 720, - "ip": "192.168.1.1" - } - }, - "expectedMakeRequestsErrors": [ - { - "value": "No emitterPrefix param", - "comparison": "literal" - } - ] -} diff --git a/adapters/adocean/adoceantest/supplemental/encode-error.json b/adapters/adocean/adoceantest/supplemental/encode-error.json deleted file mode 100644 index 32a0565da..000000000 --- a/adapters/adocean/adoceantest/supplemental/encode-error.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "mockBidRequest": { - "id": "9ed903f4-383d-406b-8011-4f06526cb02c", - "source": { - "tid": "9ed903f4-383d-406b-8011-4f06526cb02c" - }, - "tmax": 1000, - "imp": [ - { - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://example.com/test.html" - }, - "device": { - "w": 1280, - "h": 720, - "ip": "192.168.1.1" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aosspsizes=myaozpniqismex~300x250&devmake=&devmodel=&devos=&devosv=&dpidmd5=&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test"] - }, - "mockResponse": { - "status": 200, - "body": [ - { - "id": "adoceanmyaozpniqismex", - "price": "1", - "winurl": "", - "statsUrl": "", - "code": " %a", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - } - ] - } - } - ], - "expectedBidResponses": [{"currency":"USD","bids":[]}], - "expectedMakeBidsErrors": [ - { - "value": "invalid URL escape \"%a\"", - "comparison": "literal" - } - ] -} diff --git a/adapters/adocean/adoceantest/supplemental/network-error.json b/adapters/adocean/adoceantest/supplemental/network-error.json deleted file mode 100644 index 5910a5626..000000000 --- a/adapters/adocean/adoceantest/supplemental/network-error.json +++ /dev/null @@ -1,67 +0,0 @@ -{ - "mockBidRequest": { - "id": "9ed903f4-383d-406b-8011-4f06526cb02c", - "source": { - "tid": "9ed903f4-383d-406b-8011-4f06526cb02c" - }, - "tmax": 1000, - "imp": [ - { - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [ - { - "w": 300, - "h": 250 - } - ] - } - } - ], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://example.com/test.html" - }, - "device": { - "w": 1280, - "h": 720, - "ip": "192.168.1.1" - } - }, - "httpCalls": [ - { - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aosspsizes=myaozpniqismex~300x250&devmake=&devmodel=&devos=&devosv=&dpidmd5=&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test"] - }, - "mockResponse": { - "status": 500, - "body": {} - } - } - ], - "expectedMakeBidsErrors": [ - { - "value": "Unexpected status code: 500. Network error?", - "comparison": "literal" - } - ] -} diff --git a/adapters/adocean/adoceantest/supplemental/no-bid.json b/adapters/adocean/adoceantest/supplemental/no-bid.json deleted file mode 100644 index a2c9b9c7e..000000000 --- a/adapters/adocean/adoceantest/supplemental/no-bid.json +++ /dev/null @@ -1,161 +0,0 @@ -{ - "mockBidRequest": { - "id": "b5300274-a7ec-4cdb-bf5b-d75eeb481a6b", - "source": { - "tid": "b5300274-a7ec-4cdb-bf5b-d75eeb481a6b" - }, - "tmax": 1000, - "imp": [{ - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [{ - "w": 300, - "h": 250 - }] - } - }, { - "id": "ao-test-two", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaowafpdwlrks" - } - }, - "banner": { - "format": [{ - "w": 300, - "h": 250 - }] - } - }, { - "id": "ao-test-three", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaowafpdwlrks" - } - }, - "banner": { - "format": [{ - "w": 300, - "h": 250 - }] - } - }], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://localhost/prebid_server/test.html" - }, - "device": { - "w": 418, - "h": 961 - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw" - } - } - }, - "httpCalls": [{ - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aid=adoceanmyaowafpdwlrks%3Aao-test-two&aosspsizes=myaowafpdwlrks~300x250-myaozpniqismex~300x250&devmake=&devmodel=&devos=&devosv=&dpidmd5=&gdpr=1&gdpr_consent=COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test","ao-test-two"] - }, - "mockResponse": { - "status": 200, - "body": [{ - "id": "adoceanmyaozpniqismex", - "error": "true" - }, - { - "id": "adoceanmyaowafpdwlrks", - "price": "1", - "winurl": "https://win-url2.com", - "statsUrl": "https://stats-url2.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - } - ] - } - }, { - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaowafpdwlrks%3Aao-test-three&aosspsizes=myaowafpdwlrks~300x250&devmake=&devmodel=&devos=&devosv=&dpidmd5=&gdpr=1&gdpr_consent=COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test-three"] - }, - "mockResponse": { - "status": 200, - "body": [{ - "id": "adoceanmyaowafpdwlrks", - "price": "1", - "winurl": "https://win-url3.com", - "statsUrl": "https://stats-url3.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - }] - } - }], - "expectedBidResponses": [{ - "currency": "EUR", - "bids": [{ - "bid": { - "id": "adoceanmyaowafpdwlrks", - "impid": "ao-test-two", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }] - }, { - "currency": "EUR", - "bids": [{ - "bid": { - "id": "adoceanmyaowafpdwlrks", - "impid": "ao-test-three", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }] - }] -} diff --git a/adapters/adocean/adoceantest/supplemental/no-impression.json b/adapters/adocean/adoceantest/supplemental/no-impression.json deleted file mode 100644 index 8f2a8eef3..000000000 --- a/adapters/adocean/adoceantest/supplemental/no-impression.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "mockBidRequest": { - "id": "9ed903f4-383d-406b-8011-4f06526cb02c", - "source": { - "tid": "9ed903f4-383d-406b-8011-4f06526cb02c" - }, - "tmax": 1000, - "imp": [], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://example.com/test.html" - }, - "device": { - "w": 1280, - "h": 720, - "ip": "192.168.1.1" - } - }, - "expectedMakeRequestsErrors": [ - { - "value": "No impression in the bid request", - "comparison": "literal" - } - ] -} diff --git a/adapters/adocean/adoceantest/supplemental/no-sizes.json b/adapters/adocean/adoceantest/supplemental/no-sizes.json deleted file mode 100644 index c469f5e09..000000000 --- a/adapters/adocean/adoceantest/supplemental/no-sizes.json +++ /dev/null @@ -1,170 +0,0 @@ -{ - "mockBidRequest": { - "id": "b5300274-a7ec-4cdb-bf5b-d75eeb481a6b", - "source": { - "tid": "b5300274-a7ec-4cdb-bf5b-d75eeb481a6b" - }, - "tmax": 1000, - "imp": [{ - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - } - }, { - "id": "ao-test-two", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaowafpdwlrks" - } - }, - "banner": { - "format": [] - } - }, { - "id": "ao-test-three", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaowafpdwlrks" - } - }, - "banner": { - "w": 300, - "h": 250 - } - }], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://localhost/prebid_server/test.html" - }, - "device": { - "w": 418, - "h": 961 - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw" - } - } - }, - "httpCalls": [{ - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aid=adoceanmyaowafpdwlrks%3Aao-test-two&devmake=&devmodel=&devos=&devosv=&dpidmd5=&gdpr=1&gdpr_consent=COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test","ao-test-two"] - }, - "mockResponse": { - "status": 200, - "body": [{ - "id": "adoceanmyaozpniqismex", - "price": "1", - "winurl": "https://win-url.com", - "statsUrl": "https://stats-url.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - }, - { - "id": "adoceanmyaowafpdwlrks", - "price": "1", - "winurl": "https://win-url2.com", - "statsUrl": "https://stats-url2.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - } - ] - } - }, { - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaowafpdwlrks%3Aao-test-three&aosspsizes=myaowafpdwlrks~300x250&devmake=&devmodel=&devos=&devosv=&dpidmd5=&gdpr=1&gdpr_consent=COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test-three"] - }, - "mockResponse": { - "status": 200, - "body": [{ - "id": "adoceanmyaowafpdwlrks", - "price": "1", - "winurl": "https://win-url3.com", - "statsUrl": "https://stats-url3.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - }] - } - }], - "expectedBidResponses": [{ - "currency": "EUR", - "bids": [{ - "bid": { - "id": "adoceanmyaozpniqismex", - "impid": "ao-test", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }, { - "bid": { - "id": "adoceanmyaowafpdwlrks", - "impid": "ao-test-two", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }] - }, { - "currency": "EUR", - "bids": [{ - "bid": { - "id": "adoceanmyaowafpdwlrks", - "impid": "ao-test-three", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }] - }] -} diff --git a/adapters/adocean/adoceantest/supplemental/requests-merge.json b/adapters/adocean/adoceantest/supplemental/requests-merge.json deleted file mode 100644 index 240c74bc7..000000000 --- a/adapters/adocean/adoceantest/supplemental/requests-merge.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "mockBidRequest": { - "id": "b5300274-a7ec-4cdb-bf5b-d75eeb481a6b", - "source": { - "tid": "b5300274-a7ec-4cdb-bf5b-d75eeb481a6b" - }, - "tmax": 1000, - "imp": [{ - "id": "ao-test", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaozpniqismex" - } - }, - "banner": { - "format": [{ - "w": 300, - "h": 250 - }] - } - }, { - "id": "ao-test-two", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaowafpdwlrks" - } - }, - "banner": { - "format": [{ - "w": 300, - "h": 250 - }] - } - }, { - "id": "ao-test-three", - "ext": { - "bidder": { - "emitterPrefix": "myao", - "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", - "slaveId": "adoceanmyaowafpdwlrks" - } - }, - "banner": { - "format": [{ - "w": 300, - "h": 250 - }] - } - }], - "test": 1, - "ext": { - "prebid": { - "targeting": { - "includewinners": true, - "includebidderkeys": false - } - } - }, - "site": { - "publisher": { - "id": "1" - }, - "page": "http://localhost/prebid_server/test.html" - }, - "device": { - "w": 418, - "h": 961 - }, - "regs": { - "ext": { - "gdpr": 1 - } - }, - "user": { - "ext": { - "consent": "COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw" - } - } - }, - "httpCalls": [{ - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaozpniqismex%3Aao-test&aid=adoceanmyaowafpdwlrks%3Aao-test-two&aosspsizes=myaowafpdwlrks~300x250-myaozpniqismex~300x250&devmake=&devmodel=&devos=&devosv=&dpidmd5=&gdpr=1&gdpr_consent=COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test","ao-test-two"] - }, - "mockResponse": { - "status": 200, - "body": [{ - "id": "adoceanmyaozpniqismex", - "price": "1", - "winurl": "https://win-url.com", - "statsUrl": "https://stats-url.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - }, - { - "id": "adoceanmyaowafpdwlrks", - "price": "1", - "winurl": "https://win-url2.com", - "statsUrl": "https://stats-url2.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - } - ] - } - }, { - "expectedRequest": { - "uri": "https://myao.adocean.pl/_10000000/ad.json?aid=adoceanmyaowafpdwlrks%3Aao-test-three&aosspsizes=myaowafpdwlrks~300x250&devmake=&devmodel=&devos=&devosv=&dpidmd5=&gdpr=1&gdpr_consent=COwK6gaOwK6gaFmAAAENAPCAAAAAAAAAAAAAAAAAAAAA.IFoEUQQgAIQwgIwQABAEAAAAOIAACAIAAAAQAIAgEAACEAAAAAgAQBAAAAAAAGBAAgAAAAAAAFAAECAAAgAAQARAEQAAAAAJAAIAAgAAAYQEAAAQmAgBC3ZAYzUw&id=tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7&nc=1&nosecure=1&pbsrv_v=1.3.0", - "impIDs":["ao-test-three"] - }, - "mockResponse": { - "status": 200, - "body": [{ - "id": "adoceanmyaowafpdwlrks", - "price": "1", - "winurl": "https://win-url3.com", - "statsUrl": "https://stats-url3.com", - "code": " ", - "currency": "EUR", - "minFloorPrice": "0.01", - "width": "300", - "height": "250", - "crid": "0af345b42983cc4bc0", - "ttl": "300" - }] - } - }], - "expectedBidResponses": [{ - "currency": "EUR", - "bids": [{ - "bid": { - "id": "adoceanmyaozpniqismex", - "impid": "ao-test", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }, { - "bid": { - "id": "adoceanmyaowafpdwlrks", - "impid": "ao-test-two", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }] - }, { - "currency": "EUR", - "bids": [{ - "bid": { - "id": "adoceanmyaowafpdwlrks", - "impid": "ao-test-three", - "price": 1, - "adm": " ", - "crid": "0af345b42983cc4bc0", - "w": 300, - "h": 250 - }, - "type": "banner" - }] - }] -} diff --git a/adapters/adocean/params_test.go b/adapters/adocean/params_test.go deleted file mode 100644 index 0840d1084..000000000 --- a/adapters/adocean/params_test.go +++ /dev/null @@ -1,53 +0,0 @@ -package adocean - -import ( - "encoding/json" - "testing" - - "github.com/prebid/prebid-server/v3/openrtb_ext" -) - -func TestValidParams(t *testing.T) { - validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") - if err != nil { - t.Fatalf("Failed to fetch the json-schemas. %v", err) - } - - for _, validParam := range validParams { - if err := validator.Validate(openrtb_ext.BidderAdOcean, json.RawMessage(validParam)); err != nil { - t.Errorf("Schema rejected adocean params: %s", validParam) - } - } -} - -func TestInvalidParams(t *testing.T) { - validator, err := openrtb_ext.NewBidderParamsValidator("../../static/bidder-params") - if err != nil { - t.Fatalf("Failed to fetch the json-schemas. %v", err) - } - - for _, invalidParam := range invalidParams { - if err := validator.Validate(openrtb_ext.BidderAdOcean, json.RawMessage(invalidParam)); err == nil { - t.Errorf("Schema allowed unexpected params: %s", invalidParam) - } - } -} - -var validParams = []string{ - `{"emitterPrefix": "myao", "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", "slaveId": "adoceanmyaozpniqismex"}`, - `{"emiter": "myao.adocean.pl", "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", "slaveId": "adoceanmyaozpniqismex"}`, -} - -var invalidParams = []string{ - `{}`, - `{"emitterPrefix": "myao", "slaveId": "adoceanmyaozpniqismex"}`, - `{"emitterPrefix": "myao", "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7"}`, - `{"emitterPrefix": "", "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", "slaveId": "adoceanmyaozpniqismex"}`, - `{"emitterPrefix": "myao", "", "slaveId": "adoceanmyaozpniqismex"}`, - `{"emitterPrefix": "myao", "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", "slaveId": ""}`, - `{"emitterPrefix": "myao", "masterId": "tmYF.DMl7Z utQTJfTpxCOmtNPZoQUDcL.G7", "slaveId": "adoceanmyaozpniqismex"}`, - `{"emitterPrefix": "myao", "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", "slaveId": "adoceanmy iqismex"}`, - `{"emitterPrefix": "myao.adocean.pl", "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", "slaveId": "adoceanmyaozpniqismex"}`, - `{"emiter": "myao.adocean.pl", "slaveId": "adoceanmyaozpniqismex"}`, - `{"emiter": "", "masterId": "tmYF.DMl7ZBq.Nqt2Bq4FutQTJfTpxCOmtNPZoQUDcL.G7", "slaveId": "adoceanmyaozpniqismex"}`, -} diff --git a/exchange/adapter_builders.go b/exchange/adapter_builders.go index fa1ea996f..41a53edc8 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/adocean" "github.com/prebid/prebid-server/v3/adapters/adoppler" "github.com/prebid/prebid-server/v3/adapters/adot" "github.com/prebid/prebid-server/v3/adapters/adpone" @@ -280,7 +279,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.BidderAdOcean: adocean.Builder, openrtb_ext.BidderAdoppler: adoppler.Builder, openrtb_ext.BidderAdot: adot.Builder, openrtb_ext.BidderAdpone: adpone.Builder, diff --git a/openrtb_ext/bidders.go b/openrtb_ext/bidders.go index c9f3fa601..ea787bd98 100644 --- a/openrtb_ext/bidders.go +++ b/openrtb_ext/bidders.go @@ -33,7 +33,6 @@ var coreBidderNames []BidderName = []BidderName{ BidderAdmatic, BidderAdmixer, BidderAdnuntius, - BidderAdOcean, BidderAdoppler, BidderAdot, BidderAdpone, @@ -403,7 +402,6 @@ const ( BidderAdmatic BidderName = "admatic" BidderAdmixer BidderName = "admixer" BidderAdnuntius BidderName = "adnuntius" - BidderAdOcean BidderName = "adocean" BidderAdoppler BidderName = "adoppler" BidderAdot BidderName = "adot" BidderAdpone BidderName = "adpone" diff --git a/openrtb_ext/imp_adocean.go b/openrtb_ext/imp_adocean.go deleted file mode 100644 index 1dd64d284..000000000 --- a/openrtb_ext/imp_adocean.go +++ /dev/null @@ -1,7 +0,0 @@ -package openrtb_ext - -type ExtImpAdOcean struct { - EmitterPrefix string `json:"emitterPrefix"` - MasterID string `json:"masterId"` - SlaveID string `json:"slaveId"` -} diff --git a/static/bidder-info/adocean.yaml b/static/bidder-info/adocean.yaml deleted file mode 100644 index 3932a7a75..000000000 --- a/static/bidder-info/adocean.yaml +++ /dev/null @@ -1,16 +0,0 @@ -endpoint: "https://{{.Host}}.adocean.pl" -maintainer: - email: "aoteam@gemius.com" -gvlVendorID: 328 -capabilities: - app: - mediaTypes: - - banner - site: - mediaTypes: - - banner -userSync: - # adocean supports user syncing, but requires configuration by the host. contact this - # bidder directly at the email address in this file to ask about enabling user sync. - supports: - - redirect diff --git a/static/bidder-params/adocean.json b/static/bidder-params/adocean.json deleted file mode 100644 index a3c5cbc95..000000000 --- a/static/bidder-params/adocean.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "AdOcean Adapter Params", - "description": "A schema which validates params accepted by the AdOcean adapter", - "type": "object", - "properties": { - "emiter": { - "type": "string", - "description": "Deprecated, use emitterPrefix instead. AdOcean emiter", - "pattern": ".+" - }, - "emitterPrefix": { - "type": "string", - "description": "AdOcean emitter prefix", - "pattern": "^[\\w\\-]+$" - }, - "masterId": { - "type": "string", - "description": "Master's id", - "pattern": "^[\\w.]+$" - }, - "slaveId": { - "type": "string", - "description": "Slave's id", - "pattern": "^adocean[\\w.]+$" - } - }, - "oneOf": [ - { "required": ["emiter", "masterId", "slaveId"] }, - { "required": ["emitterPrefix", "masterId", "slaveId"] } - ] -}