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);