Sha256: f98118aea804b462ea634320e100f6604b9ae9594c9abd176387d8d7f572e010
Contents?: true
Size: 1.42 KB
Versions: 4
Compression:
Stored size: 1.42 KB
Contents
require 'net/http' module Signonotron2IntegrationHelpers def wait_for_signonotron_to_start retries = 0 url = GDS::SSO::Config.oauth_root_url puts "Waiting for signonotron to start at #{url}" while ! signonotron_started?(url) print '.' if retries > 20 raise "Signonotron is not running at #{url}. Please start with `./start_signon.sh`. Under jenkins this should happen automatically." end retries += 1 sleep 1 end puts "Signonotron is now running at #{url}" end def signonotron_started?(url) uri = URI.parse(url) conn = Net::HTTP.start(uri.host, uri.port) true rescue Errno::ECONNREFUSED false ensure conn.try(:finish) end def load_signonotron_setup_fixture load_signonotron_fixture("signonotron2.sql") end def authorize_signonotron_api_user load_signonotron_fixture("authorize_api_users.sql") end def load_signonotron_fixture(filename) require 'erb' parsed = ERB.new(File.read(signon_path + "/config/database.yml")).result db = YAML.load(parsed)['test'] cmd = "mysql #{db['database']} -u#{db['username']} -p#{db['password']} < #{fixture_file(filename)}" system cmd or raise "Error loading signonotron fixture" end private def fixture_file(filename) File.join(File.dirname(__FILE__), '../fixtures/integration', filename) end def signon_path Rails.root.join('..','..','tmp','signonotron2').to_s end end
Version data entries
4 entries across 4 versions & 1 rubygems