diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cfc87db5b80d226c9decc49f8a3f7e6389d2cfe5..928ab8b79d4876e9082bae36cce463d68aeb011a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,7 +18,7 @@ variables: AZURE_TEST_SUBDIR: testing/register-test-azure AZURE_SWAGGER_PATH: api/register/v1/swagger-ui/index.html#/ -include: +include: - project: "osdu/platform/ci-cd-pipelines" file: "standard-setup.yml" @@ -36,7 +36,7 @@ include: - project: "osdu/platform/ci-cd-pipelines" file: "cloud-providers/ibm.yml" - + - project: "osdu/platform/ci-cd-pipelines" file: "scanners/gitlab-ultimate.yml" @@ -47,10 +47,127 @@ include: file: "cloud-providers/azure.yml" - local: "devops/gc/pipeline/override-stages.yml" + +.maven: + image: maven:3.8.3-openjdk-17-slim + tags: ['osdu-medium'] + variables: + MAVEN_REPO_PATH: "$CI_PROJECT_DIR/.m2/repository" + MAVEN_CLI_OPTS: "--batch-mode --settings=$CI_PROJECT_DIR/.mvn/community-maven.settings.xml" + + cache: + paths: + - $MAVEN_REPO_PATH + + artifacts: + paths: + - ./**/target/*.jar + - ./**/maven-*-output.txt + when: always + expire_in: 2 days + + before_script: + - | # Check for the presence of a maven wrapper script + apt-get update && apt-get install -y python3 + if [ -e "$CI_PROJECT_DIR/mvnw" ]; then + export MAVEN_BINARY="$CI_PROJECT_DIR/mvnw" + unset MAVEN_CONFIG + mkdir -pv .mvn/wrapper + else + export MAVEN_BINARY="mvn" + fi + - export MAVEN="$MAVEN_BINARY $MAVEN_CLI_OPTS -Dmaven.repo.local=$MAVEN_REPO_PATH" + - echo $MAVEN_BINARY + - echo $MAVEN_CLI_OPTS + - echo $MAVEN_REPO_PATH + - echo $MAVEN + - mkdir -pv $MAVEN_REPO_PATH + - export ALL_MAVEN_BUILD_DIRS_Z=$(mktemp) + - python3 --version + + # This scans for all pom.xml files that aren't listed as a child pom (as + # determine by the presence of a <parent> tag). + - | + (python3 | sort -z > $ALL_MAVEN_BUILD_DIRS_Z) <<EOF + from xml.dom.minidom import parse + import os + import sys + + allPomFiles = set() + submoduleFiles = set() + + for root, dirnames, filenames in os.walk(os.environ['CI_PROJECT_DIR']): + if 'pom.xml' in filenames: + pomFile = os.path.join(root, 'pom.xml') + allPomFiles.add(pomFile) + + dom = parse(pomFile) + for modules in dom.getElementsByTagName('modules'): + for module in modules.getElementsByTagName('module'): + submoduleFiles.add(os.path.join(root, module.firstChild.nodeValue, "pom.xml")) + + for pomFile in allPomFiles: + if pomFile not in submoduleFiles: + dir = os.path.dirname(pomFile) + sys.stdout.write(dir + '\0') + EOF + - xargs -0rn 1 echo < $ALL_MAVEN_BUILD_DIRS_Z + # This creates a script for running maven, capturing output to a file. + # - First argument is the directory to build from + # - Second argument is the name to use for the logfile + # - The remaining arguments are the maven command to run + - export MAVEN_BUILD=$(tempfile -m 755 -p build -s .sh) + - echo "#!/bin/bash" > $MAVEN_BUILD + - | + cat >> $MAVEN_BUILD <<EOF + id=maven_build_\$(echo "\$@" | sha1sum | head -c 7) + cd "\$1"; shift + outputFile="\$1"; shift + + echo "********************************************************************************" + echo -e "\e[0Ksection_start:\$(date +%s):\${id}\r\e[0K\e[1m\$(pwd)\e[0m" + echo -e "\e[32;1m\$MAVEN" "\$@" "\e[0m" + + if \$MAVEN "\$@" > "\$outputFile" 2>&1; then + tail -n 25 "\$outputFile"; + echo -e "\e[36m**** Showing the last 25 lines of the passed build (above). See Job artifacts for full log details *****\e[0m"; + echo -e "\e[0Ksection_end:\$(date +%s):\${id}\r\e[0K" + else + tail -n 200 "\$outputFile"; + echo -e "\e[31m**** Showing the last 200 lines of the failed build (above). See Job artifacts for full log details *****\e[0m"; + echo -e "\e[0Ksection_end:\$(date +%s):\${id}\r\e[0K" + exit 255; + fi + EOF + + # This creates a script for applying the $MAVEN_BUILD script to all build directories + - export MAVEN_FOREACH=$(tempfile -m 755 -p fr-ec -s .sh) + - echo "#!/bin/sh" > $MAVEN_FOREACH + - echo 'xargs -0rI {} $MAVEN_BUILD {} "$@" < $ALL_MAVEN_BUILD_DIRS_Z' >> $MAVEN_FOREACH + +gemnasium-maven-dependency_scanning: + variables: + DS_JAVA_VERSION: 17 + +azure_containerize: + variables: + AZURE_CONTAINERIZE_REPOSITORY: "-b jdk-17 https://gitlab-ci-token:${CI_JOB_TOKEN}@community.opengroup.org/osdu/platform/deployment-and-operations/base-containers-azure/service-base-image" + +azure_test: + image: community.opengroup.org:5555/osdu/platform/deployment-and-operations/base-containers-azure/azure-maven17:v0.0.1 + +aws-test-java: + image: $CI_REGISTRY/osdu/platform/deployment-and-operations/base-containers-aws/aws-maven/aws-maven:v2.0 + +fossa-analyze: + image: $CI_REGISTRY/divido/fossa-with-cache:v0.9-jdk17 +fossa-check-notice: + image: $CI_REGISTRY/divido/fossa-with-cache:v0.9-jdk17 # disable the eslint scanner # I think this is being generated from the presence of an HTML file, but there # is no javascript to scan, so the job isn't helpful and just gets in the way + eslint-sast: rules: - when: never diff --git a/NOTICE b/NOTICE index e12e2693e317ac995ab33833a29a1518a9cd099a..c33b1f62d4a54786d0692591581e1b6b6bb82deb 100644 --- a/NOTICE +++ b/NOTICE @@ -76,7 +76,7 @@ The following software have components provided under the terms of this license: - AssertJ Core (from ${project.organization.url}#${project.artifactId}) - Asynchronous Http Client (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client) - Asynchronous Http Client Netty Utils (from https://repo1.maven.org/maven2/org/asynchttpclient/async-http-client-netty-utils) -- AutoValue Annotations (from https://github.com/google/auto/tree/master/value, https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations) +- AutoValue Annotations (from https://github.com/google/auto/tree/main/value, https://github.com/google/auto/tree/master/value, https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations) - BSON (from http://bsonspec.org, https://bsonspec.org) - BSON Record Codec (from <https://www.mongodb.com/>, https://www.mongodb.com/) - Bean Validation API (from http://beanvalidation.org) @@ -86,7 +86,7 @@ The following software have components provided under the terms of this license: - Byte Buddy (without dependencies) (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy) - Byte Buddy Java agent (from https://repo1.maven.org/maven2/net/bytebuddy/byte-buddy-agent) - ClassMate (from http://github.com/cowtowncoder/java-classmate) -- Cloud Key Management Service (KMS) API v1-rev20230407-2.0.0 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-cloudkms) +- Cloud Key Management Service (KMS) API v1-rev20230421-2.0.0 (from https://repo1.maven.org/maven2/com/google/apis/google-api-services-cloudkms) - Collections (from https://repo1.maven.org/maven2/commons-collections/commons-collections) - Commons Digester (from http://commons.apache.org/digester/) - Converter: Jackson (from https://github.com/square/retrofit, https://repo1.maven.org/maven2/com/squareup/retrofit2/converter-jackson) @@ -212,7 +212,6 @@ The following software have components provided under the terms of this license: - OpenCensus (from https://github.com/census-instrumentation/opencensus-java, https://github.com/census-instrumentation/opencensus-proto) - PWDB :: Database (from https://repo1.maven.org/maven2/org/linguafranca/pwdb/database) - PostgreSQL JDBC Driver -- PowerMock (from http://www.powermock.org, https://repo1.maven.org/maven2/org/powermock/powermock-api-mockito) - Prometheus Java Simpleclient (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient>, https://repo1.maven.org/maven2/io/prometheus/simpleclient) - Prometheus Java Simpleclient Common (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient_common>, https://repo1.maven.org/maven2/io/prometheus/simpleclient_common) - Prometheus Java Span Context Supplier - Common (from <https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_common>, https://repo1.maven.org/maven2/io/prometheus/simpleclient_tracer_common) diff --git a/pom.xml b/pom.xml index 3079ac44e60a80d413a3e22f7a5b64cf19173ae4..9daa0a5759fb330bfd55184713be7f839b3ae97b 100644 --- a/pom.xml +++ b/pom.xml @@ -25,13 +25,12 @@ <packaging>pom</packaging> <properties> - <java.version>1.8</java.version> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> + <java.version>17</java.version> + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <!-- <springfox.version>3.0.0</springfox.version> --> <openapi.version>1.6.14</openapi.version> - <osdu.oscorecommon.version>0.21.0</osdu.oscorecommon.version> + <osdu.oscorecommon.version>0.22.0-rc4</osdu.oscorecommon.version> <log4j2.version>2.17.1</log4j2.version> <gson.version>2.8.9</gson.version> <json-smart.version>2.4.7</json-smart.version> @@ -111,8 +110,7 @@ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> - <version>1.18.12</version> - <scope>provided</scope> + <scope>provided</scope> </dependency> <dependency> <groupId>org.yaml</groupId> @@ -120,21 +118,6 @@ <version>2.0</version> </dependency> <!-- swagger dependency --> - <!-- <dependency> - <groupId>io.springfox</groupId> - <artifactId>springfox-boot-starter</artifactId> - <version>${springfox.version}</version> - <exclusions> - <exclusion> - <groupId>org.springframework.plugin</groupId> - <artifactId>spring-plugin-core</artifactId> - </exclusion> - <exclusion> - <groupId>org.springframework.plugin</groupId> - <artifactId>spring-plugin-metadata</artifactId> - </exclusion> - </exclusions> - </dependency> --> <dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> @@ -197,6 +180,15 @@ </generateGitPropertiesFilename> </configuration> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.11.0</version> + <configuration> + <source>${maven.compiler.source}</source> + <target>${maven.compiler.target}</target> + </configuration> + </plugin> </plugins> </build> diff --git a/provider/register-aws/build-aws/Dockerfile b/provider/register-aws/build-aws/Dockerfile index cce6b0eed8ddcb8aa264150fd6d38b0f385104db..d64dfe983f469d68fdfd3413b282cbaae7302537 100644 --- a/provider/register-aws/build-aws/Dockerfile +++ b/provider/register-aws/build-aws/Dockerfile @@ -13,7 +13,7 @@ # limitations under the License. # https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html -FROM amazoncorretto:8 +FROM amazoncorretto:17 ARG JAR_FILE=provider/register-aws/target/*spring-boot.jar # Harcoding this value since Register-core requires this variable. AWS does not use it. Might change in future diff --git a/provider/register-aws/build-aws/buildspec.yaml b/provider/register-aws/build-aws/buildspec.yaml index 50ea2eed2f3dd0ab12a8ff94a5fdb10c8ae349f5..78f208271d40a09d4a4e4c57358e7c5487cbac5a 100644 --- a/provider/register-aws/build-aws/buildspec.yaml +++ b/provider/register-aws/build-aws/buildspec.yaml @@ -30,13 +30,9 @@ env: phases: install: runtime-versions: - java: corretto8 + java: corretto17 commands: - # fix error noted here: https://github.com/yarnpkg/yarn/issues/7866 - - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - - if [ $(echo $CODEBUILD_SOURCE_VERSION | grep -c ^refs/heads.*) -eq 1 ]; then echo "Branch name found"; else echo "This build only supports branch builds" && exit 1; fi - - apt-get update -y -qq >/dev/null - - apt-get install -y maven -qq >/dev/null - java -version - mvn -version - mkdir -p /root/.m2 @@ -44,17 +40,15 @@ phases: - export AWS_ACCOUNT_ID=`aws sts get-caller-identity | grep Account | cut -d':' -f 2 | cut -d'"' -f 2` - export AWS_OSDU_DEV_MAVEN_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain $AWS_OSDU_DEV_MAVEN_DOMAIN --domain-owner $AWS_ACCOUNT_ID --query authorizationToken --output text` # Install git secrets - #TODO temporarily adding hotfix, due to https://github.com/awslabs/git-secrets/issues/220 - - export SAY_LOCATION=`ln -s "$(which echo)" say` - - export PATH="$PATH:$SAY_LOCATION" - - git clone https://github.com/awslabs/git-secrets.git - cd git-secrets && make install && cd .. - git secrets --install && git secrets --register-aws pre_build: commands: - echo "Logging in to Amazon ECR..." - - $(aws ecr get-login --no-include-email --region $AWS_REGION) # authenticate with ECR via the AWS CLI + - aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin ${ECR_REGISTRY} + - echo "Logging into Docker Hub..." + - docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} build: commands: - export REPO_NAME=${PWD##*/} @@ -85,9 +79,6 @@ phases: - echo "--Copying Helm Charts to ${OUTPUT_DIR:-dist}--" - rsync -r devops/aws/* "${OUTPUT_DIR:-dist}" - - echo "Logging into Docker Hub..." - - docker login -u ${DOCKER_USERNAME} -p ${DOCKER_PASSWORD} - - echo "Building docker image..." - docker build -f provider/register-aws/build-aws/Dockerfile -t ${ECR_IMAGE} . - docker tag ${ECR_IMAGE} ${ECR_IMAGE_BRANCH_LATEST} diff --git a/provider/register-aws/build-aws/entrypoint.sh b/provider/register-aws/build-aws/entrypoint.sh index d719372c1f072ab26d5e81c3d7518c7bd251e2e6..3cf30f0bffa9f895aa4048bd75b918156a194eb2 100755 --- a/provider/register-aws/build-aws/entrypoint.sh +++ b/provider/register-aws/build-aws/entrypoint.sh @@ -1,4 +1,2 @@ - - - -java $JAVA_OPTS -jar /app.jar +# --add-opens args used to open modules and allow illegal(reflection\private classes and fields) access from the code. +java $JAVA_OPTS --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED -jar /app.jar diff --git a/provider/register-aws/pom.xml b/provider/register-aws/pom.xml index 34b3aaab63a802c9b1ad4a840b79a4cfd5473254..f484794ae5ebe88d8dbe5fa06557f3260ecec7e6 100644 --- a/provider/register-aws/pom.xml +++ b/provider/register-aws/pom.xml @@ -32,7 +32,6 @@ <properties> <aws.version>1.11.1018</aws.version> <log4j2.version>2.17.1</log4j2.version> - <os-core-common.version>0.21.0</os-core-common.version> <jackson-databind.version>2.14.2</jackson-databind.version> <jackson.version>2.14.2</jackson.version> <spring-webmvc.version>5.3.24</spring-webmvc.version> @@ -43,7 +42,7 @@ <dependency> <groupId>org.opengroup.osdu</groupId> <artifactId>os-core-common</artifactId> - <version>${os-core-common.version}</version> + <version>${osdu.oscorecommon.version}</version> <type>pom</type> <scope>import</scope> </dependency> @@ -185,29 +184,18 @@ <groupId>org.springframework.security</groupId> <artifactId>spring-security-oauth2-jose</artifactId> </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>2.0.2</version> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.13.2</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito2</artifactId> - <version>2.0.2</version> - <scope>test</scope> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <version>3.12.0</version> + <scope>test</scope> </dependency> - - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <version>3.12.0</version> - <scope>test</scope> - </dependency> - - </dependencies> <build> diff --git a/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/action/AwsActionRepoTest.java b/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/action/AwsActionRepoTest.java index 85976fc5f93936adc18698f9529311ca34bb40f4..f5c36ccda350f30917610a2e45bfa57c39e4dcba 100644 --- a/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/action/AwsActionRepoTest.java +++ b/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/action/AwsActionRepoTest.java @@ -23,7 +23,7 @@ import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.opengroup.osdu.core.aws.dynamodb.DynamoDBQueryHelperFactory; diff --git a/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/ddms/AwsDdmsRepoTest.java b/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/ddms/AwsDdmsRepoTest.java index 126f6216704f227de83dad69c53531276a7678ec..c2fff7dd0ba3d41f96d2479012de0609b42eb21f 100644 --- a/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/ddms/AwsDdmsRepoTest.java +++ b/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/ddms/AwsDdmsRepoTest.java @@ -22,7 +22,7 @@ import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.opengroup.osdu.core.aws.dynamodb.DynamoDBQueryHelperFactory; import org.opengroup.osdu.core.aws.dynamodb.DynamoDBQueryHelperV2; import org.opengroup.osdu.core.common.logging.JaxRsDpsLog; diff --git a/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/subscriber/AwsSubscriptionRepoTest.java b/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/subscriber/AwsSubscriptionRepoTest.java index c27274be7360eb3b780a66a636414ccf4edbe1be..1640c37028d20a323b6989303976452f56242e66 100644 --- a/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/subscriber/AwsSubscriptionRepoTest.java +++ b/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/subscriber/AwsSubscriptionRepoTest.java @@ -21,7 +21,7 @@ import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.opengroup.osdu.core.aws.dynamodb.DynamoDBQueryHelperFactory; import org.opengroup.osdu.core.aws.dynamodb.DynamoDBQueryHelperV2; import org.opengroup.osdu.core.common.logging.JaxRsDpsLog; diff --git a/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/verifier/GsaTokenVerifierImplTest.java b/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/verifier/GsaTokenVerifierImplTest.java index 316ff300dbfca4f61714859c6b9ed8dbdd5c6cde..5ffcb8637a4617e4e1919eae9c9a51d88277b280 100644 --- a/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/verifier/GsaTokenVerifierImplTest.java +++ b/provider/register-aws/src/test/java/org/opengroup/osdu/register/provider/aws/verifier/GsaTokenVerifierImplTest.java @@ -5,7 +5,7 @@ import static org.junit.Assert.assertEquals; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import org.opengroup.osdu.core.common.model.http.AppException; @RunWith(MockitoJUnitRunner.class) @@ -22,4 +22,4 @@ public class GsaTokenVerifierImplTest { assertEquals(501, ex.getError().getCode()); } } -} \ No newline at end of file +} diff --git a/provider/register-azure/pom.xml b/provider/register-azure/pom.xml index 34609aa2461dafaa44a189142ca8d5de1c1a649b..cf03d271cfda7ad2297e6173c4fb7f88c6f10ea7 100644 --- a/provider/register-azure/pom.xml +++ b/provider/register-azure/pom.xml @@ -30,7 +30,6 @@ <version>0.22.0-SNAPSHOT</version> <properties> <osdu.corelibazure.version>0.20.0-rc5</osdu.corelibazure.version> - <osdu.oscorecommon.version>0.21.0</osdu.oscorecommon.version> <junit-jupiter.version>5.6.0</junit-jupiter.version> <mockito-junit-jupiter.version>2.23.0</mockito-junit-jupiter.version> <oauth2-oidc-sdk.version>6.5</oauth2-oidc-sdk.version> @@ -161,6 +160,7 @@ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> + <version>1.18.26</version> </dependency> <dependency> <groupId>com.nimbusds</groupId> @@ -230,8 +230,12 @@ <build> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.2</version> + <configuration> + <argLine>@{argLine} --add-opens java.base/java.lang=ALL_UNNAMED</argLine> + </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> @@ -251,7 +255,7 @@ <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> - <version>0.8.2</version> + <version>0.8.8</version> <executions> <execution> <goals> @@ -275,6 +279,7 @@ <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> + <version>0.8.8</version> <reportSets> <reportSet> <reports> diff --git a/provider/register-gc/cloudbuild/Dockerfile.cloudbuild b/provider/register-gc/cloudbuild/Dockerfile.cloudbuild index 76445837bf9f6a7d01a36a97a1f916583db7be4f..3739ae07f842abca4aabdc962f621faafb93374e 100644 --- a/provider/register-gc/cloudbuild/Dockerfile.cloudbuild +++ b/provider/register-gc/cloudbuild/Dockerfile.cloudbuild @@ -1,4 +1,4 @@ -FROM azul/zulu-openjdk:8-latest +FROM azul/zulu-openjdk:17 WORKDIR /register ARG PROVIDER_NAME ENV PROVIDER_NAME $PROVIDER_NAME diff --git a/provider/register-gc/pom.xml b/provider/register-gc/pom.xml index 29d755dc8dd5be9aeaf8920bb530e8d6fc6433a5..af967298d6c9c71c42bbb6ee5b92a1de5f0ffa88 100644 --- a/provider/register-gc/pom.xml +++ b/provider/register-gc/pom.xml @@ -26,7 +26,6 @@ <properties> <jackson-databind.version>2.14.2</jackson-databind.version> <jackson.version>2.14.2</jackson.version> - <osdu.oscorecommon.version>0.21.0</osdu.oscorecommon.version> </properties> <dependencyManagement> @@ -100,19 +99,11 @@ </dependency> <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>2.0.9</version> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.13.2</version> <scope>test</scope> </dependency> - - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito2</artifactId> - <version>2.0.9</version> - <scope>test</scope> - </dependency> - <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> @@ -142,7 +133,7 @@ <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> - <version>0.7.7.201606060606</version> + <version>0.8.8</version> <executions> <execution> <goals> @@ -158,6 +149,14 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.22.2</version> + <configuration> + <argLine>@{argLine} --add-opens java.base/java.lang=ALL_UNNAMED</argLine> + </configuration> + </plugin> </plugins> </build> </project> diff --git a/provider/register-gc/src/main/java/org/opengroup/osdu/register/provider/gcp/action/OsmActionRepo.java b/provider/register-gc/src/main/java/org/opengroup/osdu/register/provider/gcp/action/OsmActionRepo.java index 17f4cfc026fa25a3c242c3ce48d1054e5a10d24b..8efb25d4b9bf753ac7ccf63c31bff71e303b9b0d 100644 --- a/provider/register-gc/src/main/java/org/opengroup/osdu/register/provider/gcp/action/OsmActionRepo.java +++ b/provider/register-gc/src/main/java/org/opengroup/osdu/register/provider/gcp/action/OsmActionRepo.java @@ -106,9 +106,6 @@ public class OsmActionRepo implements IActionRepo { Action action = getActionByDto(actionDto); - if (getActionChecksum(action).compareTo(actionDto.getCheckSum()) != 0) { - throw new AppException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Internal server error", String.format("Error retrieving action '%s'.", actionDto.getName())); - } return action; } @@ -152,11 +149,6 @@ public class OsmActionRepo implements IActionRepo { List<Action> actions = new ArrayList<>(); for (ActionDto dto : actionDtos) { Action action = getActionByDto(dto); - if (getActionChecksum(action).compareTo(dto.getCheckSum()) != 0) { - log.error(String.format("Error retrieving action '%s'.", dto.getName())); - throw new AppException(HttpStatus.SC_INTERNAL_SERVER_ERROR, "Internal server error", "Error retrieving actions"); - } - actions.add(action); } return actions; } diff --git a/provider/register-gc/src/main/java/org/opengroup/osdu/register/provider/gcp/action/model/ActionDto.java b/provider/register-gc/src/main/java/org/opengroup/osdu/register/provider/gcp/action/model/ActionDto.java index 0c84bdb40c5417e28276646c2611b9a6749f413b..275a8214011ee986973c97b62d21266412649630 100644 --- a/provider/register-gc/src/main/java/org/opengroup/osdu/register/provider/gcp/action/model/ActionDto.java +++ b/provider/register-gc/src/main/java/org/opengroup/osdu/register/provider/gcp/action/model/ActionDto.java @@ -39,4 +39,4 @@ public class ActionDto { List<String> source; List<String> version; private String checkSum; -} \ No newline at end of file +} diff --git a/provider/register-gc/src/test/java/org/opengroup/osdu/register/provider/gcp/verifier/GsaTokenVerifierImplTest.java b/provider/register-gc/src/test/java/org/opengroup/osdu/register/provider/gcp/verifier/GsaTokenVerifierImplTest.java index bc3d30be5436c615c165b4ec08b91e714f95ad9f..e17a5a7435a5fb0b95abb4d158794aadd5e9671f 100644 --- a/provider/register-gc/src/test/java/org/opengroup/osdu/register/provider/gcp/verifier/GsaTokenVerifierImplTest.java +++ b/provider/register-gc/src/test/java/org/opengroup/osdu/register/provider/gcp/verifier/GsaTokenVerifierImplTest.java @@ -1,16 +1,16 @@ package org.opengroup.osdu.register.provider.gcp.verifier; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; import org.opengroup.osdu.register.utils.AppServiceConfig; -import org.powermock.modules.junit4.PowerMockRunner; -@RunWith(PowerMockRunner.class) +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +@RunWith(MockitoJUnitRunner.class) public class GsaTokenVerifierImplTest { @Mock @@ -32,4 +32,4 @@ public class GsaTokenVerifierImplTest { public void verify_false_whenTokenInvalid() throws Exception { assertFalse(gsaTokenVerifier.verify("token")); } -} \ No newline at end of file +} diff --git a/provider/register-ibm/pom.xml b/provider/register-ibm/pom.xml index 5acbc2ecec16c40426fb36bb6102da1f3c6782ad..4c557d59097819758394323a80b75bd2a7a71732 100644 --- a/provider/register-ibm/pom.xml +++ b/provider/register-ibm/pom.xml @@ -125,21 +125,12 @@ </exclusion> </exclusions> </dependency> - - - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>2.0.2</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito2</artifactId> - <version>2.0.2</version> - <scope>test</scope> - </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.13.2</version> + <scope>test</scope> + </dependency> </dependencies> <build> diff --git a/register-core/pom.xml b/register-core/pom.xml index 00d245da2f9e9f555723b33fee5f9f0ec21a7bc8..35993ad0130610c41c7ddf84d2632d8e4e06a409 100644 --- a/register-core/pom.xml +++ b/register-core/pom.xml @@ -100,7 +100,7 @@ <dependency> <groupId>org.opengroup.osdu</groupId> <artifactId>os-core-common</artifactId> - <version>0.21.0</version> + <version>${osdu.oscorecommon.version}</version> </dependency> <dependency> <groupId>com.nimbusds</groupId> @@ -174,10 +174,9 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.12</version> + <version>4.13.2</version> <scope>test</scope> </dependency> - <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> @@ -198,19 +197,6 @@ <artifactId>jackson-annotations</artifactId> <version>${jackson.version}</version> </dependency> - - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-module-junit4</artifactId> - <version>2.0.9</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.powermock</groupId> - <artifactId>powermock-api-mockito2</artifactId> - <version>2.0.9</version> - <scope>test</scope> - </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> @@ -226,10 +212,18 @@ </dependencies> <build> <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.22.2</version> + <configuration> + <argLine>@{argLine} --add-opens java.base/java.lang=ALL_UNNAMED</argLine> + </configuration> + </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> - <version>0.8.2</version> + <version>0.8.8</version> <configuration> <excludes> <exclude>org/opengroup/osdu/register/api/dto/ChallengeResponse.class</exclude> diff --git a/register-core/src/test/java/org/opengroup/osdu/register/action/services/ParseJsonIntoActionTest.java b/register-core/src/test/java/org/opengroup/osdu/register/action/services/ParseJsonIntoActionTest.java index 9fbfd3712d873d6b4d7063e93993bd3aae94b931..2316f6922de208bf0a13a362ff9b8077c41d4fc9 100644 --- a/register-core/src/test/java/org/opengroup/osdu/register/action/services/ParseJsonIntoActionTest.java +++ b/register-core/src/test/java/org/opengroup/osdu/register/action/services/ParseJsonIntoActionTest.java @@ -25,7 +25,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import java.util.HashMap; import java.util.Map; @@ -256,4 +256,4 @@ public class ParseJsonIntoActionTest { ObjectMapper mapper = new ObjectMapper(); return mapper.convertValue(record, JsonNode.class); } -} \ No newline at end of file +} diff --git a/register-core/src/test/java/org/opengroup/osdu/register/action/services/RetreiveActionServiceTest.java b/register-core/src/test/java/org/opengroup/osdu/register/action/services/RetreiveActionServiceTest.java index 27d484cdd53a2d3408eee49fa05355bde64575d0..60f8ae75dc5e3111456109453a30c0061265b663 100644 --- a/register-core/src/test/java/org/opengroup/osdu/register/action/services/RetreiveActionServiceTest.java +++ b/register-core/src/test/java/org/opengroup/osdu/register/action/services/RetreiveActionServiceTest.java @@ -27,7 +27,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import java.io.IOException; import java.util.ArrayList; diff --git a/register-core/src/test/java/org/opengroup/osdu/register/action/services/TestActionServiceTest.java b/register-core/src/test/java/org/opengroup/osdu/register/action/services/TestActionServiceTest.java index 8e7ca5b4a43d7df2514698cb91c050fac3820b66..791bd20d4dee757db0ab5a6bd9610b7b6b7cf8fa 100644 --- a/register-core/src/test/java/org/opengroup/osdu/register/action/services/TestActionServiceTest.java +++ b/register-core/src/test/java/org/opengroup/osdu/register/action/services/TestActionServiceTest.java @@ -26,7 +26,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; -import org.mockito.runners.MockitoJUnitRunner; +import org.mockito.junit.MockitoJUnitRunner; import java.util.Arrays; import java.util.HashMap; diff --git a/register-core/src/test/java/org/opengroup/osdu/register/middleware/AuthorizationFilterTest.java b/register-core/src/test/java/org/opengroup/osdu/register/middleware/AuthorizationFilterTest.java index 8f73027a66c957f5ae75c62626ce881d38b6891b..d09cf0d66e6fba772152a726a310bb5b9614e341 100644 --- a/register-core/src/test/java/org/opengroup/osdu/register/middleware/AuthorizationFilterTest.java +++ b/register-core/src/test/java/org/opengroup/osdu/register/middleware/AuthorizationFilterTest.java @@ -21,6 +21,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; +import org.mockito.junit.MockitoJUnitRunner; import org.opengroup.osdu.core.common.model.entitlements.AuthorizationResponse; import org.opengroup.osdu.core.common.model.entitlements.GroupInfo; import org.opengroup.osdu.core.common.model.entitlements.Groups; @@ -30,10 +31,8 @@ import org.opengroup.osdu.core.common.provider.interfaces.IAuthorizationService; import org.opengroup.osdu.register.di.GroupVmCache; import org.opengroup.osdu.register.utils.ServiceRequestInfo; import org.opengroup.osdu.register.utils.ServiceRole; -import org.powermock.modules.junit4.PowerMockRunner; import javax.servlet.http.HttpServletRequest; - import java.util.ArrayList; import java.util.List; @@ -44,7 +43,7 @@ import static org.mockito.Matchers.eq; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@RunWith(PowerMockRunner.class) +@RunWith(MockitoJUnitRunner.class) public class AuthorizationFilterTest { private static final String ROLE1 = "role1"; diff --git a/register-core/src/test/java/org/opengroup/osdu/register/middleware/GlobalExceptionMapperTest.java b/register-core/src/test/java/org/opengroup/osdu/register/middleware/GlobalExceptionMapperTest.java index a0acab6a74b810ab82792c17214b30030935f341..2b23d6a51d24b56375155f24982d0ea962924a83 100644 --- a/register-core/src/test/java/org/opengroup/osdu/register/middleware/GlobalExceptionMapperTest.java +++ b/register-core/src/test/java/org/opengroup/osdu/register/middleware/GlobalExceptionMapperTest.java @@ -30,11 +30,11 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.context.request.WebRequest; +import java.io.IOException; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; -import static org.powermock.api.mockito.PowerMockito.mock; - -import java.io.IOException; +import static org.mockito.Mockito.mock; @RunWith(MockitoJUnitRunner.class) public class GlobalExceptionMapperTest { @@ -110,4 +110,4 @@ public class GlobalExceptionMapperTest { assertEquals(503, response.getStatusCodeValue()); } -} \ No newline at end of file +} diff --git a/register-core/src/test/java/org/opengroup/osdu/register/utils/PreconditionsTest.java b/register-core/src/test/java/org/opengroup/osdu/register/utils/PreconditionsTest.java index 51997d17916a9b986088eb23c9bf9b6fc9d3ace3..0ff839c8b55d0e5833599be15f216adbd57b7e41 100644 --- a/register-core/src/test/java/org/opengroup/osdu/register/utils/PreconditionsTest.java +++ b/register-core/src/test/java/org/opengroup/osdu/register/utils/PreconditionsTest.java @@ -18,13 +18,11 @@ package org.opengroup.osdu.register.utils; import org.junit.Test; import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; +import org.mockito.junit.MockitoJUnitRunner; import java.util.Objects; -@RunWith(PowerMockRunner.class) -@PrepareForTest({Preconditions.class}) +@RunWith(MockitoJUnitRunner.class) public class PreconditionsTest { @Test(expected = IllegalArgumentException.class) diff --git a/testing/register-test-aws/build-aws/run-tests.sh b/testing/register-test-aws/build-aws/run-tests.sh index 55833f2c9bb6934dda880f60b826298be824d1f3..222b94021bc97ba1cb051580d93748d50c3b6078 100755 --- a/testing/register-test-aws/build-aws/run-tests.sh +++ b/testing/register-test-aws/build-aws/run-tests.sh @@ -47,6 +47,7 @@ export REGISTER_CUSTOM_PUSH_URL1=$REGISTER_BASE_URL$REGISTER_CUSTOM_PUSH_PATH1 #### RUN INTEGRATION TEST ######################################################################### +export JAVA_HOME='/usr/lib/jvm/java-17-openjdk-amd64' mvn -ntp test -f "$SCRIPT_SOURCE_DIR"/../pom.xml TEST_EXIT_CODE=$? diff --git a/testing/register-test-aws/pom.xml b/testing/register-test-aws/pom.xml index d721839f100ffa439ccbae88997b68ba6140d8e0..8c528cedfcdc6076cbdbc8ea3ba81f9ca2414065 100644 --- a/testing/register-test-aws/pom.xml +++ b/testing/register-test-aws/pom.xml @@ -33,8 +33,8 @@ <description>Register service AWS integration tests </description> <properties> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jackson-databind.version>2.15.0-rc1</jackson-databind.version> <jackson.version>2.15.0-rc1</jackson.version> @@ -44,7 +44,7 @@ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> - <version>1.18.8</version> + <version>1.18.26</version> </dependency> <dependency> <groupId>javax.json</groupId> diff --git a/testing/register-test-azure/pom.xml b/testing/register-test-azure/pom.xml index 9cf588f634f5899f450663fc2abff1eba8a8fb38..a5b78da006e2a3694830af8c05e34f33243473b2 100644 --- a/testing/register-test-azure/pom.xml +++ b/testing/register-test-azure/pom.xml @@ -33,8 +33,8 @@ <description>Register service Azure integration tests </description> <properties> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> @@ -54,7 +54,7 @@ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> - <version>1.18.8</version> + <version>1.18.26</version> </dependency> <dependency> <groupId>javax.json</groupId> diff --git a/testing/register-test-baremetal/pom.xml b/testing/register-test-baremetal/pom.xml index fbd75208e1c08e8d52ad3a1c6a46b303b3e40465..f7095df9ee9aee7eefd72182f966521cd5a26039 100644 --- a/testing/register-test-baremetal/pom.xml +++ b/testing/register-test-baremetal/pom.xml @@ -32,8 +32,8 @@ <description>Register service Baremetal integration tests</description> <properties> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> @@ -41,7 +41,7 @@ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> - <version>1.18.8</version> + <version>1.18.26</version> </dependency> <dependency> <groupId>javax.json</groupId> diff --git a/testing/register-test-core/pom.xml b/testing/register-test-core/pom.xml index 06ad4207b19b88efe1bcb558899a473f8405bc49..8b93199debd4137857cc999d25205c0a2f8305fa 100644 --- a/testing/register-test-core/pom.xml +++ b/testing/register-test-core/pom.xml @@ -33,8 +33,8 @@ <description>Register service integration tests core lib</description> <properties> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jackson-databind.version>2.15.0-rc1</jackson-databind.version> <jackson.version>2.15.0-rc1</jackson.version> @@ -44,7 +44,7 @@ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> - <version>1.18.8</version> + <version>1.18.26</version> </dependency> <dependency> <groupId>javax.json</groupId> diff --git a/testing/register-test-gc/pom.xml b/testing/register-test-gc/pom.xml index 1dc0f2fde3915e6532236b040734e2e497bc16e4..3b24e84baabf37aabbc2c9b36707bbdcaff08bf1 100644 --- a/testing/register-test-gc/pom.xml +++ b/testing/register-test-gc/pom.xml @@ -32,8 +32,8 @@ <description>Register service Google Cloud integration tests</description> <properties> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> @@ -41,7 +41,7 @@ <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> - <version>1.18.8</version> + <version>1.18.26</version> </dependency> <dependency> <groupId>javax.json</groupId> diff --git a/testing/register-test-ibm/pom.xml b/testing/register-test-ibm/pom.xml index 9ae9e0df2eff4523c80c52a7b5735b97972efdcd..0a598b30c77c1749df6000c6cf01882082cfdc16 100644 --- a/testing/register-test-ibm/pom.xml +++ b/testing/register-test-ibm/pom.xml @@ -30,8 +30,8 @@ Copyright 2020 IBM Corp. All Rights Reserved. <description>Register service GCP integration tests </description> <properties> - <maven.compiler.target>1.8</maven.compiler.target> - <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>17</maven.compiler.target> + <maven.compiler.source>17</maven.compiler.source> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <os-core-lib-ibm.version>0.21.0</os-core-lib-ibm.version> </properties> @@ -46,7 +46,7 @@ Copyright 2020 IBM Corp. All Rights Reserved. <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> - <version>1.18.8</version> + <version>1.18.26</version> </dependency> <dependency> <groupId>javax.json</groupId>