Exemple #1
0
 def test__logs_resolution_failures(self):
     # Some ISPs configure their DNS to resolve to an ads page when a domain
     # doesn't exist. This ensures resolving fails so the test passes.
     exception = socket.gaierror()
     exception.errno = random.choice(
         list(config._gen_addresses_where_possible_suppress))
     exception.strerror = '[Errno ...] ...'
     self.patch(config, '_gen_addresses').side_effect = exception
     with FakeLogger(config.__name__) as logger:
         config._get_addresses("no-way-this-exists.maas.io")
     self.assertThat(logger.output.strip(), DocTestMatches(
         "Could not resolve no-way-this-exists.maas.io: [Errno ...] ..."))
Exemple #2
0
 def test__ignores_resolution_failures(self):
     # Some ISPs configure their DNS to resolve to an ads page when a domain
     # doesn't exist. This ensures resolving fails so the test passes.
     self.patch(config, '_gen_addresses_where_possible').return_value = []
     self.assertThat(
         config._get_addresses("no-way-this-exists.maas.io"),
         Equals(([], [])))
Exemple #3
0
 def test_ip_addresses_are_passed_through(self):
     address4 = factory.make_ipv4_address()
     address6 = factory.make_ipv6_address()
     self.assertThat(
         config._get_addresses(address4, address6),
         Equals(([address4], [address6])),
     )
Exemple #4
0
 def test__renders_ntp_servers_as_comma_separated_list(self):
     params = make_sample_params(self, ipv6=self.ipv6)
     rendered = config.get_config(self.template, **params)
     validate_dhcpd_configuration(self, rendered, self.ipv6)
     ntp_servers_expected = flatten([
         server if is_ip_address(server) else _get_addresses(server)
         for network in params['shared_networks']
         for subnet in network['subnets']
         for server in subnet["ntp_servers"]
     ])
     ntp_servers_observed = [
         server for server_line in re.findall(
             r"\b(?:ntp-servers|dhcp6[.]sntp-servers)\s+(.+);", rendered)
         for server in server_line.split(", ")
     ]
     self.assertItemsEqual(ntp_servers_expected, ntp_servers_observed)