Skip to content

Commit

Permalink
Core: Java upgrade (#3126)
Browse files Browse the repository at this point in the history
  • Loading branch information
SerhiiNahornyi authored Apr 18, 2024
1 parent 35f990b commit 2fea8e5
Show file tree
Hide file tree
Showing 21 changed files with 61 additions and 47 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# From https://github.com/microsoft/vscode-dev-containers/blob/master/containers/go/.devcontainer/Dockerfile
ARG VARIANT="17-jdk-bookworm"
ARG VARIANT="21-jdk-bookworm"
FROM mcr.microsoft.com/vscode/devcontainers/java:${VARIANT}
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"dockerfile": "Dockerfile",
"args": {
// Update the VARIANT arg to pick a version of Java
"VARIANT": "17-jdk-bookworm",
"VARIANT": "21-jdk-bookworm",
}
},
"containerEnv": {
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-image-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
packages: write
strategy:
matrix:
java: [ 17 ]
java: [ 21 ]
dockerfile-path: [Dockerfile, extra/Dockerfile]
include:
- dockerfile-path: Dockerfile
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-functional-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

strategy:
matrix:
java: [ 17 ]
java: [ 21 ]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-java-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

strategy:
matrix:
java: [ 17 ]
java: [ 21 ]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-module-functional-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

strategy:
matrix:
java: [ 17 ]
java: [ 21 ]

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-asset-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ 17 ]
java: [ 21 ]
steps:
- uses: actions/checkout@v4
- name: Set up JDK
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM amazoncorretto:17
FROM amazoncorretto:21

WORKDIR /app/prebid-server

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-modules
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM amazoncorretto:17
FROM amazoncorretto:21

WORKDIR /app/prebid-server

Expand Down
2 changes: 1 addition & 1 deletion extra/bundle/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version>
<java.version>21</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<spring.boot.version>2.5.6</spring.boot.version>
Expand Down
4 changes: 2 additions & 2 deletions extra/modules/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version>
<java.version>21</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>

Expand All @@ -34,7 +34,7 @@
<junit.version>4.13.2</junit.version>
<mockito.version>4.7.0</mockito.version>

<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
</properties>

Expand Down
4 changes: 2 additions & 2 deletions extra/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<vertx.version>4.5.5</vertx.version>
<lombok.version>1.18.30</lombok.version>
<maven-release-plugin.version>3.0.0-M6</maven-release-plugin.version>
Expand Down
22 changes: 14 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version>
<java.version>21</java.version>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<dockerfileName>Dockerfile</dockerfileName>
Expand Down Expand Up @@ -64,7 +64,7 @@
<restassured.version>5.4.0</restassured.version>
<h2.version>2.2.220</h2.version>
<spock.version>2.4-M2-groovy-4.0</spock.version>
<groovy.version>3.0.14</groovy.version>
<groovy.version>4.0.15</groovy.version>
<testcontainers.version>1.17.4</testcontainers.version>
<mockserver.version>5.14.0</mockserver.version>
<aspectj.version>1.9.9.1</aspectj.version>
Expand All @@ -76,11 +76,11 @@
<download-plugin.version>1.2.0</download-plugin.version>
<jacoco-plugin.version>0.8.11</jacoco-plugin.version>
<git-commmit-plugin.version>2.2.4</git-commmit-plugin.version>
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
<maven-failsafe-plugin.version>${maven-surefire-plugin.version}</maven-failsafe-plugin.version>
<docker-maven-plugin.version>0.40.2</docker-maven-plugin.version>
<gmavenplus-plugin.version>1.13.1</gmavenplus-plugin.version>
<gmavenplus-plugin.version>3.0.2</gmavenplus-plugin.version>
<skipFunctionalTests>false</skipFunctionalTests>
<skipModuleFunctionalTests>true</skipModuleFunctionalTests>
<skipUnitTests>false</skipUnitTests>
Expand Down Expand Up @@ -523,15 +523,21 @@
<artifactId>spock-core</artifactId>
<version>${spock.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy</artifactId>
<version>${groovy.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<groupId>org.apache.groovy</groupId>
<artifactId>groovy-yaml</artifactId>
<version>${groovy.version}</version>
<scope>test</scope>
Expand Down Expand Up @@ -949,8 +955,8 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
<source>21</source>
<target>21</target>
</configuration>
</plugin>
</plugins>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public class AdotBidder implements Bidder<BidRequest> {
private static final List<BidType> ALLOWED_BID_TYPES = Arrays.asList(BidType.banner, BidType.video,
BidType.xNative);
private static final String PRICE_MACRO = "${AUCTION_PRICE}";
private static final String PUBLISHER_MACRO = "{PUBLISHER_PATH}";
private static final String PUBLISHER_MACRO = "{{PUBLISHER_PATH}}";
private static final TypeReference<ExtPrebid<?, ExtImpAdot>> ADOT_EXT_TYPE_REFERENCE =
new TypeReference<>() {
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ public class AlgorixBidder implements Bidder<BidRequest> {
new TypeReference<>() {
};

private static final String URL_REGION_MACRO = "{HOST}";
private static final String URL_SID_MACRO = "{SID}";
private static final String URL_TOKEN_MACRO = "{TOKEN}";
private static final String URL_REGION_MACRO = "{{HOST}}";
private static final String URL_SID_MACRO = "{{SID}}";
private static final String URL_TOKEN_MACRO = "{{TOKEN}}";

private static final int FIRST_INDEX = 0;

Expand Down
11 changes: 11 additions & 0 deletions src/main/java/org/prebid/server/util/HttpUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ public final class HttpUtil {
public static final CharSequence SEC_CH_UA = HttpHeaders.createOptimized("Sec-CH-UA");
public static final CharSequence SEC_CH_UA_MOBILE = HttpHeaders.createOptimized("Sec-CH-UA-Mobile");
public static final CharSequence SEC_CH_UA_PLATFORM = HttpHeaders.createOptimized("Sec-CH-UA-Platform");
public static final String MACROS_OPEN = "{{";
public static final String MACROS_CLOSE = "}}";

private HttpUtil() {
}
Expand All @@ -82,13 +84,22 @@ private HttpUtil() {
* Checks the input string for using as URL.
*/
public static String validateUrl(String url) {
if (containsMacrosses(url)) {
return url;
}

try {
return new URL(url).toString();
} catch (MalformedURLException e) {
throw new IllegalArgumentException("URL supplied is not valid: " + url, e);
}
}

// TODO: We need our own way to work with url macrosses
private static boolean containsMacrosses(String url) {
return StringUtils.contains(url, MACROS_OPEN) && StringUtils.contains(url, MACROS_CLOSE);
}

/**
* Returns encoded URL for the given value.
* <p>
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/bidder-config/adot.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
adapters:
adot:
endpoint: https://dsp.adotmob.com/headerbidding{PUBLISHER_PATH}/bidrequest
endpoint: https://dsp.adotmob.com/headerbidding{{PUBLISHER_PATH}}/bidrequest
meta-info:
maintainer-email: [email protected]
app-media-types:
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/bidder-config/algorix.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
adapters:
algorix:
endpoint: https://{HOST}.svr-algorix.com/rtb/sa?sid={SID}&token={TOKEN}
endpoint: https://{{HOST}}.svr-algorix.com/rtb/sa?sid={{SID}}&token={{TOKEN}}
meta-info:
maintainer-email: [email protected]
app-media-types:
Expand Down
31 changes: 14 additions & 17 deletions src/test/java/org/prebid/server/bidder/HttpBidderRequesterTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@
import java.time.ZoneId;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.UnaryOperator;
Expand Down Expand Up @@ -359,10 +358,9 @@ public void shouldReturnBidsCreatedByMakeBids() {
// given
givenSuccessfulBidderMakeHttpRequests();

final List<BidderBid> bids = asList(
BidderBid.of(Bid.builder().impid("1").build(), null, null),
BidderBid.of(Bid.builder().impid("2").build(), null, null));
given(bidder.makeBids(any(), any())).willReturn(Result.of(bids, emptyList()));
final List<BidderBid> bids = emptyList();
given(bidder.makeBidderResponse(any(), any()))
.willReturn(CompositeBidderResponse.withBids(bids, null));

final BidderRequest bidderRequest = BidderRequest.builder()
.bidder("bidder")
Expand All @@ -383,8 +381,6 @@ public void shouldReturnBidsCreatedByMakeBids() {
.result();

// then
verify(bidder, times(1)).makeBids(any(), any());
verify(bidder, times(1)).makeBidderResponse(any(), any());
assertThat(bidderSeatBid.getBids()).hasSameElementsAs(bids);
}

Expand Down Expand Up @@ -727,20 +723,23 @@ public void shouldReturnRecordBidRejections() throws JsonProcessingException {
}

@Test
public void shouldNotReturnSensitiveHeadersInFullDebugInfo() {
public void shouldNotReturnSensitiveHeadersInFullDebugInfo()
throws JsonProcessingException {
// given
final MultiMap headers = MultiMap.caseInsensitiveMultiMap();
headers.add("headerKey", "headerValue");
headers.add("Authorization", "authorizationValue");
final BidRequest givenBidRequest = givenBidRequest(identity());
final byte[] requestBody = mapper.writeValueAsBytes(givenBidRequest);
given(bidder.makeHttpRequests(any())).willReturn(Result.of(singletonList(
givenSimpleHttpRequest(httpRequestBuilder -> httpRequestBuilder
.uri("uri1")
.headers(headers))),
.headers(headers)
.payload(givenBidRequest)
.body(requestBody))),
emptyList()));
given(requestEnricher.enrichHeaders(anyString(), any(), any(), any(), any())).willReturn(headers);

givenHttpClientReturnsResponses(
HttpClientResponse.of(200, null, "responseBody1"));
given(requestEnricher.enrichHeaders(anyString(), any(), any(), any(), any())).willReturn(headers);

final BidderRequest bidderRequest = BidderRequest.builder()
.bidder("bidder")
Expand All @@ -749,12 +748,11 @@ public void shouldNotReturnSensitiveHeadersInFullDebugInfo() {

// when
final BidderSeatBid bidderSeatBid =
target
.requestBids(
target.requestBids(
bidder,
bidderRequest,
bidRejectionTracker,
timeout,
expiredTimeout,
CaseInsensitiveMultiMap.empty(),
bidderAliases,
true)
Expand All @@ -763,8 +761,7 @@ public void shouldNotReturnSensitiveHeadersInFullDebugInfo() {
// then
assertThat(bidderSeatBid.getHttpCalls())
.extracting(ExtHttpCall::getRequestheaders)
.flatExtracting(Map::keySet)
.containsExactly("headerKey");
.containsExactly(singletonMap("headerKey", singletonList("headerValue")));
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@

public class AdotBidderTest extends VertxTest {

private static final String ENDPOINT_URL = "https://test.endpoint{PUBLISHER_PATH}.com";
private static final String ENDPOINT_URL = "https://test.endpoint{{PUBLISHER_PATH}}.com";

private final AdotBidder target = new AdotBidder(ENDPOINT_URL, jacksonMapper);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
*/
public class AlgorixBidderTest extends VertxTest {

private static final String ENDPOINT_URL = "https://{HOST}.svr-algorix.com/rtb/sa?sid={SID}&token={TOKEN}";
private static final String ENDPOINT_URL = "https://{{HOST}}.svr-algorix.com/rtb/sa?sid={{SID}}&token={{TOKEN}}";

private final AlgorixBidder target = new AlgorixBidder(ENDPOINT_URL, jacksonMapper);

Expand Down

0 comments on commit 2fea8e5

Please sign in to comment.