internetee-registry/test/models/nameserver/glue_record_test.rb
2019-09-09 16:05:21 +03:00

46 lines
1.4 KiB
Ruby

require 'test_helper'
class NameserverGlueRecordTest < ActiveSupport::TestCase
setup do
@nameserver = nameservers(:shop_ns1)
end
def test_invalid_when_glue_record_is_required_and_no_ip_is_provided
domain = Domain.new(name: 'shop.test')
nameserver = Nameserver.new(domain: domain, hostname: 'ns1.shop.test')
assert nameserver.invalid?
assert_includes nameserver.errors.full_messages, 'Either IPv4 or IPv6 is required' \
' for glue record generation'
end
def test_valid_when_glue_record_is_required_and_ipv4_is_provided
domain = Domain.new(name: 'shop.test')
nameserver = Nameserver.new(domain: domain, hostname: 'ns1.shop.test')
nameserver.ipv4 = ['192.0.2.1']
assert nameserver.valid?
end
def test_valid_when_glue_record_is_required_and_ipv6_is_provided
domain = Domain.new(name: 'shop.test')
nameserver = Nameserver.new(domain: domain, hostname: 'ns1.shop.test')
nameserver.ipv6 = ['2001:db8::1']
assert nameserver.valid?
end
def test_valid_when_glue_record_is_not_required_and_no_ip_is_provided
domain = Domain.new(name: 'shop.test')
nameserver = Nameserver.new(domain: domain, hostname: 'ns1.registrar.test')
assert nameserver.valid?
end
def test_valid_when_glue_record_is_not_required_and_no_ip_is_provided_substring_match
domain = Domain.new(name: 'le.test')
nameserver = Nameserver.new(domain: domain, hostname: 'ns1.shop.test')
assert nameserver.valid?
end
end