From e4cbfdb6e434a7d75951478295f85a1f5f6e1af8 Mon Sep 17 00:00:00 2001 From: Mike McLean Date: Oct 02 2019 14:58:44 +0000 Subject: tests for joinpath --- diff --git a/tests/test_lib/test_utils.py b/tests/test_lib/test_utils.py index ff78112..06af399 100644 --- a/tests/test_lib/test_utils.py +++ b/tests/test_lib/test_utils.py @@ -157,6 +157,28 @@ class MiscFunctionTestCase(unittest.TestCase): for m in mocks: m.assert_not_called() + def test_joinpath_bad(self): + bad_joins = [ + ['/foo', '../bar'], + ['/foo', 'a/b/../../../bar'], + ['/foo', '/bar'], + ['/foo//', '/bar'], + ['/foo', 'bar', 'baz', '/zoo'], + ] + for args in bad_joins: + with self.assertRaises(ValueError): + koji.util.joinpath(*args) + + def test_joinpath_good(self): + p = koji.util.joinpath('/foo', 'bar') + self.assertEquals(p, '/foo/bar') + + p = koji.util.joinpath('/foo', 'bar/../baz') + self.assertEquals(p, '/foo/baz') + + p = koji.util.joinpath('/foo', 'a/b/c/../../../z') + self.assertEquals(p, '/foo/z') + class ConfigFileTestCase(unittest.TestCase): """Test config file reading functions"""