module RunscopeCi
Constants
- VERSION
Public Instance Methods
access_token()
click to toggle source
# File lib/runscope_ci.rb, line 12 def access_token ENV[access_token_name] end
access_token_name()
click to toggle source
# File lib/runscope_ci.rb, line 8 def access_token_name "RUNSCOPE_ACCESS_TOKEN" end
all_tests_have_result?(result, tests)
click to toggle source
# File lib/runscope_ci.rb, line 41 def all_tests_have_result?(result, tests) tests.all?{|t| t.result == result} end
extract_tests(response_data)
click to toggle source
# File lib/runscope_ci.rb, line 23 def extract_tests(response_data) response_data["data"]["runs"].collect { |run| RunscopeCi::RsTest.new(run) } end
trigger_bucket(trigger_url)
click to toggle source
# File lib/runscope_ci.rb, line 16 def trigger_bucket(trigger_url) res = HTTParty.get(trigger_url) raise "Received error #{res.code} #{res.message} #{res.body}" unless res.code == 201 puts "Triggered test bucket url -> #{trigger_url}" JSON.parse(res.body) end
trigger_bucket_and_poll_results(trigger_url, expected_result, interval_sleep=5, retry_limit=60)
click to toggle source
# File lib/runscope_ci.rb, line 27 def trigger_bucket_and_poll_results(trigger_url, expected_result, interval_sleep=5, retry_limit=60) tests = extract_tests(trigger_bucket(trigger_url)) attempt = 1 until ( tests.collect {|t| t.result_detail }.select{|rs_test| rs_test.result == "working"}.empty? ) puts "attempt #{attempt}" raise("Timed out waiting for results, tests still 'working'") if attempt > retry_limit sleep interval_sleep attempt += 1 end [all_tests_have_result?(expected_result, tests),tests] end