From 5d90e0ecd3047b2a011e08024b08a2fb13213dcf Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 11 Sep 2015 17:50:17 +0200 Subject: [PATCH] Add a test for creating standarddir dirs. --- tests/unit/utils/test_standarddir.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/unit/utils/test_standarddir.py b/tests/unit/utils/test_standarddir.py index 00829078c..1fe9bb67d 100644 --- a/tests/unit/utils/test_standarddir.py +++ b/tests/unit/utils/test_standarddir.py @@ -293,3 +293,26 @@ class TestInitCacheDirTag: assert len(caplog.records()) == 1 assert caplog.records()[0].message == 'Failed to create CACHEDIR.TAG' assert not tmpdir.listdir() + + +class TestCreatingDir: + + """Make sure inexistant directories are created properly.""" + + DIR_TYPES = ['config', 'data', 'cache', 'download', 'runtime', 'temp'] + + @pytest.mark.parametrize('typ', DIR_TYPES) + def test_basedir(self, tmpdir, typ): + """Test --basedir.""" + basedir = tmpdir / 'basedir' + assert not basedir.exists() + args = types.SimpleNamespace(basedir=str(basedir)) + standarddir.init(args) + + func = getattr(standarddir, typ) + func() + + assert basedir.exists() + + if os.name == 'posix': + assert basedir.stat().mode & 0o777 == 0o700