Add test for relative path uris and ssm
fix code to make relative paths work again. changed miniuri/miniuri.py changed setup.py changed test_miniuri.py
This commit is contained in:
parent
1261b26990
commit
e11161ea14
3 changed files with 37 additions and 8 deletions
|
|
@ -56,7 +56,10 @@ class Uri(object):
|
||||||
self.authority = uri.split("/")[0]
|
self.authority = uri.split("/")[0]
|
||||||
|
|
||||||
# invoke path setter.
|
# invoke path setter.
|
||||||
self.path = uri[len(self.authority) :]
|
offset = 0
|
||||||
|
if self.authority:
|
||||||
|
offset = len(self.authority)
|
||||||
|
self.path = uri[offset:]
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def authority(self):
|
def authority(self):
|
||||||
|
|
@ -76,12 +79,13 @@ class Uri(object):
|
||||||
@authority.setter
|
@authority.setter
|
||||||
def authority(self, a):
|
def authority(self, a):
|
||||||
"""set all the attribute that makeup a authority"""
|
"""set all the attribute that makeup a authority"""
|
||||||
self.username = self.password = self.port = None
|
if a:
|
||||||
self.hostname = a
|
self.username = self.password = self.port = None
|
||||||
if "@" in self.hostname:
|
self.hostname = a
|
||||||
self.userinfo, self.hostname = a.split("@") # userinfo setter
|
if "@" in self.hostname:
|
||||||
if ":" in self.hostname:
|
self.userinfo, self.hostname = a.split("@") # userinfo setter
|
||||||
self.hostname, self.port = self.hostname.split(":")
|
if ":" in self.hostname:
|
||||||
|
self.hostname, self.port = self.hostname.split(":")
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def relative_uri(self):
|
def relative_uri(self):
|
||||||
|
|
|
||||||
2
setup.py
2
setup.py
|
|
@ -4,7 +4,7 @@ from setuptools import setup, find_packages
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="miniuri",
|
name="miniuri",
|
||||||
version="1.0.6",
|
version="1.0.7",
|
||||||
long_description=open("README.rst").read(),
|
long_description=open("README.rst").read(),
|
||||||
description="miniuri: The Universal URI Parser",
|
description="miniuri: The Universal URI Parser",
|
||||||
keywords="miniuri uri url parser",
|
keywords="miniuri uri url parser",
|
||||||
|
|
|
||||||
|
|
@ -185,6 +185,15 @@ class TestMiniUri(TestCase):
|
||||||
def test_relative_uri(self):
|
def test_relative_uri(self):
|
||||||
self.assertEqual(self.u.relative_uri, "/path/filename.jpg?p=2#5")
|
self.assertEqual(self.u.relative_uri, "/path/filename.jpg?p=2#5")
|
||||||
|
|
||||||
|
def test_only_relative_uri(self):
|
||||||
|
u = Uri("/about.html")
|
||||||
|
self.assertEqual(u.relative_uri, "/about.html")
|
||||||
|
self.assertEqual(u.filename, "about.html")
|
||||||
|
self.assertEqual(u.extension, "html")
|
||||||
|
self.assertIsNone(u.fragment, None)
|
||||||
|
self.assertIsNone(u.hostname, None)
|
||||||
|
self.assertIsNone(u.scheme, None)
|
||||||
|
|
||||||
def test_empty_uri_sets_attrs_to_none(self):
|
def test_empty_uri_sets_attrs_to_none(self):
|
||||||
self.u.uri = ""
|
self.u.uri = ""
|
||||||
self.assertEqual(self.u.uri, "")
|
self.assertEqual(self.u.uri, "")
|
||||||
|
|
@ -246,3 +255,19 @@ class TestMiniUri(TestCase):
|
||||||
self.assertIsNone(self.u.fragment)
|
self.assertIsNone(self.u.fragment)
|
||||||
self.assertIsNone(self.u.extension)
|
self.assertIsNone(self.u.extension)
|
||||||
self.assertIsNone(self.u.authority)
|
self.assertIsNone(self.u.authority)
|
||||||
|
|
||||||
|
def test_ssm_uri(self):
|
||||||
|
self.u = Uri("ssm:///path/to/my/parameter")
|
||||||
|
self.assertEqual(self.u.uri, "ssm:///path/to/my/parameter")
|
||||||
|
self.assertEqual(self.u.scheme, "ssm")
|
||||||
|
self.assertIsNone(self.u.username)
|
||||||
|
self.assertIsNone(self.u.password)
|
||||||
|
self.assertIsNone(self.u.hostname)
|
||||||
|
self.assertIsNone(self.u.port)
|
||||||
|
self.assertEqual(self.u.path, "/path/to/my/parameter")
|
||||||
|
self.assertEqual(self.u.filename, "parameter")
|
||||||
|
self.assertIsNone(self.u.query)
|
||||||
|
self.assertIsNone(self.u.fragment)
|
||||||
|
self.assertIsNone(self.u.extension)
|
||||||
|
self.assertIsNone(self.u.authority)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue