← Prev in month ← Prev in thread
Next in thread → Next in month →

Possible new testcase for BJM60009

From
Simon Holdsworth <>
Date
2011-05-26T14:20:59+00:00
ID
Thread
Possible new testcase for BJM60009
Folks,

This is the new test assertion for BJM60009
given the resolution of issue BINDINGS-157:

Assertion ID
BJM-TA-60009

Source
[BJM60009]

Target
SCA runtime

Prerequisites
<service> element with <binding.jms>
child with either no <response> child, or a <response> child
with no <destination> child

Request message received as part of a request/response
MEP with null JMSReplyTo destination

Predicate
The request is not processed and an error
is raised

Prescription Level
Mandatory

Tags
JMSReplyTo service response destination

Comment
Untested

Given all the rest of the JMS test cases
which are not tested have a justification, I can't see a justification
for omitting this testcase, so I feel we really ought to try to create
a test for this.  Having said that I cannot think of a way that we
can test this without at least some built-in assumptions about message
ordering.  Otherwise the test needs to detect the absence of processing,
which is likely to be unreliable (e.g. wait 1 minute to see that nothing
happens, and if so assume that processing has terminated).

I was thinking the test would be along
the following lines:

Composite with service with JMS binding.

Interface with a request/response operation
and a string parameter.

Component implementation which prints
out the string parameter value to standard output.

JMS test client sends 3 messages to
the destination configured on the JMS binding.  These messages are
mapped by the operation selector to the request/response operation, with
the string parameter set to "message1", "message2",
"message3".  The test client sends three messages; the second
message has null JMSReplyTo; the client waits for the response from the
1st message before sending the second, and waits for the response to the
third message before completing.   The test verifies that the component
prints out "message1" and "message3".  This assumes
that message ordering is maintained between the JMS client and the component
implementation.  If its not possible to record the output of the component
some other way to verify that the 1st and 3rd invocation worked and the
second failed would be needed.

An alternative approach would be for
the component implementation to have a reference to a web service.  The
test would check that this web service is called for request/reply messages
with a JMSreplyTo and not for ones with no JMSreplyTo.

Any comments?

Regards, Simon

Unless stated otherwise above:

IBM United Kingdom Limited - Registered in England and Wales with number
741598. 

Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU
← Prev in month ← Prev in thread
Next in thread → Next in month →