summaryrefslogtreecommitdiffstats
path: root/tests/test_config.py
diff options
context:
space:
mode:
authorDavid Szotten <davidszotten@gmail.com>2016-02-03 22:28:04 +0000
committerDavid Szotten <davidszotten@gmail.com>2016-02-03 22:28:04 +0000
commit85181ab25280c44409ced27a50c84f8f722d9194 (patch)
treeb7109e6ac3489849adcc3397bbb07ec63df865ca /tests/test_config.py
parent43a13ba06557ec109ab723d5e084878942ea6386 (diff)
factor out `ensure_dir_exists` and use for log
Diffstat (limited to 'tests/test_config.py')
-rw-r--r--tests/test_config.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test_config.py b/tests/test_config.py
new file mode 100644
index 00000000..1c023e02
--- /dev/null
+++ b/tests/test_config.py
@@ -0,0 +1,30 @@
+import os
+import stat
+
+import pytest
+
+from pgcli.config import ensure_dir_exists
+
+
+def test_ensure_file_parent(tmpdir):
+ subdir = tmpdir.join("subdir")
+ rcfile = subdir.join("rcfile")
+ ensure_dir_exists(str(rcfile))
+
+
+def test_ensure_existing_dir(tmpdir):
+ rcfile = str(tmpdir.mkdir("subdir").join("rcfile"))
+
+ # should just not raise
+ ensure_dir_exists(rcfile)
+
+
+def test_ensure_other_create_error(tmpdir):
+ subdir = tmpdir.join("subdir")
+ rcfile = subdir.join("rcfile")
+
+ # trigger an oserror that isn't "directory already exists"
+ os.chmod(str(tmpdir), stat.S_IREAD)
+
+ with pytest.raises(OSError):
+ ensure_dir_exists(str(rcfile))