module Spout::Tests::DomainExistenceValidation

If a variable references a domain, then the domain should exist and be defined.

Public Instance Methods

assert_domain_existence(item) click to toggle source
# File lib/spout/tests/domain_existence_validation.rb, line 8
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, encoding: "utf-8"))["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