Sha256: f783b701ba773859298c252247e9d36dbba69aac52183b0410896d7d8ecbd45e
Contents?: true
Size: 1015 Bytes
Versions: 4
Compression:
Stored size: 1015 Bytes
Contents
# frozen_string_literal: true module Spout module Tests # If a variable references a domain, then the domain should exist and be # defined. module DomainExistenceValidation def assert_domain_existence(item) domain_names = Dir.glob('domains/**/*.json').collect do |file| file.split('/').last.to_s.downcase.split('.json').first end result = begin domain_name = JSON.parse(File.read(item))['domain'] domain_names.include?(domain_name) rescue JSON::ParserError domain_name = '' false end message = "The domain #{domain_name} referenced by #{item} does not exist." assert result, message end Dir.glob('variables/**/*.json').each do |file| if (not [nil, ''].include?(JSON.parse(File.read(file))['domain']) rescue false) define_method("test_domain_exists: #{file}") do assert_domain_existence file end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems