Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions adapters/ogury/ogury.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,15 +87,10 @@ func (a adapter) MakeRequests(request *openrtb2.BidRequest, requestInfo *adapter
}

if len(impsWithOguryParams) == 0 {
if request.Site != nil && (request.Site.Publisher == nil || request.Site.Publisher.ID == "") {
if !hasPublisherId(request) {
// we can serve ads with publisherId+adunitcode combination
return nil, []error{&errortypes.BadInput{
Message: "Invalid request. assetKey/adUnitId or request.site.publisher.id required",
}}
} else if request.App != nil {
// for app request there is no adunitcode equivalent so we can't serve ads with just the publisher id
return nil, []error{&errortypes.BadInput{
Message: "Invalid request. assetKey/adUnitId required",
Message: "Invalid request. assetKey/adUnitId or request.site/app.publisher.id required",
}}
}
} else if len(impsWithOguryParams) > 0 {
Expand Down Expand Up @@ -149,6 +144,18 @@ func getMediaTypeForBid(bid openrtb2.Bid) (openrtb_ext.BidType, error) {
}
}

func hasPublisherId(request *openrtb2.BidRequest) bool {
return hasSitePublisherId(request) || hasAppPublisherId(request)
}

func hasSitePublisherId(request *openrtb2.BidRequest) bool {
return request.Site != nil && request.Site.Publisher != nil && request.Site.Publisher.ID != ""
}

func hasAppPublisherId(request *openrtb2.BidRequest) bool {
return request.App != nil && request.App.Publisher != nil && request.App.Publisher.ID != ""
}

func (a adapter) MakeBids(request *openrtb2.BidRequest, _ *adapters.RequestData, responseData *adapters.ResponseData) (*adapters.BidderResponse, []error) {
if adapters.IsResponseStatusCodeNoContent(responseData) {
return nil, nil
Expand Down
97 changes: 97 additions & 0 deletions adapters/ogury/ogurytest/exemplary/app_banner_publisher.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"mockBidRequest": {
"id": "test-request-id",
"app": {
"id": "1",
"bundle": "com.example",
"publisher": {
"id": "pub-id"
}
},
"imp": [
{
"id": "imp-id",
"banner": {
"format": [{"w": 320, "h": 50}]
},
"ext": {
}
}
]
},

"httpCalls": [
{
"expectedRequest": {
"uri": "http://ogury.example.com",
"body": {
"app": {
"id": "1",
"bundle": "com.example",
"publisher": {
"id": "pub-id"
}
},
"id": "test-request-id",
"imp": [
{
"id":"imp-id",
"tagid": "imp-id",
"banner": {
"format": [{"w": 320, "h": 50}]
},
"ext": {
}
}
]
},
"impIDs":["imp-id"]
},
"mockResponse": {
"status": 200,
"body": {
"id": "test-request-id",
"cur": "USD",
"seatbid": [
{
"seat": "seat",
"bid": [{
"id": "some-UUID",
"impid": "imp-id",
"price": 0.500000,
"nurl": "example nurl",
"adm": "adm string",
"crid": "crid_10",
"h": 100,
"w": 128,
"mtype": 1
}]
}
]
}
}
}
],

"expectedBidResponses": [
{
"currency": "USD",
"bids": [
{
"bid": {
"id": "some-UUID",
"impid": "imp-id",
"price": 0.5,
"nurl": "example nurl",
"adm": "adm string",
"crid": "crid_10",
"h": 100,
"w": 128,
"mtype": 1
},
"type": "banner"
}
]
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,7 @@
"id": "test-request-id",
"app": {
"id": "1",
"bundle": "com.example",
"publisher": {
"id": "pub-id"
}
"bundle": "com.example"
},
"imp": [
{
Expand All @@ -26,7 +23,7 @@

"expectedBidResponses": [],
"expectedMakeRequestsErrors": [{
"value": "Invalid request. assetKey/adUnitId required",
"value": "Invalid request. assetKey/adUnitId or request.site/app.publisher.id required",
"comparison": "literal"
}]
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"httpCalls": [],
"expectedBidResponses": [],
"expectedMakeRequestsErrors": [{
"value": "Invalid request. assetKey/adUnitId or request.site.publisher.id required",
"value": "Invalid request. assetKey/adUnitId or request.site/app.publisher.id required",
"comparison": "literal"
}]
}
Loading