示例#1
0
 def test_name_setter(self):
     test_hostname = 'host.test.com'
     update_hostname = 'host.example.com'
     hostname = Hostname(test_hostname)
     assert_equals(hostname.fqdn, test_hostname)
     hostname.name = update_hostname
     assert_equals(hostname.fqdn, update_hostname)
示例#2
0
 def test_name_setter(self):
     test_hostname = 'host.test.com'
     update_hostname = 'host.example.com'
     hostname = Hostname(test_hostname)
     assert_equals(hostname.fqdn, test_hostname)
     hostname.name = update_hostname
     assert_equals(hostname.fqdn, update_hostname)
示例#3
0
 def test_add_fqdn_to_shortname(self):
     # New fqdn updates the domain if exisiting domain is empty
     host = Host(Hostname('test1'))
     assert_equals(host[0].fqdn, 'test1')
     host_entry_2 = Hostname('test1.example.com')
     host.add(host_entry_2)
     assert_equals(len(host), 1)
     assert_equals(host[0].fqdn, host_entry_2.fqdn)
示例#4
0
 def test_add(self):
     host = Host('test1')
     assert_equals(len(host), 1)
     host = Host(Hostname('test1'))
     host_entry_1 = Hostname('test1')
     assert_equals(len(host), 1)
     host.add(host_entry_1)
     assert_equals(len(host), 1)
示例#5
0
 def test_str(self):
     assert_equals(str(Hostname(name=None, ip='1.2.3.4')), '1.2.3.4')
     assert_equals(str(Hostname(name='hostname', ip='1.2.3.4')),
                   'hostname 1.2.3.4')
     assert_equals(str(Hostname(name='hostname.example.com', ip='1.2.3.4')),
                   'hostname.example.com 1.2.3.4')
     assert_equals(str(Hostname(name='hostname.example.com')),
                   'hostname.example.com')
示例#6
0
 def test_eqality_routing_domain(self):
     hostname = 'test'
     ip = '1.1.1.1'
     rd01 = 'test_routing_domain'
     rd02 = 'TEST_ROUTING_DOMAIN'
     rd03 = 'TEST_ROUTING_DOMAIN01'
     assert Hostname(hostname, ip=ip, routing_domain=rd01) \
         == Hostname(hostname, ip=ip, routing_domain=rd02)
     assert Hostname(hostname, ip=ip, routing_domain=rd01) \
         != Hostname(hostname, ip=ip, routing_domain=rd03)
示例#7
0
 def test_add_new_host_existing_ip(self):
     # New Hostname with duplicate ip adds new host entry
     host = Host(Hostname('test1', '1.2.3.4'))
     host_entry_3 = Hostname('test2', '1.2.3.4')
     host.add(host_entry_3)
     assert_equals(len(host), 2)
     assert_equals(host[-1].fqdn, host_entry_3.fqdn)
     del host[-1]
     assert_equals(len(host), 1)
     host_entry_4 = Hostname('test2.example.com', '1.2.3.4')
     host.add(host_entry_4)
     assert_equals(len(host), 2)
     assert_equals(host[-1].fqdn, host_entry_4.fqdn)
示例#8
0
 def test_cleanup_domain(self):
     hostname = 'host1.example.com.'
     host = Hostname(hostname)
     domain = 'example.com'
     assert_equals(host.domain, 'example.com')
     host.domain = '.example.com'
     assert_equals(host.domain, domain)
     host.domain = 'example.com.'
     assert_equals(host.domain, domain)
     host.domain = '.example.com.'
     assert_equals(host.domain, domain)
     host.domain = 'EXAMPLE.COM'
     assert_equals(host.domain, domain)
示例#9
0
    def test_eqality_name(self):
        hostname = 'host1.example.com'
        host1 = Hostname(hostname)
        assert host1 == hostname
        assert host1 == hostname
        assert host1 == hostname.upper()
        assert host1 == 'host1'.upper()
        assert host1 == hostname.split('.')[0]
        assert host1 != 'example.com'
        assert host1 != 'host'

        # No IPs specified
        host1 = Hostname('test1')
        host2 = Hostname('test2')
        assert_not_equals(host1, host2)
示例#10
0
 def test_add_ip_to_no_ip_host(self):
     # New IP with matching hostnames updates existing hostname's ip
     host_entry_1 = Hostname('test1.example.com')
     host = Host(host_entry_1)
     host_entry_2 = Hostname('test1', '1.2.3.4')
     host.add(host_entry_2)
     assert_equals(host[0].ip, host_entry_2.ip)
     assert_equals(len(host), 1)
     assert_equals(host[0].fqdn, host_entry_1.fqdn)
     host[0].ip = None
     host_entry_3 = Hostname('test1.example.com', '1.2.3.4')
     host.add(host_entry_3)
     assert_equals(len(host), 1)
     assert_equals(host[0].fqdn, host_entry_3.fqdn)
     assert_equals(host[0].ip, host_entry_3.ip)
示例#11
0
 def test_add_new_ip_existing_name(self):
     # New Hostname with duplicate ip adds new host entry
     host = Host(Hostname('test1', '1.2.3.4'))
     host.add(Hostname('test1', '2.3.4.5'))
     assert_equals(len(host), 2)
     assert_equals(host[0].fqdn, 'test1')
     assert_equals(host[1].fqdn, 'test1')
     assert_equals(host[0].ip, '1.2.3.4')
     assert_equals(host[1].ip, '2.3.4.5')
     del host[-1]
     host.add(Hostname('test1.example.com', '2.3.4.5'))
     assert_equals(len(host), 2)
     assert_equals(host[0].fqdn, 'test1.example.com')
     assert_equals(host[1].fqdn, 'test1.example.com')
     assert_equals(host[0].ip, '1.2.3.4')
     assert_equals(host[1].ip, '2.3.4.5')
示例#12
0
    def test_contains_host(self):
        host = HostnameList()
        host.add(Hostname('test', '1.2.3.4'))
        assert_true('test' in host)
        assert_true(Hostname('test') in host)
        assert_true(Hostname('test', '1.2.3.4') in host)
        assert_true(Hostname('test.example.com') in host)
        assert_true(Hostname('test.example.com', '1.2.3.4') in host)

        assert_false('test1' in host)
        assert_false(Hostname('test1') in host)
        assert_false(Hostname('test1', '2.3.4.5') in host)
        assert_false(Hostname('test1.example.com') in host)
        assert_false(Hostname('test1.example.com', '2.3.4.5') in host)
示例#13
0
    def test_equals(self):
        """ Hosts are equal if there is one overlapping entry """
        host = Host(Hostname('test', '1.2.3.4'))
        assert_true('test' in host)
        assert_true(Hostname('test') in host)
        assert_true(Hostname('test', '1.2.3.4') in host)
        assert_true(Hostname('test.example.com') in host)
        assert_true(Hostname('test.example.com', '1.2.3.4') in host)

        assert_false('test1' in host)
        assert_false(Hostname('test1') in host)
        assert_false(Hostname('test1', '2.3.4.5') in host)
        assert_false(Hostname('test1.example.com') in host)
        assert_false(Hostname('test1.example.com', '2.3.4.5') in host)
示例#14
0
 def test_get(self):
     hosts = HostnameList()
     hosts.add('test')
     assert_equals(hosts.get('test'), Hostname('test'))
     assert_equals(hosts.get('test'), Hostname('test'))
     assert_equals(hosts.get('test'), Hostname('test'))
     assert_equals(hosts.get('test1'), None)
     hosts.add('test.example.com')
     assert_equals(hosts.get('test'), Hostname('test'))
     assert_equals(hosts.get('test.example.com'), Hostname('test'))
     assert_equals(hosts.get('test'), Hostname('test.example.com'))
     assert_equals(hosts.get('test.example.com'), Hostname('test.example.com'))
示例#15
0
    def test_ineqality_hosts(self):
        host1 = Hostname('host1', '1.1.1.1')
        host2 = Hostname('host2', '2.2.2.2')
        assert_not_equals(host1, host2)

        host1 = Hostname('host1.example.com')
        host2 = Hostname('host1.contoso.com')
        assert host1 != host2

        host1 = Hostname('host1', '1.1.1.1')
        host2 = Hostname('host', '2.2.2.2')
        assert host1 != host2

        host1 = Hostname('host1', '1.1.1.1', routing_domain='1')
        host1 = Hostname('host1', '1.1.1.1', routing_domain='2')
        assert host1 != host2
示例#16
0
 def test_initilization(self):
     assert Hostname(name='test', ip=None).ip is None
     assert Hostname(name='test', ip='').ip is None
     assert Hostname(name='test', ip=' ').ip is None
     hostname = 'host1'
     host = Hostname(hostname)
     assert host.domain == ''
     assert host.fqdn == hostname
     hostname = 'host1.example'
     host = Hostname(hostname)
     assert host.name == 'host1'
     assert host.domain == 'example'
     assert host.fqdn == hostname
     hostname = 'host1.example.com'
     host = Hostname(hostname)
     assert host.name == 'host1'
     assert host.domain == 'example.com'
     assert host.fqdn == hostname
     assert Hostname('test', '2.3.4.5').ip == '2.3.4.5'
     assert Hostname('test', '2.3.4.5').routing_domain is None
     assert Hostname('test', '2.3.4.5', 'rd01').routing_domain == 'rd01'
示例#17
0
 def test_cleanup_domain(self):
     hostname = 'host1.example.com.'
     host = Hostname(hostname)
     domain = 'example.com'
     assert_equals(host.domain, 'example.com')
     host.domain = '.example.com'
     assert_equals(host.domain, domain)
     host.domain = 'example.com.'
     assert_equals(host.domain, domain)
     host.domain = '.example.com.'
     assert_equals(host.domain, domain)
     host.domain = 'EXAMPLE.COM'
     assert_equals(host.domain, domain)
示例#18
0
 def test_validation_domain_length(self):
     valid_hostname = 'hostname'
     invalid_domain = 'x' * 254
     h = Hostname(valid_hostname)
     assert_raises(ValueError, setattr, h, 'domain', invalid_domain)
示例#19
0
 def test_cleanup_host(self):
     hostname = 'host1.example.com.'
     host = Hostname(hostname)
     host.name = 'HOSTNAME'
     assert_equals(host.name, 'hostname')
示例#20
0
 def test_add_failure(self):
     host = Host(Hostname('test1'))
     assert_raises(TypeError, host.add, list())
     # Different host, add fails
     host_entry_2 = Hostname('test2')
     assert_raises(ValueError, host.add, host_entry_2)
示例#21
0
    def test_equality_hostnames(self):
        # Total match
        host1 = Hostname('host1', '1.1.1.1')
        host2 = Hostname('host1', '1.1.1.1')
        assert host1 == host2

        # Non-fqdn hostname to fqdn hostname match
        assert Hostname('host.example.com',
                        '1.1.1.1') == Hostname('host', '1.1.1.1')
        assert Hostname('host.example.com',
                        '1.1.1.1') == Hostname('host', '1.1.1.2')

        # Hostname match
        host3 = Hostname('host1', '2.2.2.2')
        assert host1 == host3
        host3 = Hostname('host1')
        assert host1 == host3

        # Name in FQDN match
        host4 = Hostname('host1.example.com', '3.3.3.3')
        assert host1 == host4
        host4 = Hostname('host1.example.com')
        assert host1 == host4

        # FQDN match
        host5 = Hostname('host1.example.com', '4.4.4.4')
        assert host4 == host5
        host5 = Hostname('host1.example.com')
        assert host4 == host5

        # IP match
        assert Hostname('host1', '1.1.1.1') == Hostname('host2', '1.1.1.1')

        # Routing Domain
        assert Hostname('host1', '1.1.1.1', routing_domain='1') == \
            Hostname('host2', '1.1.1.1', routing_domain='1')
示例#22
0
 def test_eqality_ip(self):
     ip = '1.1.1.1'
     host = Hostname('test', ip=ip)
     assert_equals(host, ip)
示例#23
0
 def test_cleanup_host(self):
     hostname = 'host1.example.com.'
     host = Hostname(hostname)
     host.name = 'HOSTNAME'
     assert_equals(host.name, 'hostname')
示例#24
0
 def test_validation_ip(self):
     h = Hostname('test', '1.2.3.4')
     assert_raises(TypeError, setattr, h, 'ip', 1)
     assert_raises(ValueError, setattr, h, 'ip', '2.3.4.256')
     assert_raises(ValueError, setattr, h, 'ip', 'sadf')