summaryrefslogtreecommitdiff
path: root/qpid/python/qmf/test/agent_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/python/qmf/test/agent_test.py')
-rw-r--r--qpid/python/qmf/test/agent_test.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/qpid/python/qmf/test/agent_test.py b/qpid/python/qmf/test/agent_test.py
new file mode 100644
index 0000000000..ea7366945a
--- /dev/null
+++ b/qpid/python/qmf/test/agent_test.py
@@ -0,0 +1,58 @@
+import logging
+import time
+
+from qpid.messaging import *
+from qmfCommon import (AgentId, SchemaEventClassFactory, qmfTypes, SchemaProperty,
+ SchemaObjectClass, ObjectIdFactory, QmfData, QmfDescribed,
+ QmfDescribedFactory, QmfManaged, QmfManagedFactory, QmfDataFactory,
+ QmfEvent, SchemaMethod)
+from qmfAgent import (Agent, QmfAgentData)
+
+
+class MyAgent(object):
+ def main(self):
+
+ self._agent = Agent( "redhat.com", "qmf", "testAgent" )
+
+ # Dynamically construct a class schema
+
+ _schema = SchemaObjectClass( "MyPackage", "MyClass",
+ desc="A test data schema",
+ _pkey=["index1", "index2"] )
+ # add properties
+ _schema.addProperty( "index1",
+ SchemaProperty(qmfTypes.TYPE_UINT8))
+ _schema.addProperty( "index2",
+ SchemaProperty(qmfTypes.TYPE_LSTR))
+
+ # add method
+ _meth = SchemaMethod( _desc="A test method" )
+ _meth.addArgument( "arg1", SchemaProperty(qmfTypes.TYPE_UINT32) )
+ _meth.addArgument( "arg2", SchemaProperty(qmfTypes.TYPE_LSTR) )
+ _meth.addArgument( "arg3", SchemaProperty(qmfTypes.TYPE_BOOL) )
+
+ _schema.addMethod( "meth_3", _meth )
+
+ # Add schema to Agent
+
+ self._agent.registerObjectClass(_schema)
+
+ # instantiate managed data objects matching the schema
+
+ obj = QmfAgentData( self._agent, _schema )
+ obj.setProperty("index1", 100)
+ obj.setProperty("index2", "a name" )
+
+
+ self._agent.addObject( QmfAgentData( self._agent, _schema,
+ _props={"index1":99,
+ "index2": "another name"} ))
+
+
+ return None
+
+
+
+
+app = MyAgent()
+print( "s='%s'", str(app.main()))