List of usage examples for org.apache.commons.io FileUtils toFile
public static File toFile(URL url)
URL
to a File
. From source file:org.sonar.plugins.flex.flexpmd.FlexPmdXmlReportParserTest.java
@Test public void shouldSaveViolationsOnClasses() { File xmlFile = FileUtils .toFile(getClass().getResource("/org/sonar/plugins/flex/flexpmd/flexpmd-result-file.xml")); SensorContext context = mock(SensorContext.class); FlexPmdXmlReportParser parser = spy(new FlexPmdXmlReportParser(null, context, null)); doNothing().when(parser).log((SensorContext) anyObject(), anyString(), anyString(), anyInt(), anyString()); parser.parse(xmlFile);/* ww w. j a va 2 s . c om*/ verify(parser, times(18)).log(eq(context), anyString(), anyString(), anyInt(), anyString()); verify(parser, times(3)).log(eq(context), anyString(), eq("E:/TestHudson/flex/src/com/almirun/common/events/LoremIpsumEvent.as"), anyInt(), anyString()); verify(parser).log(eq(context), eq("com.adobe.ac.pmd.rules.event.EventMissingCloneFunctionRule"), eq("E:/TestHudson/flex/src/com/almirun/common/events/LoremIpsumEvent.as"), eq(7), anyString()); verify(parser).log(eq(context), eq("com.adobe.ac.pmd.rules.maintanability.ArrayFieldWithNoArrayElementTypeRule"), eq("E:/TestHudson/flex/src/com/almirun/common/events/LoremIpsumEvent.as"), eq(18), anyString()); }
From source file:org.sonar.plugins.gosu.codenarc.CodeNarcSensorTest.java
@Test public void should_parse() { SensorContextTester context = SensorContextTester.create(new File("")); ActiveRulesBuilder activeRulesBuilder = new ActiveRulesBuilder(); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "BooleanInstantiation"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "DuplicateImport"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "EmptyCatchBlock"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "EmptyElseBlock"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "EmptyFinallyBlock"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "EmptyForStatement"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "EmptyIfStatement"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "EmptyTryBlock"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "EmptyWhileStatement"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "ImportFromSamePackage"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "ReturnFromFinallyBlock"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "StringInstantiation"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "ThrowExceptionFromFinallyBlock"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "UnnecessaryGroovyImport"); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "UnusedImport"); context.setActiveRules(activeRulesBuilder.build()); File report = FileUtils.toFile(getClass().getResource("parsing/sample.xml")); when(settings.getString(GosuPlugin.CODENARC_REPORT_PATH)).thenReturn(report.getAbsolutePath()); DefaultFileSystem fileSystem = mockFileSystem(); context.setFileSystem(fileSystem);//www . j av a 2 s . co m sensor = new CodeNarcSensor(gosu, fileSystem, profile); sensor.execute(context); assertThat(context.allIssues()).hasSize(17); }
From source file:org.sonar.plugins.gosu.codenarc.CodeNarcSensorTest.java
@Test public void should_parse_but_not_add_issue_if_rule_not_found() { SensorContextTester context = SensorContextTester.create(new File("")); ActiveRulesBuilder activeRulesBuilder = new ActiveRulesBuilder(); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "UnknownRule"); context.setActiveRules(activeRulesBuilder.build()); DefaultFileSystem fileSystem = mockFileSystem(); context.setFileSystem(fileSystem);/*from w w w . j a v a 2s. c o m*/ File report = FileUtils.toFile(getClass().getResource("parsing/sample.xml")); when(settings.getString(GosuPlugin.CODENARC_REPORT_PATH)).thenReturn(report.getAbsolutePath()); sensor = new CodeNarcSensor(gosu, fileSystem, profile); sensor.execute(context); assertThat(context.allIssues()).isEmpty(); }
From source file:org.sonar.plugins.gosu.codenarc.CodeNarcSensorTest.java
@Test public void should_parse_but_not_add_issue_if_inputFile_not_found() { SensorContextTester context = SensorContextTester.create(new File("")); ActiveRulesBuilder activeRulesBuilder = new ActiveRulesBuilder(); activeRulesBuilder = activateFakeRule(activeRulesBuilder, "BooleanInstantiation"); context.setActiveRules(activeRulesBuilder.build()); File report = FileUtils.toFile(getClass().getResource("parsing/sample.xml")); when(settings.getString(GosuPlugin.CODENARC_REPORT_PATH)).thenReturn(report.getAbsolutePath()); DefaultFileSystem fileSystem = new DefaultFileSystem(new File("")); fileSystem.add(new DefaultInputFile("", "unknownFile.groovy").setLanguage(Gosu.KEY).setType(Type.MAIN)); context.setFileSystem(fileSystem);/*from w ww.j a v a 2s . c o m*/ sensor = new CodeNarcSensor(gosu, fileSystem, profile); sensor.execute(context); assertThat(context.allIssues()).isEmpty(); }
From source file:org.sonar.plugins.gosu.codenarc.CodeNarcSensorTest.java
private DefaultFileSystem mockFileSystem() { FilePredicates fp = mock(FilePredicates.class); class CustomFilePredicate implements FilePredicate { final String fileName; CustomFilePredicate(String fileName) { this.fileName = fileName; }/*from ww w . j a v a 2 s .com*/ @Override public boolean apply(InputFile inputFile) { return true; } } when(fp.hasAbsolutePath(Matchers.anyString())).thenAnswer(new Answer<FilePredicate>() { @Override public FilePredicate answer(InvocationOnMock invocation) throws Throwable { return new CustomFilePredicate(invocation.getArgumentAt(0, String.class)); } }); DefaultFileSystem mockfileSystem = mock(DefaultFileSystem.class); when(mockfileSystem.predicates()).thenReturn(fp); when(mockfileSystem.hasFiles(Matchers.any(FilePredicate.class))).thenReturn(true); Map<String, DefaultInputFile> gosuFilesByName = new HashMap<>(); File sampleFile = FileUtils.toFile(getClass().getResource("parsing/Sample.groovy")); when(mockfileSystem.inputFile(any(FilePredicate.class))).thenAnswer(new Answer<InputFile>() { @Override public InputFile answer(InvocationOnMock invocation) throws Throwable { String fileName = invocation.getArgumentAt(0, CustomFilePredicate.class).fileName; DefaultInputFile gosuFile; if (!gosuFilesByName.containsKey(fileName)) { // store gosu file as default input files gosuFile = new DefaultInputFile("", fileName).setLanguage(Gosu.KEY).setType(Type.MAIN) .initMetadata(new String(Files.readAllBytes(sampleFile.toPath()), "UTF-8")); gosuFilesByName.put(fileName, gosuFile); } return gosuFilesByName.get(fileName); } }); return mockfileSystem; }
From source file:org.sonar.plugins.gosu.codenarc.CodeNarcXMLParserTest.java
@Test public void should_parse_report() throws Exception { FileSystem fileSystem = Mockito.mock(FileSystem.class); Mockito.when(fileSystem.predicates()).thenReturn(Mockito.mock(FilePredicates.class)); Mockito.when(fileSystem.hasFiles(Matchers.any(FilePredicate.class))).thenReturn(true); List<CodeNarcViolation> violations = CodeNarcXMLParser .parse(FileUtils.toFile(getClass().getResource("parsing/sample.xml")), fileSystem); assertThat(violations.size()).isEqualTo(17); CodeNarcViolation violation = violations.get(0); assertThat(violation.getRuleName()).isEqualTo("EmptyElseBlock"); assertThat(violation.getFilename()).isEqualTo("samples/src/org/codenarc/sample/domain/SampleDomain.gosu"); assertThat(violation.getLine()).isEqualTo(24); assertThat(violation.getMessage()).isEqualTo(""); violation = violations.get(1);//from w w w . j av a 2 s. co m assertThat(violation.getRuleName()).isEqualTo("EmptyIfStatement"); assertThat(violation.getFilename()).isEqualTo("samples/src/org/codenarc/sample/domain/SampleDomain.gosu"); assertThat(violation.getLine()).isEqualTo(21); assertThat(violation.getMessage()).isEqualTo(""); }
From source file:org.sonar.plugins.gosu.codenarc.CodeNarcXMLParserTest.java
@Test public void should_not_fail_if_line_number_not_specified() throws Exception { FileSystem fileSystem = Mockito.mock(FileSystem.class); Mockito.when(fileSystem.predicates()).thenReturn(Mockito.mock(FilePredicates.class)); Mockito.when(fileSystem.hasFiles(Matchers.any(FilePredicate.class))).thenReturn(true); List<CodeNarcViolation> violations = CodeNarcXMLParser.parse( FileUtils.toFile(getClass().getResource("parsing/line-number-not-specified.xml")), fileSystem); assertThat(violations.size()).isEqualTo(1); CodeNarcViolation violation = violations.get(0); assertThat(violation.getRuleName()).isEqualTo("CyclomaticComplexity"); assertThat(violation.getFilename()).isEqualTo("org/example/Example.gosu"); assertThat(violation.getLine()).isNull(); assertThat(violation.getMessage())/*from ww w . j a v a 2 s . com*/ .isEqualTo("The cyclomatic complexity for class [org.example.Example] is [27.0]"); }
From source file:org.sonar.plugins.groovy.codenarc.CodeNarcSensorTest.java
@Test public void should_parse() { Rule rule = Rule.create();//w w w.j a va2 s .co m rule.setRepositoryKey("repoKey"); rule.setKey("ruleKey"); when(ruleFinder.find(any(RuleQuery.class))).thenReturn(rule); FileSystem fileSystem = mock(FileSystem.class); when(fileSystem.predicates()).thenReturn(mock(FilePredicates.class)); when(fileSystem.inputFile(any(FilePredicate.class))).thenReturn(mock(InputFile.class)); File report = FileUtils.toFile(getClass().getResource("parsing/sample.xml")); when(settings.getString(GroovyPlugin.CODENARC_REPORT_PATH)).thenReturn(report.getAbsolutePath()); sensor = new CodeNarcSensor(settings, perspectives, moduleFileSystem, fileSystem, profile, ruleFinder); sensor.analyse(project, context); verify(issuable, atLeastOnce()).addIssue(any(Issue.class)); }
From source file:org.sonar.plugins.groovy.codenarc.CodeNarcSensorTest.java
@Test public void should_parse_but_not_add_issue_if_rule_not_found() { when(ruleFinder.find(any(RuleQuery.class))).thenReturn(null); File report = FileUtils.toFile(getClass().getResource("parsing/sample.xml")); when(settings.getString(GroovyPlugin.CODENARC_REPORT_PATH)).thenReturn(report.getAbsolutePath()); sensor.analyse(project, context);//from w w w . j a v a 2 s . co m verify(issuable, never()).addIssue(any(Issue.class)); }
From source file:org.sonar.plugins.groovy.codenarc.CodeNarcSensorTest.java
@Test public void should_parse_but_not_add_issue_if_inputFile_not_found() { when(ruleFinder.find(any(RuleQuery.class))).thenReturn(Rule.create()); File report = FileUtils.toFile(getClass().getResource("parsing/sample.xml")); when(settings.getString(GroovyPlugin.CODENARC_REPORT_PATH)).thenReturn(report.getAbsolutePath()); sensor.analyse(project, context);/*from www . j a v a 2 s. com*/ verify(issuable, never()).addIssue(any(Issue.class)); }