summaryrefslogtreecommitdiff
path: root/cpp/bindings/qmf/tests/python_console.py
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-08-11 15:27:08 +0000
committerTed Ross <tross@apache.org>2009-08-11 15:27:08 +0000
commite9256dc65a9f9a05e0f802039a6569f8f6824930 (patch)
tree363ed5b1271af49faae9fd5a6c2ecc1325c304f3 /cpp/bindings/qmf/tests/python_console.py
parentba9a0311f80e2d65711f490534a2a3d1854637ee (diff)
downloadqpid-python-e9256dc65a9f9a05e0f802039a6569f8f6824930.tar.gz
Cleaned up the makefiles in the QMF bindings area.
Added tests for the QMF bindings. Removed spurious "cout" prints from qmf/Agent.cpp git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@803156 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings/qmf/tests/python_console.py')
-rwxr-xr-xcpp/bindings/qmf/tests/python_console.py83
1 files changed, 83 insertions, 0 deletions
diff --git a/cpp/bindings/qmf/tests/python_console.py b/cpp/bindings/qmf/tests/python_console.py
new file mode 100755
index 0000000000..3add79bc51
--- /dev/null
+++ b/cpp/bindings/qmf/tests/python_console.py
@@ -0,0 +1,83 @@
+#!/usr/bin/env python
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+import sys
+from qpid.testlib import TestBase010, testrunner
+from qpid.datatypes import Message
+from qpid.queue import Empty
+from time import sleep
+
+def scan_args(name, default=None, args=sys.argv[1:]):
+ if (name in args):
+ pos = args.index(name)
+ return args[pos + 1]
+ elif default:
+ return default
+ else:
+ print "Please specify extra argument: %s" % name
+ sys.exit(2)
+
+def extract_args(name, args):
+ if (name in args):
+ pos = args.index(name)
+ del args[pos:pos+2]
+ else:
+ return None
+
+class QmfInteropTests(TestBase010):
+
+ def test_A_agent_presence(self):
+ self.startQmf();
+ qmf = self.qmf
+
+ agents = []
+ count = 0
+ while len(agents) == 0:
+ agents = qmf.getObjects(_class="agent")
+ sleep(1)
+ count += 1
+ if count > 5:
+ self.fail("Timed out waiting for remote agent")
+
+ def test_B_basic_types(self):
+ self.startQmf();
+ qmf = self.qmf
+
+ parents = qmf.getObjects(_class="parent")
+ self.assertEqual(len(parents), 1)
+ self.assertEqual(parents[0].uint32val, 0xA5A5A5A5)
+
+ def getProperty(self, msg, name):
+ for h in msg.headers:
+ if hasattr(h, name): return getattr(h, name)
+ return None
+
+ def getAppHeader(self, msg, name):
+ headers = self.getProperty(msg, "application_headers")
+ if headers:
+ return headers[name]
+ return None
+
+
+if __name__ == '__main__':
+ args = sys.argv[1:]
+ args.append("python_console")
+
+ if not testrunner.run(args): sys.exit(1)