diff --git a/.gitea/workflows/api-gateway.yml b/.gitea/workflows/api-gateway.yml index 4d9010f..2f20189 100644 --- a/.gitea/workflows/api-gateway.yml +++ b/.gitea/workflows/api-gateway.yml @@ -63,6 +63,33 @@ jobs: - name: Compile code run: ./mvnw compile + - name: Check for test files + run: | + echo "Checking for test files in src/test/java/..." + if [ -d "src/test/java" ]; then + TEST_COUNT=$(find src/test/java -name "*Test*.java" -type f | wc -l) + echo "Found $TEST_COUNT test files" + if [ $TEST_COUNT -eq 0 ]; then + echo "⚠️ No test files found! Please add test files to src/test/java/" + echo "TEST_FILES_EXIST=false" >> $GITHUB_ENV + else + echo "✅ Test files found" + echo "TEST_FILES_EXIST=true" >> $GITHUB_ENV + fi + else + echo "❌ No src/test/java directory found!" + echo "TEST_FILES_EXIST=false" >> $GITHUB_ENV + fi + + - name: Fail if no test files exist + if: env.TEST_FILES_EXIST == 'false' + run: | + echo "❌ No test files found in src/test/java/" + echo "This pipeline requires test files to be present." + echo "Please add test files with names ending in 'Test.java' or 'Tests.java'" + echo "Example: src/test/java/com/labfusion/MyServiceTest.java" + exit 1 + - name: Run unit tests run: | echo "Running Maven tests..." @@ -98,19 +125,6 @@ jobs: echo "TEST_REPORTS_EXIST=false" >> $GITHUB_ENV fi - - name: Create dummy test report if none exists - if: env.TEST_REPORTS_EXIST == 'false' - run: | - echo "Creating dummy test report since no tests were found..." - cat > target/surefire-reports/TEST-dummy.xml << 'EOF' - - - - - EOF - echo "Dummy test report created" - echo "TEST_REPORTS_EXIST=true" >> $GITHUB_ENV - - name: Generate test report uses: dorny/test-reporter@v1 if: env.TEST_REPORTS_EXIST == 'true' @@ -118,6 +132,18 @@ jobs: name: Maven Tests (Java ${{ matrix.java-version }}) path: target/surefire-reports/*.xml reporter: java-junit + + - name: Fail if no test reports found + if: env.TEST_REPORTS_EXIST == 'false' + run: | + echo "❌ No test reports were generated!" + echo "This indicates that either:" + echo "1. No test files were found in src/test/java/" + echo "2. Tests failed to execute properly" + echo "3. Maven Surefire plugin did not generate reports" + echo "" + echo "Please ensure you have test files and they are executing correctly." + exit 1 - name: Run code quality checks run: |