lightsaber/test.rb

37 lines
854 B
Ruby

require 'minitest/autorun'
require 'resolv'
require 'yaml'
require 'pp'
class TestConfig < Minitest::Test
REDIRECTS = [301, 302]
def setup
@config = YAML::load_file 'redirects.yml'
end
def test_redirect_sections
@config.each do |code, zone|
assert REDIRECTS.include? code
end
end
def test_each_domain
@config.each do |section, zone|
zone.each do |domain, redirect|
assert resolves_to_lightsaber(domain),
"DNS for #{domain} isn't setup yet. See README"
end
end
end
def resolves_to_lightsaber(domain)
flag = domain === "lightsaber.captnemo.in"
Resolv::DNS.open do |dns|
records = dns.getresources domain, Resolv::DNS::Resource::IN::CNAME
records.each do |record|
flag||=record.name.to_s === "lightsaber.captnemo.in"
end
end
flag
end
end