diff options
| author | Kenneth Anthony Giusti <kgiusti@apache.org> | 2010-04-23 20:27:27 +0000 |
|---|---|---|
| committer | Kenneth Anthony Giusti <kgiusti@apache.org> | 2010-04-23 20:27:27 +0000 |
| commit | 944b2eb07f51118a37bacf3124dc19c0b7d85ca8 (patch) | |
| tree | 5ac8c02fdb578f93e8e73d01c1e42eb56e202ac4 /qpid/cpp/bindings/qmf | |
| parent | 5e4a9f8dd51364ef4479c0c94d339b8dade93640 (diff) | |
| download | qpid-python-944b2eb07f51118a37bacf3124dc19c0b7d85ca8.tar.gz | |
QPID-2546: implement event support for ruby wrapper. Python pending...
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@937506 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/bindings/qmf')
| -rw-r--r-- | qpid/cpp/bindings/qmf/ruby/qmf.rb | 5 | ||||
| -rwxr-xr-x | qpid/cpp/bindings/qmf/tests/ruby_console_test.rb | 33 | ||||
| -rw-r--r-- | qpid/cpp/bindings/qmf/tests/test_base.rb | 10 |
3 files changed, 45 insertions, 3 deletions
diff --git a/qpid/cpp/bindings/qmf/ruby/qmf.rb b/qpid/cpp/bindings/qmf/ruby/qmf.rb index 823cf9bf93..402b99b800 100644 --- a/qpid/cpp/bindings/qmf/ruby/qmf.rb +++ b/qpid/cpp/bindings/qmf/ruby/qmf.rb @@ -339,7 +339,7 @@ module Qmf @impl = Qmfengine::Event.new(@event_class.impl) elsif kwargs.include?(:impl) @impl = Qmfengine::Event.new(kwargs[:impl]) - @event_class = SchemaEventClass.new(nil, nil, :impl => @impl.getClass) + @event_class = SchemaEventClass.new(nil, nil, nil, :impl => @impl.getClass) end end @@ -1034,7 +1034,7 @@ module Qmf if kind == CLASS_OBJECT clist << SchemaObjectClass.new(nil, nil, :impl => @impl.getObjectClass(key)) elsif kind == CLASS_EVENT - clist << SchemaEventClass.new(nil, nil, :impl => @impl.getEventClass(key)) + clist << SchemaEventClass.new(nil, nil, nil, :impl => @impl.getEventClass(key)) end end end @@ -1190,6 +1190,7 @@ module Qmf when Qmfengine::ConsoleEvent::OBJECT_UPDATE @handler.object_update(ConsoleObject.new(nil, :impl => @event.object), @event.hasProps, @event.hasStats) if @handler when Qmfengine::ConsoleEvent::EVENT_RECEIVED + @handler.event_received(QmfEvent.new(nil, :impl => @event.event)) if @handler when Qmfengine::ConsoleEvent::AGENT_HEARTBEAT @handler.agent_heartbeat(AgentProxy.new(@event.agent, nil), @event.timestamp) if @handler when Qmfengine::ConsoleEvent::METHOD_RESPONSE diff --git a/qpid/cpp/bindings/qmf/tests/ruby_console_test.rb b/qpid/cpp/bindings/qmf/tests/ruby_console_test.rb index 9ef0ef57a8..11be03fc34 100755 --- a/qpid/cpp/bindings/qmf/tests/ruby_console_test.rb +++ b/qpid/cpp/bindings/qmf/tests/ruby_console_test.rb @@ -267,6 +267,39 @@ class ConsoleTest < ConsoleTestBase end + def test_F_events + + @event_list.clear + @store_events = :true + + parent = @qmfc.object(:class =>"parent") + assert(parent, "Number of parent objects") + + parent.set_numerics("big") + parent.set_numerics("small") + parent.set_numerics("negative") + parent.set_short_string("TEST") + parent.set_long_string("LONG_TEST") + parent.probe_userid() + + @store_events = :false + + assert_equal(@event_list.length, 5) + + assert_equal(@event_list[0].get_attr("uint32val"), 0xA5A55A5A) + assert_equal(@event_list[0].get_attr("strval"), "Unused") + assert_equal(@event_list[1]["uint32val"], 5) + assert_equal(@event_list[1].get_attr("strval"), "Unused") + assert_equal(@event_list[2].get_attr("uint32val"), 0) + assert_equal(@event_list[2].get_attr("strval"), "Unused") + assert_equal(@event_list[3].get_attr("uint32val"), 0) + assert_equal(@event_list[3].get_attr("strval"), "TEST") + assert_equal(@event_list[4].get_attr("uint32val"), 0) + assert_equal(@event_list[4].get_attr("strval"), "LONG_TEST") + + @event_list.clear + + end def test_G_basic_map_list_data parent = @qmfc.object(:class => "parent") diff --git a/qpid/cpp/bindings/qmf/tests/test_base.rb b/qpid/cpp/bindings/qmf/tests/test_base.rb index cb7fd9d4f9..3e4337a9c0 100644 --- a/qpid/cpp/bindings/qmf/tests/test_base.rb +++ b/qpid/cpp/bindings/qmf/tests/test_base.rb @@ -28,11 +28,14 @@ class ConsoleTestBase < Qmf::ConsoleHandler @settings.host = ARGV[0] if ARGV.size > 0 @settings.port = ARGV[1].to_i if ARGV.size > 1 @connection = Qmf::Connection.new(@settings) - @qmfc = Qmf::Console.new + @qmfc = Qmf::Console.new(self) @broker = @qmfc.add_connection(@connection) @broker.wait_for_stable + @store_events = :false + @event_list = [] + tests = [] methods.each do |m| name = m.to_s @@ -70,4 +73,9 @@ class ConsoleTestBase < Qmf::ConsoleHandler def fail(text) raise text end + + def event_received(event) + @event_list << event if @store_events + end + end |
