class Test_Resolve_Query_String(TestCase):
    def setUp(self):
        super(Test_Resolve_Query_String, self).setUp()

        self.route = EndpointsRoute([], [], [], [])

        self.request_base_url = 'https://1.example.com/path'

    def test_with_no_override(self):
        url = self.route._resolve_query_string(
            self.request_base_url + '?curryproxy=1:test=123,2:test=456',
            '1'
        )

        self.assertEquals(self.request_base_url + '?test=123', url)

    def test_with_override(self):
        url = self.route._resolve_query_string(
            self.request_base_url + '?test=123&curryproxy=1:test=456',
            '1'
        )

        self.assertEquals(self.request_base_url + '?test=456', url)

    def test_no_params_for_endpoint(self):
        url = self.route._resolve_query_string(
            self.request_base_url + '?curryproxy=1:test=123',
            '2'
        )

        self.assertEquals(self.request_base_url, url)

    def test_multiple_parameters(self):
        url = self.route._resolve_query_string(
            self.request_base_url +
            '?curryproxy=1:test=123%26another_test=456,2:test=456',
            '1'
        )

        self.assertEquals(
            self.request_base_url + '?test=123&another_test=456',
            url
        )

    def test_multiple_curryproxy_parameters(self):
        url = self.route._resolve_query_string(
            (
                self.request_base_url +
                '?curryproxy=1:test=123&curryproxy=1:test=456'
            ),
            '1'
        )

        self.assertEquals(self.request_base_url + '?test=123', url)
Beispiel #2
0
class Test_Resolve_Query_String(TestCase):
    def setUp(self):
        super(Test_Resolve_Query_String, self).setUp()

        self.route = EndpointsRoute([], [], [], [])

        self.request_base_url = 'https://1.example.com/path'

    def test_with_no_override(self):
        url = self.route._resolve_query_string(
            self.request_base_url + '?curryproxy=1:test=123,2:test=456', '1')

        self.assertEquals(self.request_base_url + '?test=123', url)

    def test_with_override(self):
        url = self.route._resolve_query_string(
            self.request_base_url + '?test=123&curryproxy=1:test=456', '1')

        self.assertEquals(self.request_base_url + '?test=456', url)

    def test_no_params_for_endpoint(self):
        url = self.route._resolve_query_string(
            self.request_base_url + '?curryproxy=1:test=123', '2')

        self.assertEquals(self.request_base_url, url)

    @unittest.skip("FIXME: Broken test; fails half the time because the query "
                   "order isn't guaranteed")
    def test_multiple_parameters(self):
        url = self.route._resolve_query_string(
            self.request_base_url +
            '?curryproxy=1:test=123%26another_test=456,2:test=456', '1')

        self.assertEquals(self.request_base_url + '?test=123&another_test=456',
                          url)

    def test_multiple_curryproxy_parameters(self):
        url = self.route._resolve_query_string(
            (self.request_base_url +
             '?curryproxy=1:test=123&curryproxy=1:test=456'), '1')

        self.assertEquals(self.request_base_url + '?test=123', url)

    def test_upper_case_curryproxy_parameters(self):
        url = self.route._resolve_query_string(
            (self.request_base_url + '?curryproxy=A:test=123'), 'a')

        self.assertEquals(self.request_base_url + '?test=123', url)