From b8f01ab4f588a09c1582be10decc9c5d32dd9487 Mon Sep 17 00:00:00 2001 From: dennisvang <29799340+dennisvang@users.noreply.github.com> Date: Tue, 11 Jun 2024 16:51:56 +0200 Subject: [PATCH] test Respository.save_config for posix paths on windows --- tests/test_repo.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/tests/test_repo.py b/tests/test_repo.py index e3dfce3..42fae9b 100644 --- a/tests/test_repo.py +++ b/tests/test_repo.py @@ -1,5 +1,6 @@ import copy import tarfile +import unittest from datetime import date, datetime, timedelta import json import logging @@ -37,7 +38,7 @@ SUFFIX_PUB, SUFFIX_PATCH, ) - +from tufup.utils.platform_specific import ON_WINDOWS mock_input = Mock(return_value='') @@ -545,6 +546,22 @@ def test_save_config(self): # note Path.is_relative_to() is introduced in python 3.9 self.assertFalse(pathlib.Path(config_dict[key]).is_absolute()) + @unittest.skipUnless(condition=ON_WINDOWS, reason='windows only') + def test_save_config_windows_paths(self): + # prepare + kwargs = dict(repo_dir='foo\\repo', keys_dir='bar\\keys') + repo = Repository(app_name='test', **kwargs) + # test + repo.save_config() + self.assertTrue(repo.get_config_file_path().exists()) + config_text = repo.get_config_file_path().read_text() + print(config_text) + config = json.loads(repo.get_config_file_path().read_text()) + for key in kwargs.keys(): + with self.subTest(msg=key): + self.assertEqual(kwargs[key].replace('\\', '/'), config[key]) + + def test_load_config(self): # file does not exist self.assertEqual(dict(), Repository.load_config())