import java.util.TimeZone;
import org.apache.commons.io.IOUtils;
import org.junit.Before;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
+import org.sonar.api.batch.bootstrap.ProjectDefinition;
import org.sonar.api.batch.fs.InputFile;
import org.sonar.api.batch.fs.internal.DefaultFileSystem;
import org.sonar.api.batch.fs.internal.DefaultInputDir;
import org.sonar.api.issue.Issue;
import org.sonar.api.platform.Server;
import org.sonar.api.rule.RuleKey;
+import org.sonar.api.scan.filesystem.PathResolver;
import org.sonar.scanner.issue.IssueCache;
import org.sonar.scanner.issue.tracking.TrackedIssue;
import org.sonar.scanner.protocol.input.ScannerInput;
private SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
- @org.junit.Rule
+ @Rule
public TemporaryFolder temp = new TemporaryFolder();
JSONReport jsonReport;
public void before() throws Exception {
moduleHierarchy = mock(InputModuleHierarchy.class);
userRepository = mock(UserRepositoryLoader.class);
- fs = new DefaultFileSystem(temp.newFolder().toPath());
+ File projectBaseDir = temp.newFolder();
+ fs = new DefaultFileSystem(projectBaseDir.toPath());
SIMPLE_DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+02:00"));
when(server.getVersion()).thenReturn("3.6");
- DefaultInputDir inputDir = new DefaultInputDir("struts", "src/main/java/org/apache/struts", TestInputFileBuilder.nextBatchId());
- DefaultInputFile inputFile = new TestInputFileBuilder("struts", "src/main/java/org/apache/struts/Action.java").build();
- inputFile.setStatus(InputFile.Status.CHANGED);
- inputFile.setPublish(true);
- InputComponentStore fileCache = new InputComponentStore();
- fileCache.put(inputFile);
- fileCache.put(inputDir);
-
+ InputComponentStore inputComponentStore = new InputComponentStore(new PathResolver());
DefaultComponentTree inputComponentTree = new DefaultComponentTree();
- DefaultInputModule rootModule = new DefaultInputModule("struts");
+ DefaultInputModule rootModule = new DefaultInputModule(ProjectDefinition.create().setBaseDir(projectBaseDir).setKey("struts"), 1);
+ inputComponentStore.put(rootModule);
DefaultInputModule moduleA = new DefaultInputModule("struts-core");
inputComponentTree.index(moduleA, rootModule);
DefaultInputModule moduleB = new DefaultInputModule("struts-ui");
inputComponentTree.index(moduleB, rootModule);
+ DefaultInputDir inputDir = new DefaultInputDir("struts", "src/main/java/org/apache/struts", TestInputFileBuilder.nextBatchId())
+ .setModuleBaseDir(projectBaseDir.toPath());
+ DefaultInputFile inputFile = new TestInputFileBuilder("struts", "src/main/java/org/apache/struts/Action.java")
+ .setModuleBaseDir(projectBaseDir.toPath()).build();
+ inputFile.setStatus(InputFile.Status.CHANGED);
+ inputFile.setPublish(true);
+ inputComponentStore.put(inputFile);
+ inputComponentStore.put(inputDir);
+
inputComponentTree.index(inputDir, rootModule);
inputComponentTree.index(inputFile, inputDir);
RulesBuilder builder = new RulesBuilder();
builder.add(RuleKey.of("squid", "AvoidCycles")).setName("Avoid Cycles");
rules = builder.build();
- jsonReport = new JSONReport(moduleHierarchy, settings, fs, server, rules, issueCache, rootModule, fileCache, userRepository, inputComponentTree);
+ jsonReport = new JSONReport(moduleHierarchy, settings, fs, server, rules, issueCache, rootModule, inputComponentStore, userRepository, inputComponentTree);
}
@Test