@@ -95,14 +95,12 @@ public void makeHttpRequestsShouldReturnExpectedHeaders() {
9595 .satisfies (headers -> assertThat (headers .get (CONTENT_TYPE_HEADER ))
9696 .isEqualTo (APPLICATION_JSON_CONTENT_TYPE ))
9797 .satisfies (headers -> assertThat (headers .get (ACCEPT_HEADER ))
98- .isEqualTo (APPLICATION_JSON_VALUE ))
99- .satisfies (headers -> assertThat (headers .get ("x-integration-type" ))
100- .isEqualTo ("1" ));
98+ .isEqualTo (APPLICATION_JSON_VALUE ));
10199 assertThat (result .getErrors ()).isEmpty ();
102100 }
103101
104102 @ Test
105- public void makeHttpRequestsShouldUseCorrectUri () {
103+ public void makeHttpRequestsShouldUseConfiguredSupplyIdWhenImpExtSupplyIdIsNotProvided () {
106104 // given
107105 final BidRequest bidRequest = givenBidRequest (identity (), identity ());
108106
@@ -116,6 +114,42 @@ public void makeHttpRequestsShouldUseCorrectUri() {
116114 .containsExactly ("https://test.endpoint.com/supplyid" );
117115 }
118116
117+ @ Test
118+ public void makeHttpRequestsShouldUseImpExtSupplyIdWhenProvided () {
119+ // given
120+ final BidRequest bidRequest = givenBidRequest (
121+ identity (),
122+ imp -> imp .ext (impExt ("publisher" , "supplySourceId" )));
123+
124+ // when
125+ final Result <List <HttpRequest <BidRequest >>> result = target .makeHttpRequests (bidRequest );
126+
127+ // then
128+ assertThat (result .getErrors ()).isEmpty ();
129+ assertThat (result .getValue ())
130+ .extracting (HttpRequest ::getUri )
131+ .containsExactly ("https://test.endpoint.com/supplySourceId" );
132+ }
133+
134+ @ Test
135+ public void makeHttpRequestsShouldUseFirstFoundSupplySourceId () {
136+ // given
137+ final BidRequest bidRequest = givenBidRequest (
138+ identity (),
139+ imp -> imp .ext (impExt ("publisher" , null )),
140+ imp -> imp .ext (impExt ("publisher" , "supplySourceId1" )),
141+ imp -> imp .ext (impExt ("publisher" , "supplySourceId2" )));
142+
143+ // when
144+ final Result <List <HttpRequest <BidRequest >>> result = target .makeHttpRequests (bidRequest );
145+
146+ // then
147+ assertThat (result .getErrors ()).isEmpty ();
148+ assertThat (result .getValue ())
149+ .extracting (HttpRequest ::getUri )
150+ .containsExactly ("https://test.endpoint.com/supplySourceId1" );
151+ }
152+
119153 @ Test
120154 public void makeHttpRequestsShouldHaveImpIds () {
121155 // given
@@ -259,7 +293,7 @@ public void makeHttpRequestsShouldReturnAppWithExtImpPublisherWhenAppWithoutPubl
259293 }
260294
261295 @ Test
262- public void makeHttpRequestsShouldReturnAppWithPublisherOfTheFirsrExtImp () {
296+ public void makeHttpRequestsShouldReturnAppWithPublisherOfTheFirstExtImp () {
263297 final BidRequest bidRequest = givenBidRequest (
264298 request -> request .app (App .builder ().build ()),
265299 imp -> imp .ext (impExt ("newPublisher" )),
@@ -453,7 +487,11 @@ private static Imp givenImp(UnaryOperator<Imp.ImpBuilder> impCustomizer) {
453487 }
454488
455489 private static ObjectNode impExt (String publisherId ) {
456- return mapper .valueToTree (ExtPrebid .of (null , ExtImpTheTradeDesk .of (publisherId )));
490+ return impExt (publisherId , null );
491+ }
492+
493+ private static ObjectNode impExt (String publisherId , String supplySourceId ) {
494+ return mapper .valueToTree (ExtPrebid .of (null , ExtImpTheTradeDesk .of (publisherId , supplySourceId )));
457495 }
458496
459497}
0 commit comments