diff --git a/adapters/teads/teads_types.go b/adapters/teads/models.go
similarity index 53%
rename from adapters/teads/teads_types.go
rename to adapters/teads/models.go
index 32797448efd..5b63c163197 100644
--- a/adapters/teads/teads_types.go
+++ b/adapters/teads/models.go
@@ -9,31 +9,31 @@ type adapter struct {
endpointTemplate *template.Template
}
-type DefaultBidderImpExtension struct {
- Bidder Bidder `json:"bidder"`
+type defaultBidderImpExtension struct {
+ Bidder bidder `json:"bidder"`
}
-type Bidder struct {
+type bidder struct {
PlacementId int `json:"placementId"`
}
-type TeadsImpExtension struct {
- KV TeadsKV `json:"kv"`
+type teadsImpExtension struct {
+ KV teadsKV `json:"kv"`
}
-type TeadsKV struct {
+type teadsKV struct {
PlacementId int `json:"placementId"`
}
-type TeadsBidExt struct {
- Prebid TeadsPrebidExt `json:"prebid"`
+type teadsBidExt struct {
+ Prebid teadsPrebidExt `json:"prebid"`
}
-type TeadsPrebidExt struct {
- Meta TeadsPrebidMeta `json:"meta"`
+type teadsPrebidExt struct {
+ Meta teadsPrebidMeta `json:"meta"`
}
-type TeadsPrebidMeta struct {
+type teadsPrebidMeta struct {
RendererName string `json:"rendererName"`
RendererVersion string `json:"rendererVersion"`
RendererData json.RawMessage `json:"rendererData"`
diff --git a/adapters/teads/teads.go b/adapters/teads/teads.go
index 71936916d5e..0070dbb7534 100644
--- a/adapters/teads/teads.go
+++ b/adapters/teads/teads.go
@@ -75,15 +75,20 @@ func updateImpObject(imps []openrtb2.Imp) error {
}
}
- var defaultImpExt DefaultBidderImpExtension
+ var defaultImpExt defaultBidderImpExtension
if err := json.Unmarshal(imp.Ext, &defaultImpExt); err != nil {
return &errortypes.BadInput{
Message: "Error parsing Imp.Ext object",
}
}
+ if defaultImpExt.Bidder.PlacementId == 0 {
+ return &errortypes.BadInput{
+ Message: "placementId should not be 0.",
+ }
+ }
imp.TagID = strconv.Itoa(defaultImpExt.Bidder.PlacementId)
- teadsImpExt := &TeadsImpExtension{
- KV: TeadsKV{
+ teadsImpExt := &teadsImpExtension{
+ KV: teadsKV{
PlacementId: defaultImpExt.Bidder.PlacementId,
},
}
@@ -120,16 +125,13 @@ func (a *adapter) buildEndpointURL() (string, error) {
}
func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, _ *adapters.RequestData, response *adapters.ResponseData) (*adapters.BidderResponse, []error) {
- if response.StatusCode == http.StatusNoContent {
+ if adapters.IsResponseStatusCodeNoContent(response) {
return nil, nil
}
- if response.StatusCode == http.StatusBadRequest {
- return nil, []error{&errortypes.BadInput{
- Message: fmt.Sprintf("Unexpected status code: %d. Run with request.debug = 1 for more info", response.StatusCode),
- }}
- }
- if response.StatusCode != http.StatusOK {
- return nil, []error{fmt.Errorf("Unexpected status code: %d. Run with request.debug = 1 for more info", response.StatusCode)}
+
+ err := adapters.CheckResponseStatusCodeForErrors(response)
+ if err != nil {
+ return nil, []error{err}
}
var bidResp openrtb2.BidResponse
@@ -137,17 +139,17 @@ func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, _ *adapters.Req
return nil, []error{err}
}
- bidResponse := adapters.NewBidderResponseWithBidsCapacity(len(bidResp.SeatBid))
+ bidderResponse := adapters.NewBidderResponseWithBidsCapacity(len(bidResp.SeatBid))
for _, sb := range bidResp.SeatBid {
for i := 0; i < len(sb.Bid); i++ {
bid := sb.Bid[i]
- var bidExtTeads TeadsBidExt
- if err := json.Unmarshal(bid.Ext, &bidExtTeads); err != nil {
- return nil, []error{err}
+ bidExtTeads, err := getTeadsRendererFromBidExt(bid.Ext)
+ if err != nil {
+ return nil, err
}
- bidResponse.Bids = append(bidResponse.Bids, &adapters.TypedBid{
+ bidderResponse.Bids = append(bidderResponse.Bids, &adapters.TypedBid{
Bid: &bid,
BidMeta: &openrtb_ext.ExtBidPrebidMeta{
RendererName: bidExtTeads.Prebid.Meta.RendererName,
@@ -158,9 +160,27 @@ func (a *adapter) MakeBids(internalRequest *openrtb2.BidRequest, _ *adapters.Req
}
}
if bidResp.Cur != "" {
- bidResponse.Currency = bidResp.Cur
+ bidderResponse.Currency = bidResp.Cur
+ }
+ return bidderResponse, nil
+}
+
+func getTeadsRendererFromBidExt(ext json.RawMessage) (*teadsBidExt, []error) {
+ var bidExtTeads teadsBidExt
+ if err := json.Unmarshal(ext, &bidExtTeads); err != nil {
+ return nil, []error{err}
+ }
+ if bidExtTeads.Prebid.Meta.RendererName == "" {
+ return nil, []error{&errortypes.BadInput{
+ Message: "RendererName should not be empty if present",
+ }}
+ }
+ if bidExtTeads.Prebid.Meta.RendererVersion == "" {
+ return nil, []error{&errortypes.BadInput{
+ Message: "RendererVersion should not be empty if present",
+ }}
}
- return bidResponse, []error{}
+ return &bidExtTeads, nil
}
func getMediaTypeForImp(impID string, imps []openrtb2.Imp) openrtb_ext.BidType {
@@ -168,8 +188,6 @@ func getMediaTypeForImp(impID string, imps []openrtb2.Imp) openrtb_ext.BidType {
if imp.ID == impID {
if imp.Video != nil {
return openrtb_ext.BidTypeVideo
- } else if imp.Native != nil {
- return openrtb_ext.BidTypeNative
}
return openrtb_ext.BidTypeBanner
}
diff --git a/adapters/teads/teads_test.go b/adapters/teads/teads_test.go
index dc3c8ec7511..791ce7aed6f 100644
--- a/adapters/teads/teads_test.go
+++ b/adapters/teads/teads_test.go
@@ -10,7 +10,7 @@ import (
func TestJsonSamples(t *testing.T) {
bidder, buildErr := Builder(openrtb_ext.BidderTeads, config.Adapter{
- Endpoint: "https://r.teads.tv/rich/"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"})
+ Endpoint: "https://a.teads.tv/prebid-server/bid-request"}, config.Server{ExternalUrl: "https://a.teads.tv/prebid-server/bid-request", GvlID: 1, DataCenter: "2"})
if buildErr != nil {
t.Fatalf("Builder returned unexpected error %v", buildErr)
@@ -21,7 +21,7 @@ func TestJsonSamples(t *testing.T) {
func TestEndpointTemplateMalformed(t *testing.T) {
_, buildErr := Builder(openrtb_ext.BidderTeads, config.Adapter{
- Endpoint: "{{Malformed}}"}, config.Server{ExternalUrl: "http://hosturl.com", GvlID: 1, DataCenter: "2"})
+ Endpoint: "{{Malformed}}"}, config.Server{ExternalUrl: "https://a.teads.tv/prebid-server/bid-request", GvlID: 1, DataCenter: "2"})
assert.Error(t, buildErr)
}
diff --git a/adapters/teads/teadstest/exemplary/simple-banner-with-format.json b/adapters/teads/teadstest/exemplary/simple-banner-with-format.json
new file mode 100644
index 00000000000..b2677e6faba
--- /dev/null
+++ b/adapters/teads/teadstest/exemplary/simple-banner-with-format.json
@@ -0,0 +1,168 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "banner": {
+ "format": [
+ {
+ "w": 300,
+ "h": 250
+ }
+ ]
+ },
+ "ext": {
+ "bidder": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "teads",
+ "version": "5.0.25",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "httpCalls": [
+ {
+ "expectedRequest": {
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
+ "body": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "tagid": "125",
+ "banner": {
+ "w": 300,
+ "h": 250,
+ "format": [
+ {
+ "w": 300,
+ "h": 250
+ }
+ ]
+ },
+ "ext": {
+ "kv": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "teads",
+ "version": "5.0.25",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "mockResponse": {
+ "status": 200,
+ "body": {
+ "id": "39312703-e970-4914-ae56-8e7d7d1fd16b",
+ "tagid": "125",
+ "seatbid": [
+ {
+ "seat": "teads",
+ "bid": [
+ {
+ "id": "695ac187-fb3f-4d1f-8d5d-099c5e4c4d28",
+ "impid": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "price": 33,
+ "nurl": "https://localhost:8080/prebid-server/win-notice?data=base64&clearingPrice=${AUCTION_PRICE}",
+ "adm": "{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"ads\":[{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"type\":\"VastXml\",\"content\":\"Teads Technology\",\"scenario_id\":971105412,\"dsp_campaign_id\":\"1\",\"dsp_creative_id\":\"1\",\"insertion_id\":1,\"placement_id\":2,\"portfolio_item_id\":971104812}],\"wigoEnabled\":false,\"placementMetadata\":{\"2\":{\"adCallTrackingUrl\":\"https://localhost:18281/track?action=adCall&pid=2&pageId=2&auctid=39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6&vid=708ca808-ec55-4d97-ab81-9c4777e16058&hb_provider=prebid-server&hb_ad_unit_code=742d38c4-7994-4c2b-ac82-18d3a64ba3c7&env=thirdparty-inapp>c=1&gdpr_apply=false&gac=1&gap=1&ca=false&bsg=uncat&bsias=uncat&pfid=971104812&gid=1&brid=0&cid=1&rpm_reason=3&ut=1&p=5fwoPMJCquIB-txdmwQS0l79-hhHVnlTzyR9mmnBMtZRceP6-q31KzCfLpS8WTNaw_sXr-hkOFBxaxa-jyLblbVc&cts=1685971107773&cs=267268361555465193905\",\"auctionId\":\"39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6\"}},\"viewerId\":\"708ca808-ec55-4d97-ab81-9c4777e16058\"}",
+ "adid": "1",
+ "adomain": [
+ "teads.com"
+ ],
+ "cid": "1",
+ "crid": "1",
+ "cat": [
+ "IAB1-6",
+ "IAB10-5"
+ ],
+ "ext": {
+ "prebid": {
+ "meta": {
+ "rendererName": "teads",
+ "rendererVersion": "5.0.25",
+ "rendererData": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "expectedBidResponses": [
+ {
+ "currency": "USD",
+ "bids": [
+ {
+ "bid": {
+ "id": "695ac187-fb3f-4d1f-8d5d-099c5e4c4d28",
+ "impid": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "price": 33,
+ "nurl": "https://localhost:8080/prebid-server/win-notice?data=base64&clearingPrice=${AUCTION_PRICE}",
+ "adm": "{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"ads\":[{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"type\":\"VastXml\",\"content\":\"Teads Technology\",\"scenario_id\":971105412,\"dsp_campaign_id\":\"1\",\"dsp_creative_id\":\"1\",\"insertion_id\":1,\"placement_id\":2,\"portfolio_item_id\":971104812}],\"wigoEnabled\":false,\"placementMetadata\":{\"2\":{\"adCallTrackingUrl\":\"https://localhost:18281/track?action=adCall&pid=2&pageId=2&auctid=39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6&vid=708ca808-ec55-4d97-ab81-9c4777e16058&hb_provider=prebid-server&hb_ad_unit_code=742d38c4-7994-4c2b-ac82-18d3a64ba3c7&env=thirdparty-inapp>c=1&gdpr_apply=false&gac=1&gap=1&ca=false&bsg=uncat&bsias=uncat&pfid=971104812&gid=1&brid=0&cid=1&rpm_reason=3&ut=1&p=5fwoPMJCquIB-txdmwQS0l79-hhHVnlTzyR9mmnBMtZRceP6-q31KzCfLpS8WTNaw_sXr-hkOFBxaxa-jyLblbVc&cts=1685971107773&cs=267268361555465193905\",\"auctionId\":\"39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6\"}},\"viewerId\":\"708ca808-ec55-4d97-ab81-9c4777e16058\"}",
+ "adid": "1",
+ "adomain": [
+ "teads.com"
+ ],
+ "cid": "1",
+ "crid": "1",
+ "cat": [
+ "IAB1-6",
+ "IAB10-5"
+ ],
+ "ext": {
+ "prebid": {
+ "meta": {
+ "rendererName": "teads",
+ "rendererVersion": "5.0.25",
+ "rendererData": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ }
+ }
+ },
+ "type": "banner"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/adapters/teads/teadstest/exemplary/simple-banner.json b/adapters/teads/teadstest/exemplary/simple-banner.json
index 0cba0fe4af8..2d9be7c7368 100644
--- a/adapters/teads/teadstest/exemplary/simple-banner.json
+++ b/adapters/teads/teadstest/exemplary/simple-banner.json
@@ -35,7 +35,7 @@
"httpCalls": [
{
"expectedRequest": {
- "uri": "https://r.teads.tv/rich/",
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
"body": {
"id": "test-request-id",
"imp": [
diff --git a/adapters/teads/teadstest/exemplary/simple-video.json b/adapters/teads/teadstest/exemplary/simple-video.json
index cb67877ec41..814569a47e1 100644
--- a/adapters/teads/teadstest/exemplary/simple-video.json
+++ b/adapters/teads/teadstest/exemplary/simple-video.json
@@ -48,7 +48,7 @@
"httpCalls": [
{
"expectedRequest": {
- "uri": "https://r.teads.tv/rich/",
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
"body": {
"id": "test-request-id",
"imp": [
diff --git a/adapters/teads/teadstest/supplemental/currency-empty-string.json b/adapters/teads/teadstest/supplemental/currency-empty-string.json
new file mode 100644
index 00000000000..5f0d700b14b
--- /dev/null
+++ b/adapters/teads/teadstest/supplemental/currency-empty-string.json
@@ -0,0 +1,185 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "video": {
+ "mimes": [
+ "video/mp4"
+ ],
+ "minduration": 15,
+ "maxduration": 30,
+ "protocols": [
+ 2,
+ 3,
+ 5,
+ 6,
+ 7,
+ 8
+ ],
+ "w": 940,
+ "h": 560
+ },
+ "ext": {
+ "bidder": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "teads",
+ "version": "5.0.25",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "httpCalls": [
+ {
+ "expectedRequest": {
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
+ "body": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "tagid": "125",
+ "video": {
+ "mimes": [
+ "video/mp4"
+ ],
+ "minduration": 15,
+ "maxduration": 30,
+ "protocols": [
+ 2,
+ 3,
+ 5,
+ 6,
+ 7,
+ 8
+ ],
+ "w": 940,
+ "h": 560
+ },
+ "ext": {
+ "kv": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "teads",
+ "version": "5.0.25",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "mockResponse": {
+ "status": 200,
+ "body": {
+ "id": "39312703-e970-4914-ae56-8e7d7d1fd16b",
+ "cur": "EUR",
+ "tagid": "125",
+ "seatbid": [
+ {
+ "seat": "teads",
+ "bid": [
+ {
+ "id": "695ac187-fb3f-4d1f-8d5d-099c5e4c4d28",
+ "impid": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "price": 33,
+ "nurl": "https://localhost:8080/prebid-server/win-notice?data=base64&clearingPrice=${AUCTION_PRICE}",
+ "adm": "{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"ads\":[{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"type\":\"VastXml\",\"content\":\"Teads Technology\",\"scenario_id\":971105412,\"dsp_campaign_id\":\"1\",\"dsp_creative_id\":\"1\",\"insertion_id\":1,\"placement_id\":2,\"portfolio_item_id\":971104812}],\"wigoEnabled\":false,\"placementMetadata\":{\"2\":{\"adCallTrackingUrl\":\"https://localhost:18281/track?action=adCall&pid=2&pageId=2&auctid=39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6&vid=708ca808-ec55-4d97-ab81-9c4777e16058&hb_provider=prebid-server&hb_ad_unit_code=742d38c4-7994-4c2b-ac82-18d3a64ba3c7&env=thirdparty-inapp>c=1&gdpr_apply=false&gac=1&gap=1&ca=false&bsg=uncat&bsias=uncat&pfid=971104812&gid=1&brid=0&cid=1&rpm_reason=3&ut=1&p=5fwoPMJCquIB-txdmwQS0l79-hhHVnlTzyR9mmnBMtZRceP6-q31KzCfLpS8WTNaw_sXr-hkOFBxaxa-jyLblbVc&cts=1685971107773&cs=267268361555465193905\",\"auctionId\":\"39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6\"}},\"viewerId\":\"708ca808-ec55-4d97-ab81-9c4777e16058\"}",
+ "adid": "1",
+ "adomain": [
+ "teads.com"
+ ],
+ "cid": "1",
+ "crid": "1",
+ "cat": [
+ "IAB1-6",
+ "IAB10-5"
+ ],
+ "ext": {
+ "prebid": {
+ "meta": {
+ "rendererName": "teads",
+ "rendererVersion": "5.0.25",
+ "rendererData": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "expectedBidResponses": [
+ {
+ "currency": "EUR",
+ "bids": [
+ {
+ "bid": {
+ "id": "695ac187-fb3f-4d1f-8d5d-099c5e4c4d28",
+ "impid": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "price": 33,
+ "nurl": "https://localhost:8080/prebid-server/win-notice?data=base64&clearingPrice=${AUCTION_PRICE}",
+ "adm": "{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"ads\":[{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"type\":\"VastXml\",\"content\":\"Teads Technology\",\"scenario_id\":971105412,\"dsp_campaign_id\":\"1\",\"dsp_creative_id\":\"1\",\"insertion_id\":1,\"placement_id\":2,\"portfolio_item_id\":971104812}],\"wigoEnabled\":false,\"placementMetadata\":{\"2\":{\"adCallTrackingUrl\":\"https://localhost:18281/track?action=adCall&pid=2&pageId=2&auctid=39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6&vid=708ca808-ec55-4d97-ab81-9c4777e16058&hb_provider=prebid-server&hb_ad_unit_code=742d38c4-7994-4c2b-ac82-18d3a64ba3c7&env=thirdparty-inapp>c=1&gdpr_apply=false&gac=1&gap=1&ca=false&bsg=uncat&bsias=uncat&pfid=971104812&gid=1&brid=0&cid=1&rpm_reason=3&ut=1&p=5fwoPMJCquIB-txdmwQS0l79-hhHVnlTzyR9mmnBMtZRceP6-q31KzCfLpS8WTNaw_sXr-hkOFBxaxa-jyLblbVc&cts=1685971107773&cs=267268361555465193905\",\"auctionId\":\"39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6\"}},\"viewerId\":\"708ca808-ec55-4d97-ab81-9c4777e16058\"}",
+ "adid": "1",
+ "adomain": [
+ "teads.com"
+ ],
+ "cid": "1",
+ "crid": "1",
+ "cat": [
+ "IAB1-6",
+ "IAB10-5"
+ ],
+ "ext": {
+ "prebid": {
+ "meta": {
+ "rendererName": "teads",
+ "rendererVersion": "5.0.25",
+ "rendererData": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ }
+ }
+ },
+ "type": "video"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/adapters/teads/teadstest/supplemental/no-impression-response.json b/adapters/teads/teadstest/supplemental/no-impression-response.json
new file mode 100644
index 00000000000..814569a47e1
--- /dev/null
+++ b/adapters/teads/teadstest/supplemental/no-impression-response.json
@@ -0,0 +1,184 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "video": {
+ "mimes": [
+ "video/mp4"
+ ],
+ "minduration": 15,
+ "maxduration": 30,
+ "protocols": [
+ 2,
+ 3,
+ 5,
+ 6,
+ 7,
+ 8
+ ],
+ "w": 940,
+ "h": 560
+ },
+ "ext": {
+ "bidder": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "teads",
+ "version": "5.0.25",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "httpCalls": [
+ {
+ "expectedRequest": {
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
+ "body": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "tagid": "125",
+ "video": {
+ "mimes": [
+ "video/mp4"
+ ],
+ "minduration": 15,
+ "maxduration": 30,
+ "protocols": [
+ 2,
+ 3,
+ 5,
+ 6,
+ 7,
+ 8
+ ],
+ "w": 940,
+ "h": 560
+ },
+ "ext": {
+ "kv": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "teads",
+ "version": "5.0.25",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "mockResponse": {
+ "status": 200,
+ "body": {
+ "id": "39312703-e970-4914-ae56-8e7d7d1fd16b",
+ "tagid": "125",
+ "seatbid": [
+ {
+ "seat": "teads",
+ "bid": [
+ {
+ "id": "695ac187-fb3f-4d1f-8d5d-099c5e4c4d28",
+ "impid": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "price": 33,
+ "nurl": "https://localhost:8080/prebid-server/win-notice?data=base64&clearingPrice=${AUCTION_PRICE}",
+ "adm": "{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"ads\":[{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"type\":\"VastXml\",\"content\":\"Teads Technology\",\"scenario_id\":971105412,\"dsp_campaign_id\":\"1\",\"dsp_creative_id\":\"1\",\"insertion_id\":1,\"placement_id\":2,\"portfolio_item_id\":971104812}],\"wigoEnabled\":false,\"placementMetadata\":{\"2\":{\"adCallTrackingUrl\":\"https://localhost:18281/track?action=adCall&pid=2&pageId=2&auctid=39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6&vid=708ca808-ec55-4d97-ab81-9c4777e16058&hb_provider=prebid-server&hb_ad_unit_code=742d38c4-7994-4c2b-ac82-18d3a64ba3c7&env=thirdparty-inapp>c=1&gdpr_apply=false&gac=1&gap=1&ca=false&bsg=uncat&bsias=uncat&pfid=971104812&gid=1&brid=0&cid=1&rpm_reason=3&ut=1&p=5fwoPMJCquIB-txdmwQS0l79-hhHVnlTzyR9mmnBMtZRceP6-q31KzCfLpS8WTNaw_sXr-hkOFBxaxa-jyLblbVc&cts=1685971107773&cs=267268361555465193905\",\"auctionId\":\"39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6\"}},\"viewerId\":\"708ca808-ec55-4d97-ab81-9c4777e16058\"}",
+ "adid": "1",
+ "adomain": [
+ "teads.com"
+ ],
+ "cid": "1",
+ "crid": "1",
+ "cat": [
+ "IAB1-6",
+ "IAB10-5"
+ ],
+ "ext": {
+ "prebid": {
+ "meta": {
+ "rendererName": "teads",
+ "rendererVersion": "5.0.25",
+ "rendererData": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "expectedBidResponses": [
+ {
+ "currency": "USD",
+ "bids": [
+ {
+ "bid": {
+ "id": "695ac187-fb3f-4d1f-8d5d-099c5e4c4d28",
+ "impid": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "price": 33,
+ "nurl": "https://localhost:8080/prebid-server/win-notice?data=base64&clearingPrice=${AUCTION_PRICE}",
+ "adm": "{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"ads\":[{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"type\":\"VastXml\",\"content\":\"Teads Technology\",\"scenario_id\":971105412,\"dsp_campaign_id\":\"1\",\"dsp_creative_id\":\"1\",\"insertion_id\":1,\"placement_id\":2,\"portfolio_item_id\":971104812}],\"wigoEnabled\":false,\"placementMetadata\":{\"2\":{\"adCallTrackingUrl\":\"https://localhost:18281/track?action=adCall&pid=2&pageId=2&auctid=39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6&vid=708ca808-ec55-4d97-ab81-9c4777e16058&hb_provider=prebid-server&hb_ad_unit_code=742d38c4-7994-4c2b-ac82-18d3a64ba3c7&env=thirdparty-inapp>c=1&gdpr_apply=false&gac=1&gap=1&ca=false&bsg=uncat&bsias=uncat&pfid=971104812&gid=1&brid=0&cid=1&rpm_reason=3&ut=1&p=5fwoPMJCquIB-txdmwQS0l79-hhHVnlTzyR9mmnBMtZRceP6-q31KzCfLpS8WTNaw_sXr-hkOFBxaxa-jyLblbVc&cts=1685971107773&cs=267268361555465193905\",\"auctionId\":\"39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6\"}},\"viewerId\":\"708ca808-ec55-4d97-ab81-9c4777e16058\"}",
+ "adid": "1",
+ "adomain": [
+ "teads.com"
+ ],
+ "cid": "1",
+ "crid": "1",
+ "cat": [
+ "IAB1-6",
+ "IAB10-5"
+ ],
+ "ext": {
+ "prebid": {
+ "meta": {
+ "rendererName": "teads",
+ "rendererVersion": "5.0.25",
+ "rendererData": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ }
+ }
+ },
+ "type": "video"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/adapters/teads/teadstest/supplemental/no-impression.json b/adapters/teads/teadstest/supplemental/no-impression.json
new file mode 100644
index 00000000000..7b1cdceb9e1
--- /dev/null
+++ b/adapters/teads/teadstest/supplemental/no-impression.json
@@ -0,0 +1,12 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id"
+ },
+
+ "expectedMakeRequestsErrors": [
+ {
+ "value": "No impression in the bid request",
+ "comparison": "literal"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/adapters/teads/teadstest/supplemental/no-placementId.json b/adapters/teads/teadstest/supplemental/no-placementId.json
new file mode 100644
index 00000000000..e343bc82a34
--- /dev/null
+++ b/adapters/teads/teadstest/supplemental/no-placementId.json
@@ -0,0 +1,28 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "test-imp-id-1",
+ "banner": {
+ "format": [
+ {
+ "w": 300,
+ "h": 250
+ }
+ ]
+ },
+ "ext": {
+ "bidder": {}
+ }
+ }
+ ]
+ },
+
+ "expectedMakeRequestsErrors": [
+ {
+ "value": "placementId should not be 0.",
+ "comparison": "literal"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/adapters/teads/teadstest/supplemental/renderer-name-empty.json b/adapters/teads/teadstest/supplemental/renderer-name-empty.json
new file mode 100644
index 00000000000..da4ee9a5094
--- /dev/null
+++ b/adapters/teads/teadstest/supplemental/renderer-name-empty.json
@@ -0,0 +1,143 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "video": {
+ "mimes": [
+ "video/mp4"
+ ],
+ "minduration": 15,
+ "maxduration": 30,
+ "protocols": [
+ 2,
+ 3
+ ],
+ "w": 940,
+ "h": 560
+ },
+ "ext": {
+ "bidder": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "",
+ "version": "5.0.25",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "httpCalls": [
+ {
+ "expectedRequest": {
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
+ "body": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "tagid": "125",
+ "video": {
+ "mimes": [
+ "video/mp4"
+ ],
+ "minduration": 15,
+ "maxduration": 30,
+ "protocols": [
+ 2,
+ 3
+ ],
+ "w": 940,
+ "h": 560
+ },
+ "ext": {
+ "kv": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "",
+ "version": "5.0.25",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "mockResponse": {
+ "status": 200,
+ "body": {
+ "id": "39312703-e970-4914-ae56-8e7d7d1fd16b",
+ "tagid": "125",
+ "seatbid": [
+ {
+ "seat": "teads",
+ "bid": [
+ {
+ "id": "695ac187-fb3f-4d1f-8d5d-099c5e4c4d28",
+ "impid": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "price": 33,
+ "nurl": "https://localhost:8080/prebid-server/win-notice?data=base64&clearingPrice=${AUCTION_PRICE}",
+ "adm": "{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"ads\":[{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"type\":\"VastXml\",\"content\":\"Teads Technology\",\"scenario_id\":971105412,\"dsp_campaign_id\":\"1\",\"dsp_creative_id\":\"1\",\"insertion_id\":1,\"placement_id\":2,\"portfolio_item_id\":971104812}],\"wigoEnabled\":false,\"placementMetadata\":{\"2\":{\"adCallTrackingUrl\":\"https://localhost:18281/track?action=adCall&pid=2&pageId=2&auctid=39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6&vid=708ca808-ec55-4d97-ab81-9c4777e16058&hb_provider=prebid-server&hb_ad_unit_code=742d38c4-7994-4c2b-ac82-18d3a64ba3c7&env=thirdparty-inapp>c=1&gdpr_apply=false&gac=1&gap=1&ca=false&bsg=uncat&bsias=uncat&pfid=971104812&gid=1&brid=0&cid=1&rpm_reason=3&ut=1&p=5fwoPMJCquIB-txdmwQS0l79-hhHVnlTzyR9mmnBMtZRceP6-q31KzCfLpS8WTNaw_sXr-hkOFBxaxa-jyLblbVc&cts=1685971107773&cs=267268361555465193905\",\"auctionId\":\"39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6\"}},\"viewerId\":\"708ca808-ec55-4d97-ab81-9c4777e16058\"}",
+ "adid": "1",
+ "adomain": [
+ "teads.com"
+ ],
+ "cid": "1",
+ "crid": "1",
+ "cat": [
+ "IAB1-6",
+ "IAB10-5"
+ ],
+ "ext": {
+ "prebid": {
+ "meta": {
+ "rendererName": "",
+ "rendererVersion": "5.0.25",
+ "rendererData": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "expectedMakeBidsErrors": [
+ {
+ "value": "RendererName should not be empty if present",
+ "comparison": "literal"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/adapters/teads/teadstest/supplemental/renderer-version-empty.json b/adapters/teads/teadstest/supplemental/renderer-version-empty.json
new file mode 100644
index 00000000000..e9e7b278dcb
--- /dev/null
+++ b/adapters/teads/teadstest/supplemental/renderer-version-empty.json
@@ -0,0 +1,143 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "video": {
+ "mimes": [
+ "video/mp4"
+ ],
+ "minduration": 15,
+ "maxduration": 30,
+ "protocols": [
+ 2,
+ 3
+ ],
+ "w": 940,
+ "h": 560
+ },
+ "ext": {
+ "bidder": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "teads",
+ "version": "",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "httpCalls": [
+ {
+ "expectedRequest": {
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
+ "body": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "tagid": "125",
+ "video": {
+ "mimes": [
+ "video/mp4"
+ ],
+ "minduration": 15,
+ "maxduration": 30,
+ "protocols": [
+ 2,
+ 3
+ ],
+ "w": 940,
+ "h": 560
+ },
+ "ext": {
+ "kv": {
+ "placementId": 125
+ }
+ }
+ }
+ ],
+ "ext": {
+ "prebid": {
+ "sdk": {
+ "renderers": [
+ {
+ "name": "teads",
+ "version": "",
+ "data": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "mockResponse": {
+ "status": 200,
+ "body": {
+ "id": "39312703-e970-4914-ae56-8e7d7d1fd16b",
+ "tagid": "125",
+ "seatbid": [
+ {
+ "seat": "teads",
+ "bid": [
+ {
+ "id": "695ac187-fb3f-4d1f-8d5d-099c5e4c4d28",
+ "impid": "b6321d41-3840-4cb3-baad-b6fc5b0c8553",
+ "price": 33,
+ "nurl": "https://localhost:8080/prebid-server/win-notice?data=base64&clearingPrice=${AUCTION_PRICE}",
+ "adm": "{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"ads\":[{\"settings\":{\"values\":{\"animations\":{\"expand\":0,\"collapse\":0.5},\"placementId\":2,\"adType\":\"video\",\"placementFormat\":\"inread\",\"allowedPlayer\":\"any\",\"pageId\":2},\"components\":{\"closeButton\":{\"display\":false,\"countdown\":0},\"credits\":{\"display\":false},\"soundButton\":{\"display\":true,\"countdown\":0,\"type\":\"equalizer\"},\"label\":{\"display\":false},\"slider\":{\"closeButtonDisplay\":false}},\"behaviors\":{\"smartPosition\":{\"top\":false,\"corner\":false,\"mustBypassWhitelist\":true},\"slider\":{\"enable\":false},\"friendly\":false,\"playerClick\":\"fullscreen\",\"soundStart\":{\"type\":\"mute\"},\"soundMute\":\"threshold\",\"soundOver\":\"over\",\"launch\":\"auto\",\"videoStart\":\"threshold\",\"videoPause\":\"threshold\",\"secure\":false}},\"type\":\"VastXml\",\"content\":\"Teads Technology\",\"scenario_id\":971105412,\"dsp_campaign_id\":\"1\",\"dsp_creative_id\":\"1\",\"insertion_id\":1,\"placement_id\":2,\"portfolio_item_id\":971104812}],\"wigoEnabled\":false,\"placementMetadata\":{\"2\":{\"adCallTrackingUrl\":\"https://localhost:18281/track?action=adCall&pid=2&pageId=2&auctid=39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6&vid=708ca808-ec55-4d97-ab81-9c4777e16058&hb_provider=prebid-server&hb_ad_unit_code=742d38c4-7994-4c2b-ac82-18d3a64ba3c7&env=thirdparty-inapp>c=1&gdpr_apply=false&gac=1&gap=1&ca=false&bsg=uncat&bsias=uncat&pfid=971104812&gid=1&brid=0&cid=1&rpm_reason=3&ut=1&p=5fwoPMJCquIB-txdmwQS0l79-hhHVnlTzyR9mmnBMtZRceP6-q31KzCfLpS8WTNaw_sXr-hkOFBxaxa-jyLblbVc&cts=1685971107773&cs=267268361555465193905\",\"auctionId\":\"39312703-e970-4914-ae56-8e7d7d1fd16b__b6321d41-3840-4cb3-baad-b6fc5b0c8553__c0f2e6ba-63d0-4e20-ab41-fe0822eb65a6\"}},\"viewerId\":\"708ca808-ec55-4d97-ab81-9c4777e16058\"}",
+ "adid": "1",
+ "adomain": [
+ "teads.com"
+ ],
+ "cid": "1",
+ "crid": "1",
+ "cat": [
+ "IAB1-6",
+ "IAB10-5"
+ ],
+ "ext": {
+ "prebid": {
+ "meta": {
+ "rendererName": "teads",
+ "rendererVersion": "",
+ "rendererData": {
+ "resize": true,
+ "sdkEngineVersion": "189"
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "expectedMakeBidsErrors": [
+ {
+ "value": "RendererVersion should not be empty if present",
+ "comparison": "literal"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/adapters/teads/teadstest/supplemental/status-400.json b/adapters/teads/teadstest/supplemental/status-400.json
new file mode 100644
index 00000000000..cd9fafff0a1
--- /dev/null
+++ b/adapters/teads/teadstest/supplemental/status-400.json
@@ -0,0 +1,65 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "test-imp-id",
+ "banner": {
+ "format": [
+ {
+ "w": 300,
+ "h": 250
+ }
+ ]
+ },
+ "ext": {
+ "bidder": {
+ "placementId": 1
+ }
+ }
+ }
+ ]
+ },
+
+ "httpCalls": [
+ {
+ "expectedRequest": {
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
+ "body": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "test-imp-id",
+ "tagid": "1",
+ "banner": {
+ "format": [
+ {
+ "w": 300,
+ "h": 250
+ }
+ ],
+ "w": 300,
+ "h": 250
+ },
+ "ext": {
+ "kv": {
+ "placementId": 1
+ }
+ }
+ }
+ ]
+ }
+ },
+ "mockResponse": {
+ "status": 400,
+ "body": {}
+ }
+ }
+ ],
+ "expectedMakeBidsErrors": [
+ {
+ "value": "Unexpected status code: 400. Run with request.debug = 1 for more info",
+ "comparison": "literal"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/adapters/teads/teadstest/supplemental/status-500.json b/adapters/teads/teadstest/supplemental/status-500.json
new file mode 100644
index 00000000000..337d4754006
--- /dev/null
+++ b/adapters/teads/teadstest/supplemental/status-500.json
@@ -0,0 +1,65 @@
+{
+ "mockBidRequest": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "test-imp-id",
+ "banner": {
+ "format": [
+ {
+ "w": 300,
+ "h": 250
+ }
+ ]
+ },
+ "ext": {
+ "bidder": {
+ "placementId": 1
+ }
+ }
+ }
+ ]
+ },
+
+ "httpCalls": [
+ {
+ "expectedRequest": {
+ "uri": "https://a.teads.tv/prebid-server/bid-request",
+ "body": {
+ "id": "test-request-id",
+ "imp": [
+ {
+ "id": "test-imp-id",
+ "tagid": "1",
+ "banner": {
+ "format": [
+ {
+ "w": 300,
+ "h": 250
+ }
+ ],
+ "w": 300,
+ "h": 250
+ },
+ "ext": {
+ "kv": {
+ "placementId": 1
+ }
+ }
+ }
+ ]
+ }
+ },
+ "mockResponse": {
+ "status": 500,
+ "body": {}
+ }
+ }
+ ],
+ "expectedMakeBidsErrors": [
+ {
+ "value": "Unexpected status code: 500. Run with request.debug = 1 for more info",
+ "comparison": "literal"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/static/bidder-params/teads.json b/static/bidder-params/teads.json
index 6ae27b943b8..2b3f47d8bc2 100644
--- a/static/bidder-params/teads.json
+++ b/static/bidder-params/teads.json
@@ -7,7 +7,7 @@
"properties": {
"placementId": {
"type": "integer",
- "description": "The placementId id.",
+ "description": "The placement id.",
"minimum": 1
}
},