require 'helper' class TestNutellaLib < MiniTest::Test # def test_connect_and_send_receive_messages_correctly # cb_executed = false # nutella.init('my_run_id', 'ltg.evl.uic.edu', 'my_bot_component') # nutella.set_resource_id 'my_resource_id' # cb = lambda do |message, component_id, resource_id| # cb_executed = true # puts "Received message from #{component_id}/#{resource_id}. Message: #{message}" # end # nutella.net.subscribe('demo1', cb) # sleep 1 # nutella.net.publish('demo1', 'test_message') # # Make sure we wait for the message to be delivered # sleep 1 # assert cb_executed # end # # # def test_connect_and_send_receive_wildcard_messages_correctly # cb_executed = false # nutella.init('my_run_id', 'ltg.evl.uic.edu', 'my_bot_component') # nutella.set_resource_id 'my_resource_id' # cb = lambda do |message, channel, component_id, resource_id| # cb_executed = true # puts "Received message on #{channel} from #{component_id}/#{resource_id}. Message: #{message}" # end # nutella.net.subscribe('demo1/#', cb) # sleep 1 # nutella.net.publish('demo1/demo', 'test_message') # # Make sure we wait for the message to be delivered # sleep 1 # assert cb_executed # end # def test_multiple_subscriptions # nutella.init('my_run_id', 'ltg.evl.uic.edu', 'my_bot_component') # nutella.set_resource_id 'my_resource_id' # cb = lambda do |message, component_id, resource_id| # puts "Received message #{component_id}/#{resource_id}. Message: #{message}" # end # nutella.net.subscribe('demo1', cb) # nutella.net.subscribe('demo1', cb) # This must raise an error # end def test_request_response nutella.init('my_run_id', 'ltg.evl.uic.edu', 'my_bot_component') nutella.set_resource_id 'my_resource_id' nutella.net.subscribe('demo1', lambda do |message, component_id, resource_id| puts "Received a message from #{component_id}/#{resource_id}. Message: #{message}" end) nutella.net.handle_requests( 'demo1', lambda do |message, component_id, resource_id| puts "We received a request: message #{message}, from #{component_id}/#{resource_id}" #Then we are going to return some JSON {my:'json'} end) response = nutella.net.sync_request( 'demo1', 'my request is a string' ) puts 'Response to sync' p response nutella.net.async_request( 'demo1', 'my request is a string', lambda do |response| puts 'Response to async' p response end) nutella.net.listen end end