diff options
Diffstat (limited to 'qpid/python/qmf2/tests')
| -rw-r--r-- | qpid/python/qmf2/tests/basic_method.py | 50 | ||||
| -rw-r--r-- | qpid/python/qmf2/tests/basic_query.py | 5 | ||||
| -rw-r--r-- | qpid/python/qmf2/tests/events.py | 2 | ||||
| -rw-r--r-- | qpid/python/qmf2/tests/obj_gets.py | 102 |
4 files changed, 126 insertions, 33 deletions
diff --git a/qpid/python/qmf2/tests/basic_method.py b/qpid/python/qmf2/tests/basic_method.py index 745fa5d83c..be2bdff9ab 100644 --- a/qpid/python/qmf2/tests/basic_method.py +++ b/qpid/python/qmf2/tests/basic_method.py @@ -84,9 +84,8 @@ class _agentApp(Thread): # instantiate managed data objects matching the schema - _obj1 = QmfAgentData( self.agent, _schema=_schema ) - _obj1.set_value("index1", 100) - _obj1.set_value("index2", "a name" ) + _obj1 = QmfAgentData( self.agent, _schema=_schema, + _values={"index1":100, "index2":"a name"}) _obj1.set_value("set_string", "UNSET") _obj1.set_value("set_int", 0) _obj1.set_value("query_count", 0) @@ -153,7 +152,8 @@ class _agentApp(Thread): if obj is None: error_info = QmfData.create({"code": -2, "description": - "Bad Object Id."}) + "Bad Object Id."}, + _object_id="_error") self.agent.method_response(wi.get_handle(), _error=error_info) else: @@ -170,13 +170,15 @@ class _agentApp(Thread): if obj is None: error_info = QmfData.create({"code": -3, "description": - "Unknown object id."}) + "Unknown object id."}, + _object_id="_error") self.agent.method_response(wi.get_handle(), _error=error_info) elif obj.get_object_id() != "01545": - error_info = QmfData.create({"code": -4, - "description": - "Unexpected id."}) + error_info = QmfData.create( {"code": -4, + "description": + "Unexpected id."}, + _object_id="_error") self.agent.method_response(wi.get_handle(), _error=error_info) else: @@ -187,15 +189,18 @@ class _agentApp(Thread): self.agent.method_response(wi.get_handle(), {"code" : 0}) else: - error_info = QmfData.create({"code": -5, - "description": - "Bad Args."}) + error_info = QmfData.create( + {"code": -5, + "description": + "Bad Args."}, + _object_id="_error") self.agent.method_response(wi.get_handle(), _error=error_info) else: - error_info = QmfData.create({"code": -1, + error_info = QmfData.create( {"code": -1, "description": - "Unknown method call."}) + "Unknown method call."}, + _object_id="_error") self.agent.method_response(wi.get_handle(), _error=error_info) self.agent.release_workitem(wi) @@ -284,7 +289,7 @@ class BaseTest(unittest.TestCase): # find agents # synchronous query for all objects with schema # invalid method call on each object - # - should throw a ValueError + # - should throw a ValueError - NOT YET. self.notifier = _testNotifier() self.console = qmf2.console.Console(notifier=self.notifier, agent_timeout=3) @@ -313,11 +318,18 @@ class BaseTest(unittest.TestCase): obj_list = self.console.do_query(agent, query) self.assertTrue(len(obj_list) == 2) for obj in obj_list: - self.failUnlessRaises(ValueError, - obj.invoke_method, - "unknown_meth", - {"arg1": -99, "arg2": "Now set!"}, - _timeout=3) + mr = obj.invoke_method("unknown_method", + {"arg1": -99, "arg2": "Now set!"}, + _timeout=3) + # self.failUnlessRaises(ValueError, + # obj.invoke_method, + # "unknown_meth", + # {"arg1": -99, "arg2": "Now set!"}, + # _timeout=3) + self.assertTrue(isinstance(mr, qmf2.console.MethodResult)) + self.assertFalse(mr.succeeded()) + self.assertTrue(isinstance(mr.get_exception(), QmfData)) + self.console.destroy(10) def test_bad_method_no_schema(self): diff --git a/qpid/python/qmf2/tests/basic_query.py b/qpid/python/qmf2/tests/basic_query.py index 0f45348d9f..dd321cb4bb 100644 --- a/qpid/python/qmf2/tests/basic_query.py +++ b/qpid/python/qmf2/tests/basic_query.py @@ -84,9 +84,8 @@ class _agentApp(Thread): # instantiate managed data objects matching the schema - _obj1 = QmfAgentData( self.agent, _schema=_schema ) - _obj1.set_value("index1", 100) - _obj1.set_value("index2", "a name" ) + _obj1 = QmfAgentData( self.agent, _schema=_schema, + _values={"index1":100, "index2":"a name"}) _obj1.set_value("set_string", "UNSET") _obj1.set_value("set_int", 0) _obj1.set_value("query_count", 0) diff --git a/qpid/python/qmf2/tests/events.py b/qpid/python/qmf2/tests/events.py index 9a96fbd9a4..e55dc8572e 100644 --- a/qpid/python/qmf2/tests/events.py +++ b/qpid/python/qmf2/tests/events.py @@ -114,7 +114,7 @@ class _agentApp(Thread): QmfEvent.SEV_WARNING, {"prop-1": counter, "prop-2": str(datetime.datetime.utcnow())}, - _schema=self.schema) + _schema_id=self.schema.get_class_id()) counter += 1 self.agent.raise_event(event) wi = self.agent.get_next_workitem(timeout=0) diff --git a/qpid/python/qmf2/tests/obj_gets.py b/qpid/python/qmf2/tests/obj_gets.py index 43f2da5da2..5b1446bb3a 100644 --- a/qpid/python/qmf2/tests/obj_gets.py +++ b/qpid/python/qmf2/tests/obj_gets.py @@ -74,14 +74,16 @@ class _agentApp(Thread): self.agent.register_object_class(_schema) - _obj = QmfAgentData( self.agent, _schema=_schema ) - _obj.set_value("key", "p1c1_key1") + _obj = QmfAgentData( self.agent, + _values={"key":"p1c1_key1"}, + _schema=_schema) _obj.set_value("count1", 0) _obj.set_value("count2", 0) self.agent.add_object( _obj ) - _obj = QmfAgentData( self.agent, _schema=_schema ) - _obj.set_value("key", "p1c1_key2") + _obj = QmfAgentData( self.agent, + _values={"key":"p1c1_key2"}, + _schema=_schema ) _obj.set_value("count1", 9) _obj.set_value("count2", 10) self.agent.add_object( _obj ) @@ -97,8 +99,9 @@ class _agentApp(Thread): self.agent.register_object_class(_schema) - _obj = QmfAgentData( self.agent, _schema=_schema ) - _obj.set_value("name", "p1c2_name1") + _obj = QmfAgentData( self.agent, + _values={"name":"p1c2_name1"}, + _schema=_schema ) _obj.set_value("string1", "a data string") self.agent.add_object( _obj ) @@ -114,13 +117,15 @@ class _agentApp(Thread): self.agent.register_object_class(_schema) - _obj = QmfAgentData( self.agent, _schema=_schema ) - _obj.set_value("key", "p2c1_key1") + _obj = QmfAgentData( self.agent, + _values={"key":"p2c1_key1"}, + _schema=_schema ) _obj.set_value("counter", 0) self.agent.add_object( _obj ) - _obj = QmfAgentData( self.agent, _schema=_schema ) - _obj.set_value("key", "p2c1_key2") + _obj = QmfAgentData( self.agent, + _values={"key":"p2c1_key2"}, + _schema=_schema ) _obj.set_value("counter", 2112) self.agent.add_object( _obj ) @@ -515,3 +520,80 @@ class BaseTest(unittest.TestCase): self.console.destroy(10) + + def test_wildcard_schema_id(self): + # create console + # find all agents + # synchronous query for all described objects by: + # oid & wildcard schema_id + # wildcard schema_id + # verify known object ids are returned + self.notifier = _testNotifier() + self.console = qmf2.console.Console(notifier=self.notifier, + agent_timeout=3) + self.conn = qpid.messaging.Connection(self.broker.host, + self.broker.port, + self.broker.user, + self.broker.password) + self.conn.connect() + self.console.add_connection(self.conn) + + for agent_app in self.agents: + aname = agent_app.agent.get_name() + agent = self.console.find_agent(aname, timeout=3) + self.assertTrue(agent and agent.get_name() == aname) + + wild_schema_id = SchemaClassId("package1", "class1") + objs = self.console.get_objects(_schema_id=wild_schema_id, _timeout=5) + self.assertTrue(len(objs) == (self.agent_count * 2)) + for obj in objs: + self.assertTrue(obj.get_schema_class_id().get_package_name() == "package1") + self.assertTrue(obj.get_schema_class_id().get_class_name() == "class1") + + wild_schema_id = SchemaClassId("package1", "class2") + objs = self.console.get_objects(_schema_id=wild_schema_id, _timeout=5) + self.assertTrue(len(objs) == self.agent_count) + for obj in objs: + self.assertTrue(obj.get_schema_class_id().get_package_name() == "package1") + self.assertTrue(obj.get_schema_class_id().get_class_name() == "class2") + self.assertTrue(obj.get_object_id() == "p1c2_name1") + + wild_schema_id = SchemaClassId("package2", "class1") + objs = self.console.get_objects(_schema_id=wild_schema_id, _timeout=5) + self.assertTrue(len(objs) == (self.agent_count * 2)) + for obj in objs: + self.assertTrue(obj.get_schema_class_id().get_package_name() == "package2") + self.assertTrue(obj.get_schema_class_id().get_class_name() == "class1") + + wild_schema_id = SchemaClassId("package1", "class1") + objs = self.console.get_objects(_schema_id=wild_schema_id, + _object_id="p1c1_key2", _timeout=5) + self.assertTrue(len(objs) == self.agent_count) + for obj in objs: + self.assertTrue(obj.get_schema_class_id().get_package_name() == "package1") + self.assertTrue(obj.get_schema_class_id().get_class_name() == "class1") + self.assertTrue(obj.get_object_id() == "p1c1_key2") + + # should fail + objs = self.console.get_objects(_schema_id=wild_schema_id, + _object_id="does not exist", + _timeout=5) + self.assertTrue(objs == None) + + wild_schema_id = SchemaClassId("package2", "class1") + objs = self.console.get_objects(_schema_id=wild_schema_id, + _object_id="p2c1_key2", _timeout=5) + self.assertTrue(len(objs) == self.agent_count) + for obj in objs: + self.assertTrue(obj.get_schema_class_id().get_package_name() == "package2") + self.assertTrue(obj.get_schema_class_id().get_class_name() == "class1") + self.assertTrue(obj.get_object_id() == "p2c1_key2") + + # should fail + wild_schema_id = SchemaClassId("package1", "bad-class") + objs = self.console.get_objects(_schema_id=wild_schema_id, + _object_id="p1c1_key2", _timeout=5) + self.assertTrue(objs == None) + + self.console.destroy(10) + |
