From ce5faf59435cf78d01fa15523dce7f410a9b6cf3 Mon Sep 17 00:00:00 2001 From: Martin vom Hagen Date: Wed, 3 Apr 2024 16:04:21 +0200 Subject: [PATCH 1/3] Bump dependency testlink-java-api to 1.9.20-1 and add required dependencies to be able to build --- pom.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index fcc15b2..5e3e3a3 100644 --- a/pom.xml +++ b/pom.xml @@ -236,7 +236,7 @@ br.eti.kinoshita testlink-java-api - 1.9.17-0 + 1.9.20-1 org.tap4j @@ -246,7 +246,7 @@ org.apache.commons commons-lang3 - 3.8.1 + 3.9 commons-io @@ -292,6 +292,13 @@ org.jenkins-ci.plugins junit 1.24 + jar + + + org.jenkins-ci.plugins + scm-api + 2.0.8 + jar From b9dd723a39c4214accd592aceb93da618efbe62f Mon Sep 17 00:00:00 2001 From: Martin vom Hagen Date: Wed, 3 Apr 2024 16:05:43 +0200 Subject: [PATCH 2/3] Make reportTCResult interface compatible --- .../java/hudson/plugins/testlink/TestLinkSite.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/hudson/plugins/testlink/TestLinkSite.java b/src/main/java/hudson/plugins/testlink/TestLinkSite.java index 1d94cc9..97752fe 100644 --- a/src/main/java/hudson/plugins/testlink/TestLinkSite.java +++ b/src/main/java/hudson/plugins/testlink/TestLinkSite.java @@ -211,16 +211,20 @@ public int updateTestCase(TestCaseWrapper testCase) { testPlan.getId(), testCase.getExecutionStatus(), null, // List steps - build.getId(), - build.getName(), - testCase.getNotes(), + build.getId(), + build.getName(), + testCase.getNotes(), + null, // execution duration null, // guess null, // bug id platformId, // platform id platformName, // platform name null, // custom fields - null); - + null, // overwrite + null, // user + null // timestamp + ); + switch(testCase.getExecutionStatus()) { case PASSED: report.setPassed(report.getPassed()+1); From b6a83a1d8038bc562bb2ea3cbc1a4fcae258c37b Mon Sep 17 00:00:00 2001 From: Martin vom Hagen Date: Mon, 29 Apr 2024 13:18:37 +0200 Subject: [PATCH 3/3] Comment unset parameters to help in debugging --- .../hudson/plugins/testlink/TestLinkSite.java | 45 +++++++++++-------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/src/main/java/hudson/plugins/testlink/TestLinkSite.java b/src/main/java/hudson/plugins/testlink/TestLinkSite.java index 97752fe..1a5a494 100644 --- a/src/main/java/hudson/plugins/testlink/TestLinkSite.java +++ b/src/main/java/hudson/plugins/testlink/TestLinkSite.java @@ -133,20 +133,20 @@ public Report getReport() { */ public TestCase[] getAutomatedTestCases(String[] customFieldsNames) { final TestCase[] testCases = this.api.getTestCasesForTestPlan( - getTestPlan().getId(), - null, - null, - null, - null, - null, - null, + getTestPlan().getId(), + null, // testCasesId + null, // buildId + null, // keywordsIds + null, // keywords + null, // executed + null, // assigned to null, // execute status - ExecutionType.AUTOMATED, + ExecutionType.AUTOMATED, Boolean.TRUE, - TestCaseDetails.FULL); - + TestCaseDetails.FULL); + ArrayList filteredTestcases = new ArrayList(); - + for( final TestCase testCase : testCases ) { testCase.setTestProjectId(getTestProject().getId()); testCase.setExecutionStatus(ExecutionStatus.NOT_RUN); @@ -162,11 +162,12 @@ public TestCase[] getAutomatedTestCases(String[] customFieldsNames) { testCase.getCustomFields().add(customField); } } - - if(platform == null || testCase.getPlatform().getName().equals(platform.getName())) + + if(platform == null || testCase.getPlatform().getName().equals(platform.getName())) { filteredTestcases.add(testCase); + } } - + return filteredTestcases.toArray(new TestCase[filteredTestcases.size()]); } @@ -202,13 +203,21 @@ public int updateTestCase(TestCaseWrapper testCase) { // platformId is set to null platformName = testCase.getPlatform(); // platform name } - + if (testCase.getExecutionStatus() != null && !ExecutionStatus.NOT_RUN.equals(testCase.getExecutionStatus())) { // Update Test Case status + +/* from Java API: + * public ReportTCResultResponse reportTCResult(Integer testCaseId, Integer testCaseExternalId, Integer testPlanId, + ExecutionStatus status, List steps, Integer buildId, String buildName, String notes, + Integer executionDuration, Boolean guess, String bugId, Integer platformId, String platformName, + Map customFields, Boolean overwrite, String user, String timestamp) + */ + final ReportTCResultResponse reportTCResultResponse = api.reportTCResult( - testCase.getId(), - testCase.getInternalId(), - testPlan.getId(), + testCase.getId(), + testCase.getInternalId(), + testPlan.getId(), testCase.getExecutionStatus(), null, // List steps build.getId(),