Example usage for org.apache.commons.io FileUtils toFile

List of usage examples for org.apache.commons.io FileUtils toFile

Introduction

In this page you can find the example usage for org.apache.commons.io FileUtils toFile.

Prototype

public static File toFile(URL url) 

Source Link

Document

Convert from a URL to a File.

Usage

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));
}