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)