summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2023-03-20 11:27:50 -0700
committerTim Burke <tim.burke@gmail.com>2023-03-20 17:23:38 -0700
commit9e703b9345cffd90d723e0ce5c180a385c75c62e (patch)
tree47706cf818b87f90126015cb03425c7a8ced1d02 /test
parent779cf7484e44855ddbf6f29d48af79104e42a0a6 (diff)
downloadpython-swiftclient-9e703b9345cffd90d723e0ce5c180a385c75c62e.tar.gz
shell: Allow timeouts to have units
Related-Change: Ibbe7e5aa8aa8e54935da76109c2ea13fb83bc7ab Change-Id: Ifeaaea790d1dadc84b157a7cf2be7590949c70f0
Diffstat (limited to 'test')
-rw-r--r--test/unit/test_shell.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/unit/test_shell.py b/test/unit/test_shell.py
index 98d73e9..f103246 100644
--- a/test/unit/test_shell.py
+++ b/test/unit/test_shell.py
@@ -2424,6 +2424,27 @@ class TestDebugAndInfoOptions(unittest.TestCase):
% (mock_logging.call_args_list, argv))
+@mock.patch.dict(os.environ, mocked_os_environ)
+class TestTimeoutOption(unittest.TestCase):
+ @mock.patch('swiftclient.service.Connection')
+ def test_timeout_parsing(self, connection):
+ for timeout, expected in (
+ ("12", 12),
+ ("12.3", 12.3),
+ ("5s", 5),
+ ("25.6s", 25.6),
+ ("2m", 120),
+ ("2.5min", 150),
+ ("1h", 3600),
+ (".5hr", 1800),
+ ):
+ connection.reset_mock()
+ with self.subTest(timeout=timeout):
+ swiftclient.shell.main(["", "stat", "--timeout", timeout])
+ self.assertEqual(connection.mock_calls[0].kwargs['timeout'],
+ expected)
+
+
class TestBase(unittest.TestCase):
"""
Provide some common methods to subclasses