ODE
  1. ODE
  2. ODE-499

Extend + improve ODE JBI testing

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.3.2
    • Fix Version/s: 1.3.3, 2.0
    • Component/s: JBI Integration
    • Labels:
      None

      Description

      It's waiting for commit

      1. jbi-tests.diff
        81 kB
        Rafal Rusin
      2. no-flush-before-queries.diff
        0.7 kB
        Rafal Rusin

        Activity

        Hide
        Rafal Rusin added a comment -
        • copied HelloWorld process to test resources inside jbi directory; now OdeJbiComponentLifeCycleTest uses it istead of distro/jbi/examples one
        • created HelloWorld http soap JBI test case using servicemix-http component connected to ODE inside xml-described smx container (similar to servicemix internal tests)
        • upgraded servicemix deps from 3.1-incubating to 3.2.3
        • extended servicemix dependencies with servicemix-http component deps
        • upgraded spring framework deps to 2.5.6 (those are used by dao-hibernate tests, which I rerun with success)
        • upgraded xbean to 3.3 and 3.4.3 (those are used only by ODE JBI)
        Show
        Rafal Rusin added a comment - copied HelloWorld process to test resources inside jbi directory; now OdeJbiComponentLifeCycleTest uses it istead of distro/jbi/examples one created HelloWorld http soap JBI test case using servicemix-http component connected to ODE inside xml-described smx container (similar to servicemix internal tests) upgraded servicemix deps from 3.1-incubating to 3.2.3 extended servicemix dependencies with servicemix-http component deps upgraded spring framework deps to 2.5.6 (those are used by dao-hibernate tests, which I rerun with success) upgraded xbean to 3.3 and 3.4.3 (those are used only by ODE JBI)
        Hide
        Rafal Rusin added a comment -

        I added a test (InvokeExternal) for a following scenario:
        HTTP <> ODE1 <> EIP <-> ODE2

        It didn't work on trunk version. After doing INVOKE in ODE1, OdeConsumer reply in JBI used not implemented method _ode._server.getMessageExchangeByForeignKey.
        I fixed it by setting an Object property on JBI MEX for storing ode's PartnerRoleMessageExchange object.
        It works now.

        Show
        Rafal Rusin added a comment - I added a test (InvokeExternal) for a following scenario: HTTP < > ODE1 < > EIP <-> ODE2 It didn't work on trunk version. After doing INVOKE in ODE1, OdeConsumer reply in JBI used not implemented method _ode._server.getMessageExchangeByForeignKey. I fixed it by setting an Object property on JBI MEX for storing ode's PartnerRoleMessageExchange object. It works now.
        Hide
        Rafal Rusin added a comment -

        I added InvokeExternalParallel test for testing concurrent invocations.
        I found that removing flushbeforequeries=false JPA option from dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionFactoryImpl.java makes this test pass. It also passes on hibernate DAO without any patches.

        Show
        Rafal Rusin added a comment - I added InvokeExternalParallel test for testing concurrent invocations. I found that removing flushbeforequeries=false JPA option from dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionFactoryImpl.java makes this test pass. It also passes on hibernate DAO without any patches.
        Hide
        Rafal Rusin added a comment -

        I work on a following (hudson stable) revision:

        URL: http://svn.apache.org/repos/asf/ode/trunk
        Repository Root: http://svn.apache.org/repos/asf
        Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68
        Revision: 732587

        If you want to try diffs from attachments, you can use this revision.

        Show
        Rafal Rusin added a comment - I work on a following (hudson stable) revision: URL: http://svn.apache.org/repos/asf/ode/trunk Repository Root: http://svn.apache.org/repos/asf Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68 Revision: 732587 If you want to try diffs from attachments, you can use this revision.
        Hide
        Rafal Rusin added a comment -

        I decided to move to ode1x branch with my contributions, because trunk is too unstable for now.

        I added a test case for FlushBeforeQueries=false, wchich consists of 50 invokes to external JBI endpoint. It fails before and passes after applying patch.
        I rerun successfully all tests on ode1x branch to make sure there's no regression after those 2 patches, so you can commit them.

        jbi-tests.diff also contains improvement that there's no more reference to jbi-examples.

        I worked on revision 738300 (24th jan).

        Show
        Rafal Rusin added a comment - I decided to move to ode1x branch with my contributions, because trunk is too unstable for now. I added a test case for FlushBeforeQueries=false, wchich consists of 50 invokes to external JBI endpoint. It fails before and passes after applying patch. I rerun successfully all tests on ode1x branch to make sure there's no regression after those 2 patches, so you can commit them. jbi-tests.diff also contains improvement that there's no more reference to jbi-examples. I worked on revision 738300 (24th jan).
        Hide
        Rafal Rusin added a comment -

        I simplified previous patch and added a framework for integrated JBI-ODE tests similar to axis-war. It's also based on test.properties.
        I added a HelloWorldJbiTest exposed via servicemix-http.

        This framework allows providing custom smx configurations in smx.xml for each test.

        Show
        Rafal Rusin added a comment - I simplified previous patch and added a framework for integrated JBI-ODE tests similar to axis-war. It's also based on test.properties. I added a HelloWorldJbiTest exposed via servicemix-http. This framework allows providing custom smx configurations in smx.xml for each test.
        Hide
        Rafal Rusin added a comment -

        For those of you guys developing in maven2, I created an external example project for BPEL Unit Testing using embedded SMX container.
        Details are here: http://top.touk.pl/confluence/display/top/BPEL+Unit+Tests+in+Maven2

        Show
        Rafal Rusin added a comment - For those of you guys developing in maven2, I created an external example project for BPEL Unit Testing using embedded SMX container. Details are here: http://top.touk.pl/confluence/display/top/BPEL+Unit+Tests+in+Maven2

          People

          • Assignee:
            Unassigned
            Reporter:
            Rafal Rusin
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development