Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SoapUI Test runner does not respect importer conventions #1663

@lbroudoux

Description

@lbroudoux

Describe the bug

When launching a SOAPUI test that check SoapUI assertions for a test case, the test runner fails badly parsing the SoapUI project and trying to extract the assertions to check. It appears that the test runner does not satiisfy all the naming conventions from the importer and fails retrieving the test request associated to a mock.

Expected behavior

According the SoapUI importer conventions:

  • when having a request named Sample, we may have a response named Sample or Sample Response.
  • when having the request named Sample Request, we should also accept Sample or Sample Response.

The test runner fails when the response has a composite name (Sample Response) but the request is simple (Sample).

We must check and respect the same conventions than the importer.

Actual behavior

Here's the stack trace on Microcks server side:

16:14:30.364 DEBUG 33031 --- [    task-1] i.g.m.util.test.HttpTestRunner           : Launching test run on http://localhost:5041 for 1 request(s)
16:14:30.368 DEBUG 33031 --- [    task-1] i.g.m.util.test.HttpTestRunner           : Adding header SOAPAction to request
16:14:30.368 DEBUG 33031 --- [    task-1] i.g.m.util.test.HttpTestRunner           : Adding header content-type to request
16:14:30.368 DEBUG 33031 --- [    task-1] i.g.m.util.test.HttpTestRunner           : Adding header authorization to request
Found 1 testConfigRequests for operation RetrieveInfo
testConfigRequests keys: [RetrieveInfo ]
Found testRequest null for request RetrieveInfo
16:14:30.405 ERROR 33031 --- [    task-1] i.g.m.service.TestRunnerService          : Throwable while testing operation RetrieveInfo

java.lang.NullPointerException: Cannot invoke "org.w3c.dom.Element.getChildNodes()" because "parent" is null
        at io.github.microcks.util.XmlUtil.getDirectChildren(XmlUtil.java:49)
        at io.github.microcks.util.soapui.SoapUIProjectParserUtils.getConfigDirectChildren(SoapUIProjectParserUtils.java:40)
        at io.github.microcks.util.soapui.SoapUIAssertionsTestRunner.extractTestReturnCode(SoapUIAssertionsTestRunner.java:148)
        at io.github.microcks.util.test.HttpTestRunner.runTest(HttpTestRunner.java:146)
        at io.github.microcks.util.test.HttpTestRunner.runTest(HttpTestRunner.java:58)
        at io.github.microcks.service.TestRunnerService.launchTestsInternal(TestRunnerService.java:211)

How to Reproduce?

No response

Microcks version or git rev

All

Install method (docker-compose, helm chart, operator, docker-desktop extension,...)

All

Additional information

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions