Version 5 vs. Version 6 error handling difference

In the flowable5-test module there is a test file, org.activiti.engine.test.api.repository.DeployInvalidXmlTest, that has a test method, testExternalEntityResolvingTest(). [Last test method in the file.]

There is a corresponding version of the same test in flowable-engine module in the file, org.flowable.engine.test.api.repository.DeployInvalidXmlTest.

The two test methods are the same except for the addition of one extra method call in the version 5 code:

 .deploymentProperty(DeploymentProperties.DEPLOY_AS_FLOWABLE5_PROCESS_DEFINITION, Boolean.TRUE)

The BPMN xml file in both cases is identical.

But when I run the version 5 code (on Windows) it complains about not finding the file /etc/passwd (which is part of the BPMN xml file):

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE definitions[<!ENTITY foo SYSTEM "file:///etc/passwd">]>

When I run it in version 6 (again on Windows) no such error appears.

If I change the version 5 BPMN file to something more Windows friendly:

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE definitions[<!ENTITY foo SYSTEM "file:///c:">]>

The error does not appear.

I know this is minor but I can’t seem to find the root cause for the difference.

Any ideas?

I think it’s actually trying to load that file and on mac that passwd file exists and not on Windows.
So it’s not a cross platform unit test, and it also doesn’t make a lot of sense. Maybe we should remove it.

Best regards,

Tijs

Tijs,

I would agree that it is trying to load the file but I was stymied why the “flowable-5” version fails and the “flowable” (version 6) works given that the BPMN file is exactly the same. I would have expected them both to fail in the same way.

Cheers,
David

Hi David,

That’s indeed strange, and can’t explain that either without deep diving into it.

Best regards,

Tijs