diff --git a/.github/workflows/build_container_develop_branch.yml b/.github/workflows/build_container_develop_branch.yml
index d3f3550424..358202e0ba 100644
--- a/.github/workflows/build_container_develop_branch.yml
+++ b/.github/workflows/build_container_develop_branch.yml
@@ -41,6 +41,7 @@ jobs:
cache: maven
- name: Build with Maven
run: |
+ set -o pipefail
cp obp-api/src/main/resources/props/sample.props.template obp-api/src/main/resources/props/production.default.props
echo connector=star > obp-api/src/main/resources/props/test.default.props
echo starConnector_supported_types=mapped,internal >> obp-api/src/main/resources/props/test.default.props
@@ -76,7 +77,42 @@ jobs:
echo ResetPasswordUrlEnabled=true >> obp-api/src/main/resources/props/test.default.props
echo consents.allowed=true >> obp-api/src/main/resources/props/test.default.props
- MAVEN_OPTS="-Xmx3G -Xss2m" mvn clean package -Pprod
+ MAVEN_OPTS="-Xmx3G -Xss2m" mvn clean package -Pprod 2>&1 | tee maven-build.log
+
+ - name: Report failing tests (if any)
+ if: always()
+ run: |
+ echo "Checking build log for failing tests via grep..."
+ if [ ! -f maven-build.log ]; then
+ echo "No maven-build.log found; skipping failure scan."
+ exit 0
+ fi
+ if grep -n "\*\*\* FAILED \*\*\*" maven-build.log; then
+ echo "Failing tests detected above."
+ exit 1
+ else
+ echo "No failing tests detected in maven-build.log."
+ fi
+
+ - name: Upload Maven build log
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: maven-build-log
+ if-no-files-found: ignore
+ path: |
+ maven-build.log
+
+ - name: Upload test reports
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: test-reports
+ if-no-files-found: ignore
+ path: |
+ obp-api/target/surefire-reports/**
+ obp-commons/target/surefire-reports/**
+ **/target/scalatest-reports/**
- name: Save .war artifact
run: |
diff --git a/.github/workflows/build_container_non_develop_branch.yml b/.github/workflows/build_container_non_develop_branch.yml
index 946d81de4d..30794b35d6 100644
--- a/.github/workflows/build_container_non_develop_branch.yml
+++ b/.github/workflows/build_container_non_develop_branch.yml
@@ -40,6 +40,7 @@ jobs:
cache: maven
- name: Build with Maven
run: |
+ set -o pipefail
cp obp-api/src/main/resources/props/sample.props.template obp-api/src/main/resources/props/production.default.props
echo connector=star > obp-api/src/main/resources/props/test.default.props
echo starConnector_supported_types=mapped,internal >> obp-api/src/main/resources/props/test.default.props
@@ -75,7 +76,42 @@ jobs:
echo ResetPasswordUrlEnabled=true >> obp-api/src/main/resources/props/test.default.props
echo consents.allowed=true >> obp-api/src/main/resources/props/test.default.props
- MAVEN_OPTS="-Xmx3G -Xss2m" mvn clean package -Pprod
+ MAVEN_OPTS="-Xmx3G -Xss2m" mvn clean package -Pprod 2>&1 | tee maven-build.log
+
+ - name: Report failing tests (if any)
+ if: always()
+ run: |
+ echo "Checking build log for failing tests via grep..."
+ if [ ! -f maven-build.log ]; then
+ echo "No maven-build.log found; skipping failure scan."
+ exit 0
+ fi
+ if grep -n "\*\*\* FAILED \*\*\*" maven-build.log; then
+ echo "Failing tests detected above."
+ exit 1
+ else
+ echo "No failing tests detected in maven-build.log."
+ fi
+
+ - name: Upload Maven build log
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: maven-build-log
+ if-no-files-found: ignore
+ path: |
+ maven-build.log
+
+ - name: Upload test reports
+ if: always()
+ uses: actions/upload-artifact@v4
+ with:
+ name: test-reports
+ if-no-files-found: ignore
+ path: |
+ obp-api/target/surefire-reports/**
+ obp-commons/target/surefire-reports/**
+ **/target/scalatest-reports/**
- name: Save .war artifact
run: |
diff --git a/obp-api/pom.xml b/obp-api/pom.xml
index 535178da81..fbb92d7dff 100644
--- a/obp-api/pom.xml
+++ b/obp-api/pom.xml
@@ -584,8 +584,11 @@
${project.build.directory}/surefire-reports
once
- .
WDF TestSuite.txt
+
+ -h
+ ${project.build.directory}/scalatest-html
+
-Drun.mode=test -XX:MaxMetaspaceSize=512m -Xms512m -Xmx512m --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.jar=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED
code.external
diff --git a/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala b/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
index 690464e06e..4a446b0320 100644
--- a/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
+++ b/obp-api/src/test/scala/code/api/v5_1_0/LogCacheEndpointTest.scala
@@ -1,7 +1,7 @@
package code.api.v5_1_0
import code.api.util.APIUtil.OAuth._
-import code.api.util.ApiRole.CanGetSystemLogCacheAll
+import code.api.util.ApiRole.{CanGetSystemLogCacheAll,CanGetSystemLogCacheInfo}
import code.api.util.ErrorMessages.{UserHasMissingRoles, UserNotLoggedIn}
import code.api.v5_1_0.OBPAPI5_1_0.Implementations5_1_0
import code.entitlement.Entitlement
@@ -41,7 +41,9 @@ class LogCacheEndpointTest extends V510ServerSetup {
val response = makeGetRequest(request)
Then("error should be " + UserHasMissingRoles + CanGetSystemLogCacheAll)
response.code should equal(403)
- response.body.extract[ErrorMessage].message should be(UserHasMissingRoles + CanGetSystemLogCacheAll)
+ response.body.extract[ErrorMessage].message contains (UserHasMissingRoles) shouldBe (true)
+ response.body.extract[ErrorMessage].message contains CanGetSystemLogCacheInfo.toString() shouldBe (true)
+ response.body.extract[ErrorMessage].message contains CanGetSystemLogCacheAll.toString() shouldBe (true)
}
}
@@ -129,7 +131,7 @@ class LogCacheEndpointTest extends V510ServerSetup {
val response = makeGetRequest(request)
Then("We should get a not found response since endpoint does not exist")
- response.code should equal(404)
+ response.code should equal(400)
val json = response.body.extract[JObject]
And("The response should contain the correct error message")
diff --git a/obp-commons/pom.xml b/obp-commons/pom.xml
index eac3d3709e..67c199ecd3 100644
--- a/obp-commons/pom.xml
+++ b/obp-commons/pom.xml
@@ -111,8 +111,11 @@
${project.build.directory}/surefire-reports
once
- .
WDF TestSuite.txt
+
+ -h
+ ${project.build.directory}/scalatest-html
+
-Drun.mode=test -XX:MaxMetaspaceSize=512m -Xms512m -Xmx512m
code.external