From 912648049d5d03558d10f6a373b116a59b5fcf37 Mon Sep 17 00:00:00 2001 From: pkaczmarek Date: Fri, 21 Feb 2025 15:38:18 +0100 Subject: [PATCH] fix tests --- .../nextmillennium/NextMillenniumBidder.java | 19 +++++++--- .../bidder/NextMillenniumConfiguration.java | 5 ++- .../NextMillenniumBidderTest.java | 36 ++++++++++++++++--- .../test-nextmillennium-bid-request.json | 6 ++-- 4 files changed, 53 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/prebid/server/bidder/nextmillennium/NextMillenniumBidder.java b/src/main/java/org/prebid/server/bidder/nextmillennium/NextMillenniumBidder.java index 84c3f68e8bb..1ec1c6f6ac8 100644 --- a/src/main/java/org/prebid/server/bidder/nextmillennium/NextMillenniumBidder.java +++ b/src/main/java/org/prebid/server/bidder/nextmillennium/NextMillenniumBidder.java @@ -33,6 +33,7 @@ import org.prebid.server.proto.openrtb.ext.response.BidType; import org.prebid.server.util.HttpUtil; import org.prebid.server.util.ObjectUtil; +import org.prebid.server.version.PrebidVersionProvider; import java.util.ArrayList; import java.util.Collection; @@ -45,16 +46,21 @@ public class NextMillenniumBidder implements Bidder { private static final TypeReference> NEXTMILLENNIUM_EXT_TYPE_REFERENCE = new TypeReference<>() { }; + private static final String NM_ADAPTER_VERSION = "v1.0.0"; private final String endpointUrl; private final JacksonMapper mapper; private final List nmmFlags; + private final PrebidVersionProvider versionProvider; - public NextMillenniumBidder(String endpointUrl, JacksonMapper mapper, List nmmFlags) { + public NextMillenniumBidder(String endpointUrl, + JacksonMapper mapper, + List nmmFlags, + PrebidVersionProvider versionProvider) { this.endpointUrl = HttpUtil.validateUrl(Objects.requireNonNull(endpointUrl)); this.mapper = Objects.requireNonNull(mapper); this.nmmFlags = nmmFlags; - + this.versionProvider = Objects.requireNonNull(versionProvider); } @Override @@ -149,10 +155,15 @@ private static String formatSize(Integer w, Integer h) { private ObjectNode createImpExt(ExtRequestPrebid prebid) { final ObjectNode impExt = mapper.mapper().createObjectNode(); impExt.set("prebid", mapper.mapper().valueToTree(prebid)); + + final ObjectNode nextMillenniumNode = impExt.putObject("nextMillennium"); if (CollectionUtils.isNotEmpty(nmmFlags)) { - impExt.putObject("nextMillennium") - .set("nmmFlags", mapper.mapper().valueToTree(nmmFlags)); + nextMillenniumNode.set("nmmFlags", mapper.mapper().valueToTree(nmmFlags)); } + + nextMillenniumNode.put("nm_version", NM_ADAPTER_VERSION); + nextMillenniumNode.put("server_version", versionProvider.getNameVersionRecord()); + return impExt; } diff --git a/src/main/java/org/prebid/server/spring/config/bidder/NextMillenniumConfiguration.java b/src/main/java/org/prebid/server/spring/config/bidder/NextMillenniumConfiguration.java index 16fbbb37aca..4d102b90f9c 100644 --- a/src/main/java/org/prebid/server/spring/config/bidder/NextMillenniumConfiguration.java +++ b/src/main/java/org/prebid/server/spring/config/bidder/NextMillenniumConfiguration.java @@ -10,6 +10,7 @@ import org.prebid.server.spring.config.bidder.util.BidderDepsAssembler; import org.prebid.server.spring.config.bidder.util.UsersyncerCreator; import org.prebid.server.spring.env.YamlPropertySourceFactory; +import org.prebid.server.version.PrebidVersionProvider; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -34,6 +35,7 @@ NextMillenniumConfigurationProperties configurationProperties() { @Bean BidderDeps nextMillenniumBidderDeps(NextMillenniumConfigurationProperties nextMillenniumConfigurationProperties, @NotBlank @Value("${external-url}") String externalUrl, + PrebidVersionProvider prebidVersionProvider, JacksonMapper mapper) { return BidderDepsAssembler.forBidder(BIDDER_NAME) @@ -42,7 +44,8 @@ BidderDeps nextMillenniumBidderDeps(NextMillenniumConfigurationProperties nextMi .bidderCreator(config -> new NextMillenniumBidder( config.getEndpoint(), mapper, - config.getExtraInfo().getNmmFlags()) + config.getExtraInfo().getNmmFlags(), + prebidVersionProvider) ).assemble(); } diff --git a/src/test/java/org/prebid/server/bidder/nextmillennium/NextMillenniumBidderTest.java b/src/test/java/org/prebid/server/bidder/nextmillennium/NextMillenniumBidderTest.java index 6f3524a5448..99d2f8b84be 100644 --- a/src/test/java/org/prebid/server/bidder/nextmillennium/NextMillenniumBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/nextmillennium/NextMillenniumBidderTest.java @@ -12,7 +12,11 @@ import com.iab.openrtb.response.Bid; import com.iab.openrtb.response.BidResponse; import com.iab.openrtb.response.SeatBid; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; import org.prebid.server.VertxTest; import org.prebid.server.bidder.model.BidderBid; import org.prebid.server.bidder.model.BidderCall; @@ -27,6 +31,7 @@ import org.prebid.server.proto.openrtb.ext.request.ExtStoredRequest; import org.prebid.server.proto.openrtb.ext.request.nextmillennium.ExtImpNextMillennium; import org.prebid.server.proto.openrtb.ext.response.BidType; +import org.prebid.server.version.PrebidVersionProvider; import java.util.Arrays; import java.util.List; @@ -38,18 +43,35 @@ import static java.util.function.UnaryOperator.identity; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; +import static org.mockito.Mockito.when; +@ExtendWith(MockitoExtension.class) public class NextMillenniumBidderTest extends VertxTest { private static final String ENDPOINT_URL = "https://test-url.com/"; - private final NextMillenniumBidder target = - new NextMillenniumBidder(ENDPOINT_URL, jacksonMapper, List.of("valueOne", "valueTwo")); + @Mock + private PrebidVersionProvider prebidVersionProvider; + + private NextMillenniumBidder target; + + @BeforeEach + public void setUp() { + target = new NextMillenniumBidder( + ENDPOINT_URL, + jacksonMapper, + List.of("valueOne", "valueTwo"), + prebidVersionProvider); + } @Test public void creationShouldFailOnInvalidEndpointUrl() { assertThatIllegalArgumentException().isThrownBy(() -> - new NextMillenniumBidder("invalid_url", jacksonMapper, List.of("valueOne", "valueTwo"))); + new NextMillenniumBidder( + "invalid_url", + jacksonMapper, + List.of("valueOne", "valueTwo"), + prebidVersionProvider)); } @Test @@ -264,6 +286,7 @@ public void makeHttpRequestsShouldReturnImpExtNextMillenniumWhenNmmFlagsConfigur givenImpWithExt(identity(), ExtImpNextMillennium.of("placement1", "group1"))); // when + when(prebidVersionProvider.getNameVersionRecord()).thenReturn("v2"); final Result>> result = target.makeHttpRequests(bidRequest); // then @@ -575,8 +598,11 @@ private static ObjectNode createImpExt(List values) { final ObjectNode objectNode = mapper.createObjectNode(); objectNode.set("prebid", mapper.valueToTree(ExtRequestPrebid.builder() .storedrequest(ExtStoredRequest.of("ggroup1;;")).build())); - objectNode.putObject("nextMillennium") - .set("nmmFlags", mapper.valueToTree(values)); + final ObjectNode nextMillenniumNode = objectNode.putObject("nextMillennium"); + nextMillenniumNode.set("nmmFlags", mapper.valueToTree(values)); + nextMillenniumNode.put("nm_version", "v1.0.0"); + nextMillenniumNode.put("server_version", "v2"); + return objectNode; } } diff --git a/src/test/resources/org/prebid/server/it/openrtb2/nextmillennium/test-nextmillennium-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/nextmillennium/test-nextmillennium-bid-request.json index 24a61053439..aec51ce5655 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/nextmillennium/test-nextmillennium-bid-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/nextmillennium/test-nextmillennium-bid-request.json @@ -15,9 +15,9 @@ } }, "nextMillennium": { - "nmmFlags": [ - "1" - ] + "nmmFlags": ["1"], + "nm_version" : "v1.0.0", + "server_version" : "${json-unit.any-string}" } } }