summaryrefslogtreecommitdiff
path: root/t/unit/utils/test_url.py
diff options
context:
space:
mode:
Diffstat (limited to 't/unit/utils/test_url.py')
-rw-r--r--t/unit/utils/test_url.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/t/unit/utils/test_url.py b/t/unit/utils/test_url.py
new file mode 100644
index 00000000..3d2b0ede
--- /dev/null
+++ b/t/unit/utils/test_url.py
@@ -0,0 +1,39 @@
+from __future__ import absolute_import, unicode_literals
+
+import pytest
+
+from kombu.utils.url import as_url, parse_url, maybe_sanitize_url
+
+
+def test_parse_url():
+ assert parse_url('amqp://user:pass@localhost:5672/my/vhost') == {
+ 'transport': 'amqp',
+ 'userid': 'user',
+ 'password': 'pass',
+ 'hostname': 'localhost',
+ 'port': 5672,
+ 'virtual_host': 'my/vhost',
+ }
+
+
+@pytest.mark.parametrize('urltuple,expected', [
+ (('https',), 'https:///'),
+ (('https', 'e.com'), 'https://e.com/'),
+ (('https', 'e.com', 80), 'https://e.com:80/'),
+ (('https', 'e.com', 80, 'u'), 'https://u@e.com:80/'),
+ (('https', 'e.com', 80, 'u', 'p'), 'https://u:p@e.com:80/'),
+ (('https', 'e.com', 80, None, 'p'), 'https://:p@e.com:80/'),
+ (('https', 'e.com', 80, None, 'p', '/foo'), 'https://:p@e.com:80//foo'),
+])
+def test_as_url(urltuple, expected):
+ assert as_url(*urltuple) == expected
+
+
+@pytest.mark.parametrize('url,expected', [
+ ('foo', 'foo'),
+ ('http://u:p@e.com//foo', 'http://u:**@e.com//foo'),
+])
+def test_maybe_sanitize_url(url, expected):
+ assert maybe_sanitize_url(url) == expected
+ assert (maybe_sanitize_url('http://u:p@e.com//foo') ==
+ 'http://u:**@e.com//foo')