Exemplo n.º 1
0
    def test_make_parsed_url_pics_random_port(self):
        url = factory.make_parsed_url()
        self.assertThat(
            url.netloc,
            Contains(":"),
            "Generated url: %s does not contain "
            "a port number in netloc segment" % url.geturl(),
        )

        self.assertTrue(
            url.netloc.split(":")[1].isdigit(),
            "Generated url: %s does not contain a valid "
            "port number in netloc segment" % url.geturl(),
        )

        url = factory.make_parsed_url(port=True)

        self.assertThat(
            url.netloc,
            Contains(":"),
            ("Generated url: %s does not contain "
             "a port number in netloc segment") % url.geturl(),
        )

        self.assertTrue(
            url.netloc.split(":")[1].isdigit(),
            "Generated url: %s does not contain a valid "
            "port number in netloc segment" % url.geturl(),
        )
Exemplo n.º 2
0
    def test_make_parsed_url_asserts_with_conflicting_port_numbers(self):
        with ExpectedException(AssertionError):
            netloc = "%s:%d" % (factory.make_hostname(), factory.pick_port())
            factory.make_parsed_url(netloc=netloc, port=factory.pick_port())

        with ExpectedException(AssertionError):
            netloc = "%s:%d" % (factory.make_hostname(), factory.pick_port())
            factory.make_parsed_url(netloc=netloc, port=True)
Exemplo n.º 3
0
 def test_round_trip(self):
     argument = arguments.ParsedURL()
     example = factory.make_parsed_url()
     encoded = argument.toString(example)
     self.assertThat(encoded, IsInstance(bytes))
     decoded = argument.fromString(encoded)
     self.assertThat(decoded.geturl(), Equals(example.geturl()))
Exemplo n.º 4
0
 def test_get_preseed_data_calls_compose_preseed(self):
     # get_preseed_data() calls compose_preseed() on the
     # OperatingSystem instances.
     os_specific_compose_preseed = self.patch(self.osystem,
                                              "compose_preseed")
     metadata_url = factory.make_parsed_url()
     osystems.get_preseed_data(
         self.osystem.name,
         sentinel.preseed_type,
         sentinel.node_system_id,
         sentinel.node_hostname,
         sentinel.consumer_key,
         sentinel.token_key,
         sentinel.token_secret,
         metadata_url,
     )
     self.assertThat(
         os_specific_compose_preseed,
         MockCalledOnceWith(
             sentinel.preseed_type,
             (sentinel.node_system_id, sentinel.node_hostname),
             (
                 sentinel.consumer_key,
                 sentinel.token_key,
                 sentinel.token_secret,
             ),
             metadata_url.geturl(),
         ),
     )
Exemplo n.º 5
0
 def test_returns_populated_dict_when_http_proxy_is_set(self):
     Config.objects.set_config("enable_http_proxy", True)
     url = factory.make_parsed_url().geturl()
     Config.objects.set_config("http_proxy", url)
     self.assertEqual(
         {"http": urlparse(url), "https": urlparse(url)}, get_proxies()
     )
Exemplo n.º 6
0
 def test_make_parsed_url_accepts_explicit_port(self):
     port = factory.pick_port()
     url = factory.make_parsed_url(port=port)
     self.assertThat(
         url.netloc, EndsWith(':%d' % port),
         'The generated URL does not contain'
         'a port specification for port %d' % port)
Exemplo n.º 7
0
 def test_make_parsed_url_can_omit_port(self):
     url = factory.make_parsed_url(port=False)
     self.assertThat(
         url.netloc,
         Not(Contains(":")),
         "Generated url: %s contains a port number"
         "in netloc segment" % url.geturl(),
     )
Exemplo n.º 8
0
 def test_netloc_containing_non_ascii_characters_is_encoded_to_idna(self):
     argument = arguments.ParsedURL()
     example = factory.make_parsed_url()._replace(
         netloc="\u24b8\u211d\U0001d538\u24b5\U0001d502")
     encoded = argument.toString(example)
     self.assertThat(encoded, IsInstance(bytes))
     decoded = argument.fromString(encoded)
     # The non-ASCII netloc was encoded using IDNA.
     expected = example._replace(netloc="cra(z)y")
     self.assertThat(decoded.geturl(), Equals(expected.geturl()))
Exemplo n.º 9
0
    def test_make_parsed_url_pics_random_port(self):
        url = factory.make_parsed_url()
        self.assertThat(
            url.netloc, Contains(':'), 'Generated url: %s does not contain '
            'a port number in netloc segment' % url.geturl())

        self.assertTrue(
            url.netloc.split(':')[1].isdigit(),
            'Generated url: %s does not contain a valid '
            'port number in netloc segment' % url.geturl())

        url = factory.make_parsed_url(port=True)

        self.assertThat(url.netloc, Contains(':'),
                        ('Generated url: %s does not contain '
                         'a port number in netloc segment') % url.geturl())

        self.assertTrue(
            url.netloc.split(':')[1].isdigit(),
            'Generated url: %s does not contain a valid '
            'port number in netloc segment' % url.geturl())
Exemplo n.º 10
0
 def test_returns_populated_dict_when_http_proxy_is_disabled(self):
     Config.objects.set_config("enable_http_proxy", False)
     url = factory.make_parsed_url().geturl()
     Config.objects.set_config("http_proxy", url)
     self.assertEqual({"http": None, "https": None}, get_proxies())