From 01bedac132e4333dabfe6f39448f8bc6ac5f0408 Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Tue, 28 Nov 2006 16:26:40 +0000 Subject: QPID-122 Pulled _readable (_readableMessage) boolean up to AbstractJMSMessage.java and created (_readableProperties). Checks are now carried out to ensure that the message is readable/writable for the operation so that the correct exception can be thrown. As per the spec. clearBody() method had been implemented in AbstractJMSMessage.java to reset the _readableMessage as a result implementations must now implement clearBodyImpl() which is called before the _readableMessage is reset. Test updated to check that properties and body are correctly read/write set. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@480119 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/test/unit/basic/BytesMessageTest.java | 37 +++++++++++++++ .../qpid/test/unit/basic/MapMessageTest.java | 50 +++++++++++++++++---- .../qpid/test/unit/basic/ObjectMessageTest.java | 52 ++++++++++++++++++---- .../qpid/test/unit/basic/TextMessageTest.java | 52 ++++++++++++++++++---- 4 files changed, 164 insertions(+), 27 deletions(-) (limited to 'java/client/src/test') diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/BytesMessageTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/BytesMessageTest.java index 4d37c5d2a6..2983a16e6d 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/BytesMessageTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/BytesMessageTest.java @@ -135,6 +135,8 @@ public class BytesMessageTest extends TestCase implements MessageListener buffer.get(data); actual.add(data); + + //Check Body Write Status try { m.writeBoolean(true); @@ -144,6 +146,41 @@ public class BytesMessageTest extends TestCase implements MessageListener { //normal execution } + + m.clearBody(); + + try + { + m.writeBoolean(true); + } + catch (MessageNotWriteableException mnwe) + { + Assert.fail("Message should be writeable"); + } + + + //Check property write status + try + { + m.setStringProperty("test", "test"); + Assert.fail("Message should not be writeable"); + } + catch (MessageNotWriteableException mnwe) + { + //normal execution + } + + m.clearProperties(); + + try + { + m.setStringProperty("test", "test"); + } + catch (MessageNotWriteableException mnwe) + { + Assert.fail("Message should be writeable"); + } + } assertEqual(messages.iterator(), actual.iterator()); diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/MapMessageTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/MapMessageTest.java index f25d2887ae..a685e75a29 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/MapMessageTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/MapMessageTest.java @@ -132,16 +132,48 @@ public class MapMessageTest extends TestCase implements MessageListener assertEqual(m.getInt("messageNumber"), count); assertEqual(m.getBoolean("odd"), count / 2 == 0); -// try -// { -// m.setInt("testint", 3); -// fail("Message should not be writeable"); -// } -// catch (MessageNotWriteableException mnwe) -// { -// //normal execution -// } + try + { + m.setInt("testint", 3); + fail("Message should not be writeable"); + } + catch (MessageNotWriteableException mnwe) + { + //normal execution + } + + m.clearBody(); + + try + { + m.setInt("testint", 3); + } + catch (MessageNotWriteableException mnwe) + { + Assert.fail("Message should be writeable"); + } + //Check property write status + try + { + m.setStringProperty("test", "test"); + Assert.fail("Message should not be writeable"); + } + catch (MessageNotWriteableException mnwe) + { + //normal execution + } + + m.clearProperties(); + + try + { + m.setStringProperty("test", "test"); + } + catch (MessageNotWriteableException mnwe) + { + Assert.fail("Message should be writeable"); + } count++; } diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java index dfb1b26454..e7d7159bd8 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/ObjectMessageTest.java @@ -125,19 +125,53 @@ public class ObjectMessageTest extends TestCase implements MessageListener { actual.add(m.getObject()); -// try -// { -// m.setObject("Test text"); -// Assert.fail("Message should not be writeable"); -// } -// catch (MessageNotWriteableException mnwe) -// { -// //normal execution -// } + try + { + m.setObject("Test text"); + Assert.fail("Message should not be writeable"); + } + catch (MessageNotWriteableException mnwe) + { + //normal execution + } + + m.clearBody(); + + try + { + m.setObject("Test text"); + } + catch (MessageNotWriteableException mnwe) + { + Assert.fail("Message should be writeable"); + } + + //Check property write status + try + { + m.setStringProperty("test", "test"); + Assert.fail("Message should not be writeable"); + } + catch (MessageNotWriteableException mnwe) + { + //normal execution + } + + m.clearProperties(); + + try + { + m.setStringProperty("test", "test"); + } + catch (MessageNotWriteableException mnwe) + { + Assert.fail("Message should be writeable"); + } } assertEqual(messages.iterator(), actual.iterator()); + } private static void assertEqual(Iterator expected, Iterator actual) diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/basic/TextMessageTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/basic/TextMessageTest.java index 04a9185fa6..dfbec81549 100644 --- a/java/client/src/test/java/org/apache/qpid/test/unit/basic/TextMessageTest.java +++ b/java/client/src/test/java/org/apache/qpid/test/unit/basic/TextMessageTest.java @@ -122,15 +122,49 @@ public class TextMessageTest extends TestCase implements MessageListener { actual.add(m.getText()); -// try -// { -// m.setText("Test text"); -// Assert.fail("Message should not be writeable"); -// } -// catch (MessageNotWriteableException mnwe) -// { -// //normal execution -// } + //Check body write status + try + { + m.setText("Test text"); + Assert.fail("Message should not be writeable"); + } + catch (MessageNotWriteableException mnwe) + { + //normal execution + } + + m.clearBody(); + + try + { + m.setText("Test text"); + } + catch (MessageNotWriteableException mnwe) + { + Assert.fail("Message should be writeable"); + } + + //Check property write status + try + { + m.setStringProperty("test", "test"); + Assert.fail("Message should not be writeable"); + } + catch (MessageNotWriteableException mnwe) + { + //normal execution + } + + m.clearProperties(); + + try + { + m.setStringProperty("test", "test"); + } + catch (MessageNotWriteableException mnwe) + { + Assert.fail("Message should be writeable"); + } } -- cgit v1.2.1