summaryrefslogtreecommitdiff
path: root/cpp/bindings/qmf/tests/python_console.py
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-08-24 15:55:14 +0000
committerTed Ross <tross@apache.org>2009-08-24 15:55:14 +0000
commit66e450e61e2e6fc4b31126ddd21d1778550470ca (patch)
treef262b37a8fc4b3d9ce6d3f029bb19bc9b1c03535 /cpp/bindings/qmf/tests/python_console.py
parentd2b870c0bb6f1b048d1cdf6911f9b23a0153a634 (diff)
downloadqpid-python-66e450e61e2e6fc4b31126ddd21d1778550470ca.tar.gz
Added QMF tests for method invocation and numeric types.
Improved the swig typemaps to handle different numeric cases. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@807288 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings/qmf/tests/python_console.py')
-rwxr-xr-xcpp/bindings/qmf/tests/python_console.py87
1 files changed, 84 insertions, 3 deletions
diff --git a/cpp/bindings/qmf/tests/python_console.py b/cpp/bindings/qmf/tests/python_console.py
index 7a8a2cb9fe..365f2ac33a 100755
--- a/cpp/bindings/qmf/tests/python_console.py
+++ b/cpp/bindings/qmf/tests/python_console.py
@@ -36,16 +36,97 @@ class QmfInteropTests(TestBase010):
agents = qmf.getObjects(_class="agent")
sleep(1)
count += 1
- if count > 5:
+ if count > 10:
self.fail("Timed out waiting for remote agent")
- def test_B_basic_types(self):
+ def test_B_basic_method_invocation(self):
self.startQmf();
qmf = self.qmf
parents = qmf.getObjects(_class="parent")
self.assertEqual(len(parents), 1)
- self.assertEqual(parents[0].uint32val, 0xA5A5A5A5)
+ parent = parents[0]
+ for seq in range(10):
+ result = parent.echo(seq)
+ self.assertEqual(result.status, 0)
+ self.assertEqual(result.text, "OK")
+ self.assertEqual(result.sequence, seq)
+
+ result = parent.set_numerics("bogus")
+ self.assertEqual(result.status, 1)
+ self.assertEqual(result.text, "Invalid argument value for test")
+
+ def test_C_basic_types_numeric_big(self):
+ self.startQmf();
+ qmf = self.qmf
+
+ parents = qmf.getObjects(_class="parent")
+ self.assertEqual(len(parents), 1)
+ parent = parents[0]
+
+ result = parent.set_numerics("big")
+ self.assertEqual(result.status, 0)
+ self.assertEqual(result.text, "OK")
+
+ parent.update()
+
+ self.assertEqual(parent.uint64val, 0x9494949449494949)
+ self.assertEqual(parent.uint32val, 0xA5A55A5A)
+ self.assertEqual(parent.uint16val, 0xB66B)
+ self.assertEqual(parent.uint8val, 0xC7)
+
+ self.assertEqual(parent.int64val, 1000000000000000000)
+ self.assertEqual(parent.int32val, 1000000000)
+ self.assertEqual(parent.int16val, 10000)
+ self.assertEqual(parent.int8val, 100)
+
+ def test_C_basic_types_numeric_small(self):
+ self.startQmf();
+ qmf = self.qmf
+
+ parents = qmf.getObjects(_class="parent")
+ self.assertEqual(len(parents), 1)
+ parent = parents[0]
+
+ result = parent.set_numerics("small")
+ self.assertEqual(result.status, 0)
+ self.assertEqual(result.text, "OK")
+
+ parent.update()
+
+ self.assertEqual(parent.uint64val, 4)
+ self.assertEqual(parent.uint32val, 5)
+ self.assertEqual(parent.uint16val, 6)
+ self.assertEqual(parent.uint8val, 7)
+
+ self.assertEqual(parent.int64val, 8)
+ self.assertEqual(parent.int32val, 9)
+ self.assertEqual(parent.int16val, 10)
+ self.assertEqual(parent.int8val, 11)
+
+ def test_C_basic_types_numeric_negative(self):
+ self.startQmf();
+ qmf = self.qmf
+
+ parents = qmf.getObjects(_class="parent")
+ self.assertEqual(len(parents), 1)
+ parent = parents[0]
+
+ result = parent.set_numerics("negative")
+ self.assertEqual(result.status, 0)
+ self.assertEqual(result.text, "OK")
+
+ parent.update()
+
+ self.assertEqual(parent.uint64val, 0)
+ self.assertEqual(parent.uint32val, 0)
+ self.assertEqual(parent.uint16val, 0)
+ self.assertEqual(parent.uint8val, 0)
+
+ self.assertEqual(parent.int64val, -10000000000)
+ self.assertEqual(parent.int32val, -100000)
+ self.assertEqual(parent.int16val, -1000)
+ self.assertEqual(parent.int8val, -100)
def getProperty(self, msg, name):
for h in msg.headers: