diff options
author | Ted Ross <tross@apache.org> | 2009-08-11 15:27:08 +0000 |
---|---|---|
committer | Ted Ross <tross@apache.org> | 2009-08-11 15:27:08 +0000 |
commit | e9256dc65a9f9a05e0f802039a6569f8f6824930 (patch) | |
tree | 363ed5b1271af49faae9fd5a6c2ecc1325c304f3 /cpp/bindings/qmf/tests/python_console.py | |
parent | ba9a0311f80e2d65711f490534a2a3d1854637ee (diff) | |
download | qpid-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-x | cpp/bindings/qmf/tests/python_console.py | 83 |
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) |