TESTS TESTS ADDED MORE TEST TESTED GRESOURCES TESTS TESTS I LOVE TESTS SO MUCH

- Fully covered gresource orchestrator and it helpers with tests
- Use abstract command runner INSTEAD OF SUBPROCESS in gresources
- Replaced some subprocesses by builtin functions
This commit is contained in:
Vladyslav Hroshev
2025-04-06 21:56:27 +03:00
parent 9bb229df7d
commit 31e1a3deb9
20 changed files with 661 additions and 313 deletions

View File

View File

@@ -0,0 +1,14 @@
import subprocess
from abc import ABC, abstractmethod
class CommandRunner(ABC):
@abstractmethod
def run(self, command: list[str], **kwargs) -> subprocess.CompletedProcess:
"""
Run a command in the shell and return the output.
:param command: Command to run.
:param kwargs: Additional arguments for the command.
:return: Output of the command.
"""
pass

View File

@@ -0,0 +1,8 @@
import subprocess
from scripts.utils.command_runner.command_runner import CommandRunner
class SubprocessCommandRunner(CommandRunner):
def run(self, command: list[str], **kwargs) -> subprocess.CompletedProcess:
return subprocess.run(command, **kwargs)