lightsaber/test.rb

37 lines
854 B
Ruby
Raw Normal View History

2015-08-22 12:20:03 +00:00
require 'minitest/autorun'
require 'resolv'
require 'yaml'
require 'pp'
class TestConfig < Minitest::Test
2015-08-22 12:52:32 +00:00
REDIRECTS = [301, 302]
2015-08-22 12:20:03 +00:00
def setup
2015-08-22 12:52:32 +00:00
@config = YAML::load_file 'redirects.yml'
2015-08-22 12:20:03 +00:00
end
def test_redirect_sections
2015-08-22 12:52:32 +00:00
@config.each do |code, zone|
assert REDIRECTS.include? code
2015-08-22 12:20:03 +00:00
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)
2015-08-22 12:52:32 +00:00
flag = domain === "lightsaber.captnemo.in"
2015-08-22 12:20:03 +00:00
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