Sha256: 6e7235e4c548e63d68f5783b3c60bc56440283a02ea843916995933d07793702
Contents?: true
Size: 1.73 KB
Versions: 1
Compression:
Stored size: 1.73 KB
Contents
require File.join(File.dirname(__FILE__), 'helper') class TestDomains < Minitest::Test WHITELIST = [ "non-us gov", "non-us mil", "US Federal"] DOMAINS = Gman::Parser.file_to_hash(Gman.list_path) def whitelisted?(domain) WHITELIST.each do |group| return true if DOMAINS[group].include? domain end false end should "only contain resolvable domains" do unresolvables = [] Parallel.each(Gman.list, :in_threads => 2) do |entry| next if whitelisted? entry.name resolves = Gman::Parser.domain_resolves?(entry.name) unresolvables.push entry.name unless resolves end assert_equal [], unresolvables end should "not contain any educational domains" do Parallel.each(Gman.list, :in_threads => 2) do |entry| assert_equal false, Swot::is_academic?(entry.name), "#{entry.name} is an academic domain" end end should "not contain any invalid domains" do Parallel.each(Gman.list, :in_threads => 2) do |entry| assert_equal true, PublicSuffix.valid?("foo.#{entry.name}"), "#{entry.name} is not a valid domain" end end should "pass any url on the list" do Parallel.each(Gman.list, :in_threads => 2) do |entry| assert_equal true, Gman.valid?("http://foo.#{entry.name}/bar"), "http://foo.#{entry.name}/bar is not a valid" end end should "pass any email on the list" do Parallel.each(Gman.list, :in_threads => 2) do |entry| assert_equal true, Gman.valid?("foo@bar.#{entry.name}"), "foo@bar.#{entry.name} is not a valid" end end should "pass any domain on the list" do Parallel.each(Gman.list, :in_threads => 2) do |entry| assert_equal true, Gman.valid?("foo.#{entry.name}"), "foo.#{entry.name} is not a valid domain" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gman-4.6.5 | test/test_domains.rb |