Always Be Testing!!!
A test suite that uses IronWorker by http://www.iron.io to run it.
Getting Started
First of all the, code to test must be able to check for a special config variable:
if defined? $abt_config
@config = $abt_config
end
A real world example is here: https://github.com/iron-io/iron_mq_ruby/blob/master/test/test_base.rb
Get it running locally first, here's an example:
worker = Abt::TestWorker.new
worker.git_url = "git://github.com/iron-io/iron_mq_ruby.git"
worker.test_config = @test_config
worker.run_local
Add built in notifier:
worker.add_notifier(:hip_chat_notifier, :config=>{"hipchat_api_key"=>'secret_api_key', "room_name"=>'Room Name', "user_name"=>"AbtWorker"})
you can add as many notifiers as you need and even make your own (read down for how to build custom notifiers).
Then try queuing it up.
worker.queue
If that works all good, then:
Schedule It!
Schedule it to run regularly to ensure you're always being covered.
worker.schedule(:start_at=>Time.now, :run_every=>3600)
Custom notifiers
Here's how to build your own notifiers.
- Implement in your notifier the following methods:
setup configuration:
def initialize(config)
@url = config["url"]
end
process simple text message
def send_message(message)
puts message
end
if you want more detailed results, 'result' is an instance of Test::Unit::TestResult
def send_formatted_message(result)
result.inspect
end
Then to use it:
worker.add_notifier(File.join(File.dirname(__FILE__), 'console_notifier'), :class_name=>'ConsoleNotifier', :config={})