diff options
Diffstat (limited to 'cpp/bindings')
| -rw-r--r-- | cpp/bindings/qmf/ruby/qmf.rb | 5 | ||||
| -rwxr-xr-x | cpp/bindings/qmf/tests/ruby_console_test.rb | 33 | ||||
| -rw-r--r-- | cpp/bindings/qmf/tests/test_base.rb | 10 |
3 files changed, 45 insertions, 3 deletions
diff --git a/cpp/bindings/qmf/ruby/qmf.rb b/cpp/bindings/qmf/ruby/qmf.rb index 823cf9bf93..402b99b800 100644 --- a/cpp/bindings/qmf/ruby/qmf.rb +++ b/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/cpp/bindings/qmf/tests/ruby_console_test.rb b/cpp/bindings/qmf/tests/ruby_console_test.rb index 9ef0ef57a8..11be03fc34 100755 --- a/cpp/bindings/qmf/tests/ruby_console_test.rb +++ b/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/cpp/bindings/qmf/tests/test_base.rb b/cpp/bindings/qmf/tests/test_base.rb index cb7fd9d4f9..3e4337a9c0 100644 --- a/cpp/bindings/qmf/tests/test_base.rb +++ b/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 |
