Sean Busbey created HBASE-19020:
-----------------------------------

             Summary: TestXmlParsing exception checking relies on a particular 
xml implementation without declaring it.
                 Key: HBASE-19020
                 URL: https://issues.apache.org/jira/browse/HBASE-19020
             Project: HBase
          Issue Type: Bug
          Components: dependencies, REST
    Affects Versions: 2.0.0-alpha-1, 1.1.9, 1.2.5, 1.3.0, 1.4.0
            Reporter: Sean Busbey
            Assignee: Sean Busbey
             Fix For: 1.4.0, 1.3.2, 1.5.0, 1.2.7, 2.0.0-beta-1, 1.1.13


The test added in HBASE-17424 is overly specific:

{code}
  @Test
  public void testFailOnExternalEntities() throws Exception {
    final String externalEntitiesXml =
        "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
        + " <!DOCTYPE foo [ <!ENTITY xxe SYSTEM \"/tmp/foo\"> ] >"
        + " <ClusterVersion>&xee;</ClusterVersion>";
    Client client = mock(Client.class);
    RemoteAdmin admin = new RemoteAdmin(client, HBaseConfiguration.create(), 
null);
    Response resp = new Response(200, null, externalEntitiesXml.getBytes());

    when(client.get("/version/cluster", 
Constants.MIMETYPE_XML)).thenReturn(resp);

    try {
      admin.getClusterVersion();
      fail("Expected getClusterVersion() to throw an exception");
    } catch (IOException e) {
      final String exceptionText = StringUtils.stringifyException(e);
      final String expectedText = "The entity \"xee\" was referenced, but not 
declared.";
      LOG.error("exception text: " + exceptionText, e);
      assertTrue("Exception does not contain expected text", 
exceptionText.contains(expectedText));
    }
  }
{code}

Specifically, when running against Hadoop 3.0.0-beta1 this test fails because 
the exception text is different, though I'm still figuring out why.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to