aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/sonar-squid-java-plugin/src/test
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2011-01-25 19:10:20 +0100
committersimonbrandhof <simon.brandhof@gmail.com>2011-01-25 19:26:43 +0100
commite7de7db7a3a3de0bf7961f0b5210156182622f10 (patch)
treea638d3b82ebf27f68184c527df61fff9923502ab /plugins/sonar-squid-java-plugin/src/test
parentf3b88bb8e5a57a215e59dcc5c38f550433c9a1eb (diff)
downloadsonarqube-e7de7db7a3a3de0bf7961f0b5210156182622f10.tar.gz
sonarqube-e7de7db7a3a3de0bf7961f0b5210156182622f10.zip
Improve backward-compatibility when adding data to a non-indexed resource
Diffstat (limited to 'plugins/sonar-squid-java-plugin/src/test')
-rw-r--r--plugins/sonar-squid-java-plugin/src/test/java/org/sonar/plugins/squid/JavaSourceImporterTest.java57
1 files changed, 34 insertions, 23 deletions
diff --git a/plugins/sonar-squid-java-plugin/src/test/java/org/sonar/plugins/squid/JavaSourceImporterTest.java b/plugins/sonar-squid-java-plugin/src/test/java/org/sonar/plugins/squid/JavaSourceImporterTest.java
index c6667a6920e..f90274d9964 100644
--- a/plugins/sonar-squid-java-plugin/src/test/java/org/sonar/plugins/squid/JavaSourceImporterTest.java
+++ b/plugins/sonar-squid-java-plugin/src/test/java/org/sonar/plugins/squid/JavaSourceImporterTest.java
@@ -19,42 +19,53 @@
*/
package org.sonar.plugins.squid;
-import org.apache.commons.io.FileUtils;
+import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
+import org.sonar.api.batch.SensorContext;
+import org.sonar.api.resources.InputFile;
import org.sonar.api.resources.JavaFile;
-import org.sonar.api.resources.JavaPackage;
-import org.sonar.api.resources.Resource;
-import org.sonar.api.resources.ResourceUtils;
+import org.sonar.api.utils.SonarException;
import java.io.File;
import java.io.IOException;
-import java.util.Arrays;
+import java.nio.charset.Charset;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.*;
public class JavaSourceImporterTest {
- @Test
- public void shouldDefineMainFile() throws IOException {
- JavaSourceImporter importer = new JavaSourceImporter();
- Resource clazz = importer.createResource(new File(newDir("source1"), "/MyClass.java"), Arrays.asList(newDir("source1")), false);
- assertThat(clazz, is(JavaFile.class));
- assertThat(clazz.getKey(), is(JavaPackage.DEFAULT_PACKAGE_NAME + ".MyClass"));
- assertThat(clazz.getName(), is("MyClass"));
+ private JavaSourceImporter importer;
+ private SensorContext context;
+ private InputFile inputFile;
+
+ @Before
+ public void init() {
+ File fileToImport = new File("test-resources/rules/UndocumentedApi.java");
+ inputFile = mock(InputFile.class);
+ when(inputFile.getRelativePath()).thenReturn("UndocumentedApi.java");
+ when(inputFile.getFile()).thenReturn(fileToImport);
+ when(inputFile.getFileBaseDir()).thenReturn(fileToImport.getParentFile());
+ importer = new JavaSourceImporter();
+ context = mock(SensorContext.class);
}
@Test
- public void shouldDefineTestFile() throws IOException {
- JavaSourceImporter importer = new JavaSourceImporter();
- Resource resource = importer.createResource(new File(newDir("tests"), "/MyClassTest.java"), Arrays.asList(newDir("tests")), true);
- assertThat(resource, is(JavaFile.class));
- assertThat(ResourceUtils.isUnitTestClass(resource), is(true));
+ public void shouldSetSource() throws IOException {
+ JavaFile javaFile = JavaFile.fromRelativePath("UndocumentedApi.java", true);
+ when(context.isIndexed(javaFile, true)).thenReturn(true);
+ importer.importSource(context, javaFile, inputFile, Charset.defaultCharset());
+
+ verify(context).saveSource(eq(javaFile), anyString());
}
- private File newDir(String relativePath) throws IOException {
- File target = new File("target", relativePath);
- FileUtils.forceMkdir(target);
- return target;
+ @Test(expected = SonarException.class)
+ @Ignore("see SONAR-791")
+ public void shouldFailWhenSquidDidNotIndexFile() throws IOException {
+ JavaFile javaFile = new JavaFile("Bar");
+ when(context.isIndexed(javaFile, true)).thenReturn(false);
+ importer.importSource(context, javaFile, inputFile, Charset.defaultCharset());
}
} \ No newline at end of file