class UnicodeTests(TestCase): def setUp(self): self.base = URL('http://127.0.0.1/') self.text = u'ć' self.bytes = self.text.encode('utf8') def test_set_unicode_query_param_value(self): url = self.base.query_param('q', self.text) self.assertEqual(self.text, url.query_param('q')) def test_set_bytestring_query_param_value(self): url = self.base.query_param('q', self.bytes) self.assertEqual(self.text, url.query_param('q')) def test_set_unicode_query_param_key(self): url = self.base.query_param(self.text, 'value') self.assertEqual('value', url.query_param(self.text)) def test_set_bytestring_query_param_key(self): url = self.base.query_param(self.bytes, 'value') self.assertEqual('value', url.query_param(self.text)) def test_append_unicode_query_param(self): url = self.base.append_query_param('q', self.text) self.assertEqual(self.text, url.query_param('q')) def test_append_bytestring_query_param(self): url = self.base.append_query_param('q', self.bytes) self.assertEqual(self.text, url.query_param('q')) def test_set_unicode_query_params(self): url = self.base.query_params({'q': self.text}) self.assertEqual(self.text, url.query_param('q')) def test_set_bytestring_query_params(self): url = self.base.query_params({'q': self.bytes}) self.assertEqual(self.text, url.query_param('q')) def test_add_unicode_path_segment(self): url = self.base.add_path_segment(self.text) self.assertEqual(self.text, url.path_segment(0)) def test_add_bytestring_path_segment(self): url = self.base.add_path_segment(self.bytes) self.assertEqual(self.text, url.path_segment(0)) def test_add_bytestring_path_segment(self): url = self.base.add_path_segment(self.bytes) self.assertEqual(self.text, url.path_segment(0)) def test_add_unicode_fragment(self): url = self.base.fragment(self.text) self.assertEqual(self.text, url.fragment())
class UnicodeTests(TestCase): def setUp(self): self.base = URL("http://127.0.0.1/") self.text = u"ć" self.bytes = self.text.encode("utf8") def test_set_unicode_query_param_value(self): url = self.base.query_param("q", self.text) self.assertEqual(self.text, url.query_param("q")) def test_set_bytestring_query_param_value(self): url = self.base.query_param("q", self.bytes) self.assertEqual(self.text, url.query_param("q")) def test_set_unicode_query_param_key(self): url = self.base.query_param(self.text, "value") self.assertEqual("value", url.query_param(self.text)) def test_set_bytestring_query_param_key(self): url = self.base.query_param(self.bytes, "value") self.assertEqual("value", url.query_param(self.text)) def test_append_unicode_query_param(self): url = self.base.append_query_param("q", self.text) self.assertEqual(self.text, url.query_param("q")) def test_append_bytestring_query_param(self): url = self.base.append_query_param("q", self.bytes) self.assertEqual(self.text, url.query_param("q")) def test_set_unicode_query_params(self): url = self.base.query_params({"q": self.text}) self.assertEqual(self.text, url.query_param("q")) def test_set_bytestring_query_params(self): url = self.base.query_params({"q": self.bytes}) self.assertEqual(self.text, url.query_param("q")) def test_add_unicode_path_segment(self): url = self.base.add_path_segment(self.text) self.assertEqual(self.text, url.path_segment(0)) def test_add_bytestring_path_segment(self): url = self.base.add_path_segment(self.bytes) self.assertEqual(self.text, url.path_segment(0)) def test_add_bytestring_path_segment(self): url = self.base.add_path_segment(self.bytes) self.assertEqual(self.text, url.path_segment(0)) def test_add_unicode_fragment(self): url = self.base.fragment(self.text) self.assertEqual(self.text, url.fragment())
def test_google_login_url(google_client, settings): settings.GOOGLE_CLIENT_ID = '112233' google_login_url = URL(google_client.get_login_uri()) params = google_login_url.query_params() callback_url = URL(params['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) assert func is oauth_callback assert kwargs['service'] == GOOGLE assert params['scope'][0] == google_client.scope assert params['client_id'][0] == str(google_client.client_id)
def test_facebook_login_url(facebook_client, settings): settings.FACEBOOK_APP_ID = '112233' facebook_login_url = URL(facebook_client.get_login_uri()) query = facebook_login_url.query_params() callback_url = URL(query['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) assert func is oauth_callback assert kwargs['service'] == FACEBOOK assert query['scope'][0] == facebook_client.scope assert query['client_id'][0] == str(facebook_client.client_id)
def test_google_login_url(google_client, settings): settings.GOOGLE_CLIENT_ID = '112233' google_login_url = URL(google_client.get_login_uri()) params = google_login_url.query_params() callback_url = URL(params['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) assert func is oauth_callback assert kwargs['service'] == GOOGLE assert params['scope'][0] == google_client.scope assert params['client_id'][0] == str(google_client.client_id)
def test_facebook_login_url(facebook_client, settings): settings.FACEBOOK_APP_ID = '112233' facebook_login_url = URL(facebook_client.get_login_uri()) query = facebook_login_url.query_params() callback_url = URL(query['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) assert func is oauth_callback assert kwargs['service'] == FACEBOOK assert query['scope'][0] == facebook_client.scope assert query['client_id'][0] == str(facebook_client.client_id)
def test_google_login_url(): google_client = GoogleClient(local_host='local_host') google_login_url = URL(google_client.get_login_uri()) params = google_login_url.query_params() callback_url = URL(params['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) assert func is oauth_callback assert kwargs['service'] == GOOGLE assert params['scope'][0] == GoogleClient.scope assert params['client_id'][0] == str(GoogleClient.client_id)
def test_facebook_login_url(): facebook_client = FacebookClient(local_host='localhost') facebook_login_url = URL(facebook_client.get_login_uri()) query = facebook_login_url.query_params() callback_url = URL(query['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) assert func is oauth_callback assert kwargs['service'] == FACEBOOK assert query['scope'][0] == FacebookClient.scope assert query['client_id'][0] == str(FacebookClient.client_id)
def test_google_login_url(self): """Google login url is properly generated""" google_client = GoogleClient(local_host='local_host') google_login_url = URL(google_client.get_login_uri()) params = google_login_url.query_params() callback_url = URL(params['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) self.assertEquals(func, oauth_callback) self.assertEquals(kwargs['service'], GOOGLE) self.assertTrue(params['scope'][0] in GoogleClient.scope) self.assertEqual(params['client_id'][0], str(GoogleClient.client_id))
def test_facebook_login_url(self): """Facebook login url is properly generated""" facebook_client = FacebookClient(local_host='localhost') facebook_login_url = URL(facebook_client.get_login_uri()) query = facebook_login_url.query_params() callback_url = URL(query['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) self.assertEquals(func, oauth_callback) self.assertEquals(kwargs['service'], FACEBOOK) self.assertEqual(query['scope'][0], FacebookClient.scope) self.assertEqual(query['client_id'][0], str(FacebookClient.client_id))
def test_google_login_url(self): """Google login url is properly generated""" google_client = GoogleClient(local_host='local_host') google_login_url = URL(google_client.get_login_uri()) params = google_login_url.query_params() callback_url = URL(params['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) self.assertEquals(func, oauth_callback) self.assertEquals(kwargs['service'], GOOGLE) self.assertIn(params['scope'][0], GoogleClient.scope) self.assertEqual(params['client_id'][0], GoogleClient.client_id)
def test_facebook_login_url(self): """Facebook login url is properly generated""" facebook_client = FacebookClient(local_host='localhost') facebook_login_url = URL(facebook_client.get_login_uri()) query = facebook_login_url.query_params() callback_url = URL(query['redirect_uri'][0]) func, _args, kwargs = resolve(callback_url.path()) self.assertEquals(func, oauth_callback) self.assertEquals(kwargs['service'], FACEBOOK) self.assertEqual(query['scope'][0], FacebookClient.scope) self.assertEqual(query['client_id'][0], FacebookClient.client_id)
def url(app, path='/', **query): u = URL(host=app, path=path, query=query) return str(u.query_params(query))
def url(app, path='/', **query): # pragma: no cover u = URL(host=app, path=path, query=query) return str(u.query_params(query))
print(inline_url.as_string()) u = URL('postgres://*****:*****@localhost:1234/test?ssl=true') print(u.scheme()) print(u.host()) print(u.domain()) print(u.username()) print(u.password()) print(u.netloc()) print(u.port()) print(u.path()) print(u.query()) print(u.path_segments()) print(u.query_param('ssl')) print(u.query_param('ssl', as_list=True)) print(u.query_params()) print(u.has_query_param('ssl')) print(u.subdomains()) u = URL.from_string('https://github.com/minwook-shin') print(u.path_segment(0)) new_url = u.add_path_segment('minwook-shin.github.com') print(new_url.as_string()) from purl import expand print(expand(u"{/path*}", {'path': ['sub', 'index']})) from purl import Template template = Template("http://example.com{/path*}") url = template.expand({'path': ['sub', 'index']})