From aca2d14e9350fde58aaaa95cdeff5b051c1d38d3 Mon Sep 17 00:00:00 2001 From: Olof Johansson Date: Mon, 20 Jan 2014 12:03:22 +0100 Subject: bitbake: fetch2.URI: add support for query parameters This change introduces the .query property of the URI class. It is a read/write dict of the parameters supplied in the query string of the URI. E.g.: http://example.com/?foo=bar => .query = {'foo': 'bar'} (Bitbake rev: 1cb2b3c458c8c5521591d2c8f2e0058143fc77bb) Signed-off-by: Olof Johansson Signed-off-by: Richard Purdie --- bitbake/lib/bb/tests/fetch.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'bitbake/lib/bb/tests/fetch.py') diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index f93a636586..15fe0ab2f2 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py @@ -39,6 +39,7 @@ class URITest(unittest.TestCase): 'username': '', 'password': '', 'params': {}, + 'query': {}, 'relative': False }, "http://www.google.com/index.html;param1=value1" : { @@ -54,6 +55,23 @@ class URITest(unittest.TestCase): 'params': { 'param1': 'value1' }, + 'query': {}, + 'relative': False + }, + "http://www.example.org/index.html?param1=value1" : { + 'uri': 'http://www.example.org/index.html?param1=value1', + 'scheme': 'http', + 'hostname': 'www.example.org', + 'port': None, + 'hostport': 'www.example.org', + 'path': '/index.html', + 'userinfo': '', + 'username': '', + 'password': '', + 'params': {}, + 'query': { + 'param1': 'value1' + }, 'relative': False }, "http://www.example.com:8080/index.html" : { @@ -67,6 +85,7 @@ class URITest(unittest.TestCase): 'username': '', 'password': '', 'params': {}, + 'query': {}, 'relative': False }, "cvs://anoncvs@cvs.handhelds.org/cvs;module=familiar/dist/ipkg" : { @@ -82,6 +101,7 @@ class URITest(unittest.TestCase): 'params': { 'module': 'familiar/dist/ipkg' }, + 'query': {}, 'relative': False }, "cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;tag=V0-99-81;module=familiar/dist/ipkg": { @@ -98,6 +118,7 @@ class URITest(unittest.TestCase): 'tag': 'V0-99-81', 'module': 'familiar/dist/ipkg' }, + 'query': {}, 'relative': False }, "file://example.diff": { # NOTE: Not RFC compliant! @@ -111,6 +132,7 @@ class URITest(unittest.TestCase): 'username': '', 'password': '', 'params': {}, + 'query': {}, 'relative': True }, "file:example.diff": { # NOTE: RFC compliant version of the former @@ -125,6 +147,7 @@ class URITest(unittest.TestCase): 'username': '', 'password': '', 'params': {}, + 'query': {}, 'relative': True }, "file:///tmp/example.diff": { @@ -139,6 +162,7 @@ class URITest(unittest.TestCase): 'username': '', 'password': '', 'params': {}, + 'query': {}, 'relative': False }, "git:///path/example.git": { @@ -153,6 +177,7 @@ class URITest(unittest.TestCase): 'username': '', 'password': '', 'params': {}, + 'query': {}, 'relative': False }, "git:path/example.git": { @@ -167,6 +192,7 @@ class URITest(unittest.TestCase): 'username': '', 'password': '', 'params': {}, + 'query': {}, 'relative': True }, "git://example.net/path/example.git": { @@ -181,6 +207,7 @@ class URITest(unittest.TestCase): 'username': '', 'password': '', 'params': {}, + 'query': {}, 'relative': False } } @@ -243,6 +270,9 @@ class URITest(unittest.TestCase): uri.params = test['params'] self.assertEqual(uri.params, test['params']) + uri.query = test['query'] + self.assertEqual(uri.query, test['query']) + self.assertEqual(str(uri), test['uri']) uri.params = {} -- cgit v1.2.3-54-g00ecf