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"] }
- ]
-}