From efea0db2d0ff61fcd80c9b56ef0eedac0adfe71d Mon Sep 17 00:00:00 2001
From: "valentin.emiya" <valentin.emiya@lif.univ-mrs.fr>
Date: Thu, 4 Jun 2020 13:04:46 +0200
Subject: [PATCH] test config file

---
 python/tffpy/tests/test_utils.py | 43 ++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 python/tffpy/tests/test_utils.py

diff --git a/python/tffpy/tests/test_utils.py b/python/tffpy/tests/test_utils.py
new file mode 100644
index 0000000..0735a90
--- /dev/null
+++ b/python/tffpy/tests/test_utils.py
@@ -0,0 +1,43 @@
+import unittest
+from unittest.mock import patch
+import tempfile
+from pathlib import Path
+from configparser import ConfigParser
+
+from tffpy.utils import generate_config, get_data_path
+
+
+class TestGenerateConfig(unittest.TestCase):
+    def test_generate_config(self):
+        with patch('tffpy.utils.get_config_file') as mock:
+            mock.return_value = Path(tempfile.mkdtemp()) / 'tffpy.conf'
+            config_file = mock.return_value
+            self.assertFalse(config_file.exists())
+            generate_config()
+            self.assertTrue(config_file.exists())
+
+
+class TestGetDataPath(unittest.TestCase):
+    def test_get_data_path(self):
+        with patch('tffpy.utils.get_config_file') as mock:
+            mock.return_value = Path(tempfile.mkdtemp()) / 'tffpy.conf'
+            config_file = mock.return_value
+
+            self.assertFalse(config_file.exists())
+            with self.assertRaises(Exception):
+                get_data_path()
+
+            generate_config()
+            with self.assertRaises(Exception):
+                get_data_path()
+
+            config = ConfigParser()
+            config.read(config_file)
+            true_data_path = Path(__file__).absolute().parents[3] / 'data'
+            print(true_data_path)
+            self.assertTrue(true_data_path.exists())
+            print('Data path:', str(true_data_path))
+            config.set('DATA', 'data_path', str(true_data_path))
+            config.write(open(config_file, 'w'))
+            tested_data_path = get_data_path()
+            self.assertEqual(tested_data_path, true_data_path)
-- 
GitLab