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 diff --git a/src/main/java/hudson/plugins/testlink/TestLinkSite.java b/src/main/java/hudson/plugins/testlink/TestLinkSite.java index 1d94cc9..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,25 +203,37 @@ 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(), - 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);