aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-ws-client
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@sonarsource.com>2014-05-28 12:53:16 +0200
committerJulien Lancelot <julien.lancelot@sonarsource.com>2014-05-28 12:53:16 +0200
commit07dfc41c47053282f00d0781ce12bc62fd795231 (patch)
treee1ef8607abaa3c62d7135c601c347493a7710af8 /sonar-ws-client
parent19397ac0aaf022afabbbdde4686edc550c8a5d36 (diff)
downloadsonarqube-07dfc41c47053282f00d0781ce12bc62fd795231.tar.gz
sonarqube-07dfc41c47053282f00d0781ce12bc62fd795231.zip
TestCase should not contain File object
Diffstat (limited to 'sonar-ws-client')
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/test/TestableTestCases.java6
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestClient.java8
-rw-r--r--sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestableTestCases.java16
-rw-r--r--sonar-ws-client/src/test/java/org/sonar/wsclient/test/internal/DefaultTestClientTest.java2
4 files changed, 21 insertions, 11 deletions
diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/test/TestableTestCases.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/test/TestableTestCases.java
index 8e8e8070bf4..7d4dfa8125f 100644
--- a/sonar-ws-client/src/main/java/org/sonar/wsclient/test/TestableTestCases.java
+++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/test/TestableTestCases.java
@@ -33,10 +33,10 @@ public interface TestableTestCases {
List<TestCase> tests();
- interface TestCase {
- @CheckForNull
- File file();
+ @CheckForNull
+ File fileByTest(String testCase);
+ interface TestCase {
@CheckForNull
String name();
diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestClient.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestClient.java
index 17834c44af7..c65df73a97e 100644
--- a/sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestClient.java
+++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestClient.java
@@ -142,13 +142,9 @@ public class DefaultTestClient implements TestClient {
List<Map> tests = (List) jRoot.get("tests");
if (tests != null) {
for (final Map json : tests) {
- testableTestCases.addTest(new TestableTestCases.TestCase() {
- @Override
- public TestableTestCases.File file() {
- String fileRef = JsonUtils.getString(json, "_ref");
- return fileRef != null ? testableTestCases.fileByRef(fileRef) : null;
- }
+ final String fileRef = JsonUtils.getString(json, "_ref");
+ testableTestCases.addTest(fileRef, new TestableTestCases.TestCase() {
@Override
public String name() {
return JsonUtils.getString(json, "name");
diff --git a/sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestableTestCases.java b/sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestableTestCases.java
index af7f7161917..885ab6abcf3 100644
--- a/sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestableTestCases.java
+++ b/sonar-ws-client/src/main/java/org/sonar/wsclient/test/internal/DefaultTestableTestCases.java
@@ -22,6 +22,8 @@ package org.sonar.wsclient.test.internal;
import org.sonar.wsclient.test.TestableTestCases;
+import javax.annotation.CheckForNull;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -31,6 +33,7 @@ public class DefaultTestableTestCases implements TestableTestCases {
private final List<TestCase> tests = new ArrayList<TestCase>();
private final Map<String, File> filesByRef = new HashMap<String, File>();
+ private final Map<String, File> filesByTest = new HashMap<String, File>();
@Override
public List<TestCase> tests() {
@@ -38,16 +41,27 @@ public class DefaultTestableTestCases implements TestableTestCases {
}
@Override
+ @CheckForNull
+ public File fileByTest(String testCase) {
+ return filesByTest.get(testCase);
+ }
+
+ @Override
public List<File> files() {
return new ArrayList<File>(filesByRef.values());
}
+ @CheckForNull
public File fileByRef(String ref) {
return filesByRef.get(ref);
}
- public DefaultTestableTestCases addTest(TestCase testCase) {
+ public DefaultTestableTestCases addTest(String ref, TestCase testCase) {
tests.add(testCase);
+ File file = fileByRef(ref);
+ if (file != null) {
+ filesByTest.put(testCase.name(), file);
+ }
return this;
}
diff --git a/sonar-ws-client/src/test/java/org/sonar/wsclient/test/internal/DefaultTestClientTest.java b/sonar-ws-client/src/test/java/org/sonar/wsclient/test/internal/DefaultTestClientTest.java
index 150ec009129..bb88852e144 100644
--- a/sonar-ws-client/src/test/java/org/sonar/wsclient/test/internal/DefaultTestClientTest.java
+++ b/sonar-ws-client/src/test/java/org/sonar/wsclient/test/internal/DefaultTestClientTest.java
@@ -74,7 +74,7 @@ public class DefaultTestClientTest {
assertThat(testCase.status()).isEqualTo("OK");
assertThat(testCase.durationInMs()).isEqualTo(10L);
- TestableTestCases.File file = testCase.file();
+ TestableTestCases.File file = coveringTestCases.fileByTest("find_by_params");
assertThat(file.key()).isEqualTo("org.codehaus.sonar:sonar-server:src/test/java/org/sonar/server/rule/RubyRuleServiceTest.java");
assertThat(file.longName()).isEqualTo("src/test/java/org/sonar/server/rule/RubyRuleServiceTest.java");
}