diff --git a/src/main/resources/bidder-config/adverxo.yaml b/src/main/resources/bidder-config/adverxo.yaml index b363a70bc08..a66f73f6409 100644 --- a/src/main/resources/bidder-config/adverxo.yaml +++ b/src/main/resources/bidder-config/adverxo.yaml @@ -31,6 +31,20 @@ adapters: url: https://taetee.com/usync?type=image&gdpr={{gdpr}}&consent={{gdpr_consent}}&us_privacy={{us_privacy}}&redirect={{redirect_url}} uid-macro: '$UID' support-cors: false + harrenmedia: + enabled: false + endpoint: https://harrenmedia.pbsadverxo.com/auction?id={{adUnitId}}&auth={{auth}} + usersync: + enabled: false + cookie-family-name: harrenmedia + iframe: + url: https://hmidssp.com/usync?type=iframe&gdpr={{gdpr}}&consent={{gdpr_consent}}&us_privacy={{us_privacy}}&redirect={{redirect_url}} + uid-macro: '$UID' + support-cors: false + redirect: + url: https://hmidssp.com/usync?type=image&gdpr={{gdpr}}&consent={{gdpr_consent}}&us_privacy={{us_privacy}}&redirect={{redirect_url}} + uid-macro: '$UID' + support-cors: false meta-info: maintainer-email: developer@adverxo.com app-media-types: diff --git a/src/test/java/org/prebid/server/it/HarrenmediaTest.java b/src/test/java/org/prebid/server/it/HarrenmediaTest.java new file mode 100644 index 00000000000..245ce50ecfc --- /dev/null +++ b/src/test/java/org/prebid/server/it/HarrenmediaTest.java @@ -0,0 +1,34 @@ +package org.prebid.server.it; + +import io.restassured.response.Response; +import org.json.JSONException; +import org.junit.jupiter.api.Test; +import org.prebid.server.model.Endpoint; + +import java.io.IOException; + +import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; +import static com.github.tomakehurst.wiremock.client.WireMock.equalToJson; +import static com.github.tomakehurst.wiremock.client.WireMock.post; +import static com.github.tomakehurst.wiremock.client.WireMock.urlPathEqualTo; +import static java.util.Collections.singletonList; + +public class HarrenmediaTest extends IntegrationTest { + + @Test + public void openrtb2AuctionShouldRespondWithBidsFromTheHarrenmedia() throws IOException, JSONException { + // given + WIRE_MOCK_RULE.stubFor(post(urlPathEqualTo("/harrenmedia-exchange")) + .withRequestBody(equalToJson(jsonFrom("openrtb2/harrenmedia/test-harrenmedia-bid-request.json"), + true, true)) + .willReturn(aResponse().withBody(jsonFrom("openrtb2/harrenmedia/test-harrenmedia-bid-response.json")))); + + // when + final Response response = responseFor("openrtb2/harrenmedia/test-auction-harrenmedia-request.json", + Endpoint.openrtb2_auction); + + // then + assertJsonEquals("openrtb2/harrenmedia/test-auction-harrenmedia-response.json", response, + singletonList("harrenmedia")); + } +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-auction-harrenmedia-request.json b/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-auction-harrenmedia-request.json new file mode 100644 index 00000000000..a0dcec6bdf2 --- /dev/null +++ b/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-auction-harrenmedia-request.json @@ -0,0 +1,34 @@ +{ + "id": "test-auction-request", + "imp": [ + { + "id": "imp1", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "ext": { + "harrenmedia": { + "adUnitId": 1, + "auth": "123456" + } + } + } + ], + "site": { + "page": "http://testpage.com" + }, + "device": { + "ua": "Mozilla/5.0" + }, + "tmax": 5000, + "regs": { + "ext": { + "gdpr": 0 + } + } +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-auction-harrenmedia-response.json b/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-auction-harrenmedia-response.json new file mode 100644 index 00000000000..f8e8f3e1a32 --- /dev/null +++ b/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-auction-harrenmedia-response.json @@ -0,0 +1,43 @@ +{ + "id": "test-auction-request", + "seatbid": [ + { + "seat": "harrenmedia", + "group": 0, + "bid": [ + { + "id": "bid1", + "impid": "imp1", + "price": 1.23, + "adm": "", + "nurl": "https://example.com/win?price=1.23", + "crid": "creative1", + "w": 300, + "h": 250, + "exp": 300, + "mtype": 1, + "ext": { + "origbidcpm": 1.23, + "origbidcur": "USD", + "prebid": { + "type": "banner", + "meta": { + "adaptercode": "harrenmedia" + } + } + } + } + ] + } + ], + "cur": "USD", + "ext": { + "responsetimemillis": { + "harrenmedia": 0 + }, + "tmaxrequest": 5000, + "prebid": { + "auctiontimestamp": 0 + } + } +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-harrenmedia-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-harrenmedia-bid-request.json new file mode 100644 index 00000000000..b1a0a5c0c8b --- /dev/null +++ b/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-harrenmedia-bid-request.json @@ -0,0 +1,51 @@ +{ + "id": "test-auction-request", + "imp": [ + { + "id": "imp1", + "banner": { + "format": [ + { + "w": 300, + "h": 250 + } + ] + }, + "secure": 1, + "ext": { + "tid": "${json-unit.any-string}", + "bidder": { + "adUnitId": 1, + "auth": "123456" + } + } + } + ], + "site": { + "domain": "testpage.com", + "page": "http://testpage.com", + "publisher": { + "domain": "testpage.com" + }, + "ext": { + "amp": 0 + } + }, + "device": { + "ua": "Mozilla/5.0", + "ip": "193.168.244.1" + }, + "at": 1, + "tmax": "${json-unit.any-number}", + "cur": [ + "USD" + ], + "source": { + "tid": "${json-unit.any-string}" + }, + "regs": { + "ext": { + "gdpr": 0 + } + } +} diff --git a/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-harrenmedia-bid-response.json b/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-harrenmedia-bid-response.json new file mode 100644 index 00000000000..e6bfe69ccd0 --- /dev/null +++ b/src/test/resources/org/prebid/server/it/openrtb2/harrenmedia/test-harrenmedia-bid-response.json @@ -0,0 +1,40 @@ +{ + "id": "test-auction-request", + "seatbid": [ + { + "seat": "harrenmedia", + "group": 0, + "bid": [ + { + "id": "bid1", + "impid": "imp1", + "price": 1.23, + "adm": "", + "nurl": "https://example.com/win?price=1.23", + "crid": "creative1", + "w": 300, + "h": 250, + "exp": 300, + "mtype": 1, + "ext": { + "origbidcpm": 1.23, + "origbidcur": "USD", + "prebid": { + "type": "banner" + } + } + } + ] + } + ], + "cur": "USD", + "ext": { + "responsetimemillis": { + "bidsmind": 0 + }, + "tmaxrequest": 5000, + "prebid": { + "auctiontimestamp": 0 + } + } +} diff --git a/src/test/resources/org/prebid/server/it/test-application.properties b/src/test/resources/org/prebid/server/it/test-application.properties index 7d5724b2a69..01ede6f3314 100644 --- a/src/test/resources/org/prebid/server/it/test-application.properties +++ b/src/test/resources/org/prebid/server/it/test-application.properties @@ -72,6 +72,8 @@ adapters.adverxo.aliases.adport.enabled=true adapters.adverxo.aliases.adport.endpoint=http://localhost:8090/adport-exchange adapters.adverxo.aliases.bidsmind.enabled=true adapters.adverxo.aliases.bidsmind.endpoint=http://localhost:8090/bidsmind-exchange +adapters.adverxo.aliases.harrenmedia.enabled=true +adapters.adverxo.aliases.harrenmedia.endpoint=http://localhost:8090/harrenmedia-exchange adapters.adview.enabled=true adapters.adview.endpoint=http://localhost:8090/adview-exchange?accountId={{AccountId}} adapters.adprime.enabled=true