diff --git a/test/Rakefile b/test/Rakefile index 4ff5719..9a763b6 100644 --- a/test/Rakefile +++ b/test/Rakefile @@ -36,6 +36,22 @@ Rake::TestTask.new do |t| end end + if ENV['NEW_PROJECT'] + require_relative '../lib/iron_worker_ng.rb' + + client = IronWorkerNG::Client.new + name = 'IWtest ' + Time.now.strftime('%b %-d %T') + resp = client.api.post('projects', name: name) + res = JSON.parse(resp.body) + raise "Failed to create new project: #{res}" unless + res['msg'].start_with? 'Project Created' + + ENV['IRON_PROJECT_ID'] = res['id'] + end + if ENV['IRON_PROJECT_ID'] + t.options = "-- --project-id=#{ENV['IRON_PROJECT_ID']}" + end + t.libs << "lib" << "test" << examples_tests_dir files = FileList['test/**/test_**.rb', examples_tests_dir + '/**/test_*.rb'] diff --git a/test/helpers.rb b/test/helpers.rb index 2fd6876..91131dd 100644 --- a/test/helpers.rb +++ b/test/helpers.rb @@ -3,6 +3,7 @@ require 'minitest/unit' require 'minitest/reporters' require 'tempfile' +require 'optparse' require_relative '../lib/iron_worker_ng.rb' require_relative 'iron_io_config.rb' @@ -40,7 +41,14 @@ class IWNGTest < Test::Unit::TestCase attr_accessor :client def setup - @client = IronWorkerNG::Client.new(:env => 'test') + options = { env: 'test' } + OptionParser.new do |opts| + opts.on('--project-id PROJECT_ID', String) do |p| + options[:project_id] = p + end + end.parse! + + @client = IronWorkerNG::Client.new options end def get_all_tasks(options = { :from_time => (Time.now - 60 * 60).to_i })