Skip to content
This repository has been archived by the owner on Jan 14, 2024. It is now read-only.

Commit

Permalink
#66: Make tests working
Browse files Browse the repository at this point in the history
  • Loading branch information
blackandred committed Aug 19, 2021
1 parent db21f39 commit abce032
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
11 changes: 8 additions & 3 deletions src/core/rkd/core/api/testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,17 +74,22 @@ class BasicTestingCase(TestCase):

_envs = None
_cwd = None
should_backup_env = True

def setUp(self) -> None:
os.environ['RKD_PATH'] = ''

self._envs = deepcopy(os.environ)
if self.should_backup_env:
self._envs = deepcopy(os.environ)

self._cwd = os.getcwd()

super().setUp()

def tearDown(self) -> None:
os.environ = self._envs
if self.should_backup_env:
os.environ = deepcopy(self._envs)

os.chdir(self._cwd)

super().tearDown()
Expand All @@ -110,7 +115,7 @@ def environment(self, environ: dict):
os.environ.update(environ)
yield
finally:
os.environ = backup
os.environ = deepcopy(backup)

@staticmethod
def satisfy_task_dependencies(task: TaskInterface, io: IO = None) -> TaskInterface:
Expand Down
14 changes: 9 additions & 5 deletions src/core/tests/test_argparsing.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#!/usr/bin/env python3

import os
from argparse import ArgumentParser
from unittest import mock

from rkd.core.api.inputoutput import IO, BufferedSystemIO
from rkd.core.api.testing import BasicTestingCase
from rkd.core.argparsing.parser import CommandlineParsingHelper
Expand All @@ -9,6 +11,8 @@


class ArgParsingTest(BasicTestingCase):
should_backup_env = False

def test_creates_grouped_arguments_into_tasks__task_after_flag(self):
""" Test parsing arguments """

Expand Down Expand Up @@ -214,18 +218,18 @@ def test_preparse_global_arguments_before_tasks_parses_imports_from_switch(self)
result['imports']
)

@mock.patch.dict(os.environ, {"RKD_IMPORTS": "bakunin:malatesta"}, clear=True)
def test_preparse_global_arguments_before_tasks_parses_imports_from_env(self):
with self.environment({'RKD_IMPORTS': 'bakunin:malatesta'}):
result = CommandlineParsingHelper.preparse_global_arguments_before_tasks([])
result = CommandlineParsingHelper.preparse_global_arguments_before_tasks([])

self.assertEqual(
['bakunin', 'malatesta'],
result['imports']
)

@mock.patch.dict(os.environ, {"RKD_SYS_LOG_LEVEL": "internal"}, clear=True)
def test_preparse_global_arguments_before_tasks_reacts_on_sys_log_level_env(self):
with self.environment({'RKD_SYS_LOG_LEVEL': 'internal'}):
result = CommandlineParsingHelper.preparse_global_arguments_before_tasks([])
result = CommandlineParsingHelper.preparse_global_arguments_before_tasks([])

self.assertEqual(
'internal',
Expand Down

0 comments on commit abce032

Please sign in to comment.