Beispiel #1
0
  @Test
  public void testHintHandler() throws Exception {
    File fXmlFile = new File(HINT_XML_FILE);
    RuleLoaderContext loaderContext =
        new RuleLoaderContext(Collections.singleton(fXmlFile.toPath()), null);
    ParserContext parser = new ParserContext(furnace, loaderContext);
    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    dbFactory.setNamespaceAware(true);
    DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
    Document doc = dBuilder.parse(fXmlFile);
    List<Element> hintList = $(doc).children("hint").get();

    Assert.assertEquals(3, hintList.size());

    Element firstHint = hintList.get(0);
    Hint hint = parser.processElement(firstHint);
    Assert.assertEquals("testVariable", hint.getVariableName());
    Assert.assertEquals(5, hint.getEffort());
    Assert.assertNull(IssueCategoryRegistry.OPTIONAL, hint.getIssueCategory());
    Assert.assertEquals("test message", hint.getHintText().toString());
    Assert.assertEquals(1, hint.getLinks().size());
    List<Link> links = hint.getLinks();
    Assert.assertEquals("someUrl", links.get(0).getLink());
    Assert.assertEquals("someDescription", links.get(0).getTitle());

    Element secondHint = hintList.get(1);
    hint = parser.processElement(secondHint);
    Assert.assertEquals(null, hint.getVariableName());
    Assert.assertEquals(0, hint.getEffort());
    Assert.assertEquals(IssueCategoryRegistry.MANDATORY, hint.getIssueCategory().getCategoryID());
    Assert.assertEquals("test-message", hint.getHintText().toString());
    Assert.assertEquals(3, hint.getLinks().size());
    links = hint.getLinks();
    Assert.assertEquals("url1", links.get(0).getLink());
    Assert.assertEquals("url2", links.get(1).getLink());
    Assert.assertEquals("url3", links.get(2).getLink());
    Assert.assertEquals("description1", links.get(0).getTitle());
    Assert.assertEquals("description2", links.get(1).getTitle());
    Assert.assertEquals("description3", links.get(2).getTitle());

    Set<String> tags = hint.getTags();
    Assert.assertTrue(tags.contains("java-ee-6"));
    Assert.assertTrue(tags.contains("jpa-2"));
    Assert.assertTrue(tags.contains("jpa"));
    Assert.assertFalse(tags.contains("foo"));
  }