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 | f2db05538933b31cd81bbf6021760de28f4ecea8 (patch) | |
| tree | ae3b7476d067b392878e02f2159290f31eaa76c6 /qpid/cpp/bindings/qmf/tests/python_console.py | |
| parent | e211cfe033e2c6653b30f3f485cc0084063bfb2a (diff) | |
| download | qpid-python-f2db05538933b31cd81bbf6021760de28f4ecea8.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@803156 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/bindings/qmf/tests/python_console.py')
| -rwxr-xr-x | qpid/cpp/bindings/qmf/tests/python_console.py | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/qpid/cpp/bindings/qmf/tests/python_console.py b/qpid/cpp/bindings/qmf/tests/python_console.py new file mode 100755 index 0000000000..3add79bc51 --- /dev/null +++ b/qpid/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) |
