class Conify::Test

Attributes

data[RW]

Public Class Methods

new(data) click to toggle source
# File lib/conify/test.rb, line 9
def initialize(data)
  @data = data
end

Public Instance Methods

api_requires?(feature) click to toggle source
# File lib/conify/test.rb, line 47
def api_requires?(feature)
  data['api'].fetch('requires', []).include?(feature)
end
env() click to toggle source
# File lib/conify/test.rb, line 13
def env
  @data.fetch('env', 'test')
end
run(klass, data) click to toggle source
# File lib/conify/test.rb, line 21
def run(klass, data)
  test_name = klass.to_s.gsub('Conify::', '').split(/(?=[A-Z])/).join(' ')

  begin
    klass.new(data).call
  rescue Exception => e
    error "#{test_name} #{e.message}"
  end

  if klass.const_defined?('OUTPUT_COMPLETION') && klass.const_get('OUTPUT_COMPLETION')
    display "#{test_name}: Looks good..."
  end
end
test(msg, &block) click to toggle source
# File lib/conify/test.rb, line 17
def test(msg, &block)
  raise "Failed: #{msg}" unless block.call
end
url() click to toggle source
# File lib/conify/test.rb, line 35
def url
  if data['api'][env].is_a? Hash
    base = data['api'][env]['base_url']
    uri = URI.parse(base)
    uri.query = nil
    uri.path = ''
    uri.to_s
  else
    data['api'][env].chomp('/')
  end
end