diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-05-28 12:53:16 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2014-05-28 12:53:16 +0200 |
commit | 07dfc41c47053282f00d0781ce12bc62fd795231 (patch) | |
tree | e1ef8607abaa3c62d7135c601c347493a7710af8 /sonar-ws-client | |
parent | 19397ac0aaf022afabbbdde4686edc550c8a5d36 (diff) | |
download | sonarqube-07dfc41c47053282f00d0781ce12bc62fd795231.tar.gz sonarqube-07dfc41c47053282f00d0781ce12bc62fd795231.zip |
TestCase should not contain File object
Diffstat (limited to 'sonar-ws-client')
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"); } |