mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-22 09:51:08 +00:00
37 lines
1013 B
Python
37 lines
1013 B
Python
import os
|
|
import subprocess
|
|
from typing import Sequence
|
|
|
|
from approvaltests import verify, Options
|
|
|
|
|
|
def verify_command_line_with_inputs(
|
|
command, *, inputs: Sequence[any] = None, options: Options = None
|
|
):
|
|
input_string = "\n".join(map(lambda a: f"{a}", inputs))
|
|
verify_command_line(command, input_string=input_string, options=options)
|
|
|
|
|
|
def verify_command_line(
|
|
command_line,
|
|
*, # enforce keyword arguments - https://www.python.org/dev/peps/pep-3102/
|
|
input_string: str = None,
|
|
options: Options = None,
|
|
current_working_directory=".",
|
|
additional_environment_variables=None,
|
|
):
|
|
my_env = None
|
|
if additional_environment_variables:
|
|
my_env = {**os.environ, **additional_environment_variables}
|
|
verify(
|
|
subprocess.check_output(
|
|
command_line,
|
|
shell=True,
|
|
universal_newlines=True,
|
|
input=input_string,
|
|
cwd=current_working_directory,
|
|
env=my_env,
|
|
),
|
|
options=options,
|
|
)
|