getting tests up top 99.8%

pull/60/head
TimEvWw 2015-03-11 22:32:24 +01:00
parent 46ac94cfac
commit 0c0b15464a
17 changed files with 184 additions and 39 deletions

View File

@ -12,7 +12,7 @@ class ControllerCommandProc
end
def check_whitelist(function)
raise "UNAUTHORIZED" unless whitelist.include?(function.downcase)
raise "UNAUTHORIZED: #{function}" unless whitelist.include?(function.downcase)
end
def process_command( cmd )

View File

@ -63,6 +63,7 @@ class HardwareInterfaceArduino
begin
write_status = create_write_status(text, log, onscreen)
#puts @serial_port.test_serial_read
prepare_serial_port(write_status)
#puts @serial_port.test_serial_read
@ -77,7 +78,9 @@ class HardwareInterfaceArduino
log_result_of_execution(write_status)
rescue Exception => e
rescue => e
#puts 'exception received'
#puts e
handle_execution_exception(e)
end
end
@ -92,13 +95,11 @@ class HardwareInterfaceArduino
end
def handle_execution_exception(e)
puts("ST: serial error\n#{e.message}\n#{e.backtrace.inspect}")
@bot_dbaccess.write_to_log(4,"ST: serial error\n#{e.message}\n#{e.backtrace.inspect}")
@serial_port.rts = 1
connect_board
sleep 5 if @test_mode == false
@serial_port.rts = 1
connect_board
sleep 5 if @test_mode == false
end
def log_result_of_execution(write_status)

View File

@ -58,11 +58,12 @@ class MessageHandler
message_obj = MessageHandlerMessage.new
split_message(message, message_obj)
log_message_obj_info(message_obj)
send_message_obj_to_individual_handlers(message_obj)
check_if_message_handled(message_obj)
rescue Exception => e
rescue => e
err_snd = true
err_msg = e.message
err_trc = e.backtrace.inspect
@ -71,7 +72,7 @@ class MessageHandler
# in case of an error, send error message as a reply
begin
handle_message_error(err_snd, sender, time_stamp, err_msg, err_trc)
rescue Exception => e
rescue => e
puts "Error while sending error message: #{e.message}"
end
end
@ -152,7 +153,7 @@ class MessageHandler
def check_if_message_handled(message_obj)
if message_obj.handled == false
@dbaccess.write_to_log(2,'message could not be handled')
send_error(sender, '', 'message could not be handled')
send_error(message_obj.sender, '', 'message could not be handled')
end
end

View File

@ -42,7 +42,7 @@ class MessageHandler
sender = ""
time_stamp = nil
puts "received at #{Time.now.strftime("%Y-%m-%d %H:%M:%S")}: #{message}" if $messages_print == 1
puts "received at #{Time.now.strftime("%Y-%m-%d %H:%M:%S")}: #{message}" if $mesh_msg_print == 1
err_msg = ""
err_trc = ""
@ -58,6 +58,7 @@ class MessageHandler
message_obj = MessageHandlerMessage.new
split_message(message, message_obj)
log_message_obj_info(message_obj)
send_message_obj_to_individual_handlers(message_obj)
check_if_message_handled(message_obj)
@ -152,7 +153,7 @@ class MessageHandler
def check_if_message_handled(message_obj)
if message_obj.handled == false
@dbaccess.write_to_log(2,'message could not be handled')
send_error(sender, '', 'message could not be handled')
send_error(message_obj.sender, '', 'message could not be handled')
end
end

View File

@ -2,6 +2,7 @@ require 'json'
require_relative 'credentials'
require_relative 'web_socket'
require_relative 'messagehandler.rb'
#require '/home/pi/ruby-socket.io-client-simple/lib/socket.io-client-simple.rb'

View File

@ -19,7 +19,7 @@ class MessagingTest
def send_message(devices, message_hash )
@message = message_hash
@devices = devices
@device = devices
end
end

View File

@ -20,7 +20,6 @@ class MessagingTest
def send_message(devices, message_hash )
@message = message_hash
@devices = devices
@socket.emit("message",{:devices => devices, :message => message_hash})
end
end

View File

@ -37,6 +37,19 @@ describe HardwareInterfaceArduino do
end
it "execute_command with causing an error" do
$status = nil
@ramps.serial_port.rts = 0
@ramps.execute_command(nil,nil,nil)
$status = Status.new
expect { @ramps }.to_not raise_error
end
it "create write status" do
text = rand(9999999).to_s
@ -48,7 +61,6 @@ describe HardwareInterfaceArduino do
expect(write_status.text ).to eq(text )
expect(write_status.log ).to eq(log )
expect(write_status.onscreen ).to eq(onscreen )
end
it "handle execution exception" do

View File

@ -1,5 +1,6 @@
require 'spec_helper'
require './lib/messaging/messaging.rb'
#require './lib/messaging/messaging.rb'
require './lib/messaging/messagehandler_base.rb'
require './lib/messaging/messagehandler_message.rb'
describe MessageHandlerBase do

View File

@ -1,8 +1,8 @@
require 'spec_helper'
require './lib/messaging/messagehandler_emergencystop.rb'
require './lib/status.rb'
require './lib/messaging/messaging.rb'
require './lib/messaging/messagehandler.rb'
require './lib/messaging/messaging_test.rb'
require './lib/messaging/messagehandler_emergencystop.rb'
describe MessageHandlerEmergencyStop do

View File

@ -1,6 +1,7 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/messaging/messaging.rb'
#require './lib/messaging/messaging.rb'
require './lib/messaging/messagehandler.rb'
require './lib/messaging/messaging_test.rb'
require './lib/messaging/messagehandler_logs.rb'

View File

@ -1,6 +1,7 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/messaging/messaging.rb'
#require './lib/messaging/messaging.rb'
require './lib/messaging/messagehandler.rb'
require './lib/messaging/messaging_test.rb'
require './lib/messaging/messagehandler_measurements.rb'

View File

@ -1,6 +1,6 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/messaging/messaging.rb'
require './lib/messaging/messagehandler.rb'
require './lib/messaging/messaging_test.rb'
require './lib/messaging/messagehandler_parameters.rb'

View File

@ -1,6 +1,9 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/messaging/messaging.rb'
#require './lib/messaging/messaging.rb'
#require './lib/messagehandler_base'
require './lib/messaging/messagehandler.rb'
require './lib/messaging/messagehandler_schedule.rb'
require './lib/messaging/messaging_test.rb'
#require './lib/messagehandler_schedule'

View File

@ -1,29 +1,121 @@
require 'spec_helper'
require './lib/messaging/messaging.rb'
require './lib/messaging/messaging_test.rb'
require './lib/messaging/messagehandler.rb'
require './lib/messaging/messagehandler_base.rb'
require './lib/messaging/messagehandler_message.rb'
describe MessageHandler do
before do
$db_write_sync = Mutex.new
$dbaccess = DbAccess.new('development')
@msg = MessageHandler.new
$bot_dbaccess = DbAccess.new('development')
$dbaccess = $bot_dbaccess
$dbaccess.disable_log_to_screen()
#$status = Status.new
$messaging = MessagingTest.new
$messaging.reset
$mesh_msg_print = 1
@handler = MessageHandler.new
end
## messaging
it "handle message with test message" do
it "test" do
expect(1).to eq(1)
fromUuid = rand(9999999).to_s
message_type = 'test'
time_stamp = Time.now.to_f.to_s
message =
{
'fromUuid' => fromUuid,
'payload' =>
{
'message_type' => message_type,
'time_stamp' => time_stamp
}
}
@handler.handle_message(message)
expect($messaging.message[:message_type]).to eq('error')
end
# it "create new command" do
# crop_id = rand(9999999).to_i
# scheduled_time = Time.now
#
# @db.create_new_command(scheduled_time, crop_id)
#
# cmd = Command.where("scheduled_time = ?",scheduled_time).first
#
# expect(cmd.crop_id).to eq(crop_id)
# end
it "handle message - test error handling" do
fromUuid = nil
message_type = 'test'
time_stamp = Time.now.to_f.to_s
message =
{
'fromUuid' => fromUuid,
'payload' => nil
}
@handler.handle_message(message)
expect($messaging.message[:message_type]).to eq('error')
expect($messaging.device).to eq(fromUuid)
end
it "return error" do
ret = @handler.error
expect(ret).to eq({:error => ''})
end
it "send confirmation" do
destination = rand(9999999).to_s
time_stamp = nil
@handler.send_confirmation(destination, time_stamp)
expect($messaging.message[:message_type]).to eq('confirmation')
expect($messaging.device).to eq(destination)
end
it "send error" do
destination = rand(9999999).to_s
error = rand(9999999).to_s
time_stamp = nil
@handler.send_error(destination, time_stamp, error)
expect($messaging.message[:message_type]).to eq('error')
expect($messaging.device).to eq(destination)
end
it "handle message error" do
err_snd = true
err_msg = rand(9999999).to_s
err_trc = rand(9999999).to_s
sender = rand(9999999).to_s
time_stamp = nil
@handler.handle_message_error(err_snd, sender, time_stamp, err_msg, err_trc)
expect($messaging.message[:message_type]).to eq('error')
expect($messaging.message[:error]).to eq(" #{err_msg} @ #{err_trc}")
expect($messaging.device).to eq(sender)
end
=begin
it "hanlde message test message" do
message = MessageHandlerMessage.new
message.message_type = 'test'
message.handled = false
@handler.handle_message(message)
expect(message.handled).to eq(true)
end
=end
end

View File

@ -1,6 +1,9 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/messaging/messaging.rb'
#require './lib/messaging/messaging.rb'
require './lib/messaging/messagehandler.rb'
require './lib/messaging/messagehandler_base.rb'
require './lib/messaging/messagehandler_status.rb'
require './lib/messaging/messaging_test.rb'
#require './lib/messagehandler_schedule'

View File

@ -0,0 +1,29 @@
require 'spec_helper'
require './lib/messaging/messaging.rb'
describe MessageHandler do
before do
$db_write_sync = Mutex.new
$dbaccess = DbAccess.new('development')
@msg = MessageHandler.new
end
## messaging
it "test" do
expect(1).to eq(1)
end
# it "create new command" do
# crop_id = rand(9999999).to_i
# scheduled_time = Time.now
#
# @db.create_new_command(scheduled_time, crop_id)
#
# cmd = Command.where("scheduled_time = ?",scheduled_time).first
#
# expect(cmd.crop_id).to eq(crop_id)
# end
end