Sha256: 8c1cec8909472ca2102677970dd2ccbcfccadb7b6f7c3415f5d047c9853ebf06

Contents?: true

Size: 885 Bytes

Versions: 3

Compression:

Stored size: 885 Bytes

Contents

require 'rspec'
set :backend, :exec

dir = File.dirname(File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__)
require "#{dir}/probe"
require 'deep_merge'
require 'yaml'

deps = {}
deps_dir = ENV['SVCDEPS_PATH']
deps_files = []

raise "Environment variable 'SVCDEPS_PATH' must be set" unless deps_dir

Dir.chdir(deps_dir)
Dir.glob(File.join('**','*.yaml')).each {|f| deps_files << "#{deps_dir}/#{f}" } 
Dir.glob(File.join('**','*.yml')).each {|f| deps_files << "#{deps_dir}/#{f}" } 


def symbolize_keys(hash)
   hash.inject({}){|memo,(k,v)| memo[k.to_sym] = v ; memo }
end

deps_files.each do |f|
  deps.deep_merge(YAML.load( File.read( f ) ) ) 
end

describe 'Service Dependencies' do 
  deps['deps'].each do |dep|
    dep = symbolize_keys(dep)
    it "#{dep[:desc]}" do 
      p = Probe.new( dep ) 
      expect { p.run }.to_not raise_error
    end
  end if deps['deps']
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
svcdeps_tasks-0.1.5 lib/specfile.rb
svcdeps_tasks-0.1.4 lib/specfile.rb
svcdeps_tasks-0.1.3 lib/specfile.rb