You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Christopher L. Shannon (Jira)" <ji...@apache.org> on 2023/12/12 13:41:00 UTC

[jira] [Created] (OPENWIRE-73) Add tests for all commands to verify universal marshaller byte equivalency with all versions

Christopher L. Shannon created OPENWIRE-73:
----------------------------------------------

             Summary: Add tests for all commands to verify universal marshaller byte equivalency with all versions
                 Key: OPENWIRE-73
                 URL: https://issues.apache.org/jira/browse/OPENWIRE-73
             Project: ActiveMQ OpenWire
          Issue Type: Task
            Reporter: Christopher L. Shannon
             Fix For: 1.0.0


Right now the OpenWire interop tests try and check that the new commands and marshallers produce the same bytes as the existing marshallers that are in activemq-client and currently used. This is done indirectly by using the new marshallers to send commands to an embedded broker which reads them. This works but it doesn't cover all cases and requires running a broker.

Instead, a better approach would be to simply check the resulting bytes produced are exactly equivalent and just test the different marshallers without a broker. We should create tests for every single OpenWire command and version that will check that the marshalled bytes are exactly equivalent as the existing verison in use today with activemq-client. In theory these tests could be generated automatically so we can explore that but we may not need to as we really only need to create the tests once for the legacy versions today because going forward with the universal marshaller being used there won't be any new legacy versions and we will keep the new tests up to date.

Also note that this project includes a legacy module with copies of the legacy marshallers but still a bit refactored and repackaged. So we should likely run the tests to verify the universal marshaller output matches both the re-packaged legacy module as well as the legacy marshallers that are packaged currently with activemq-client. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)