Files
dev-gpt/test/conftest.py
2023-06-05 18:41:45 +02:00

43 lines
1.1 KiB
Python

import os
from typing import List, Generator
import pytest
from dev_gpt.apis.gpt import GPTSession
def input_generator(input_sequence: list) -> Generator[str, None, None]:
"""
Creates a generator that yields input strings from the given sequence.
:param input_sequence: A list of input strings.
:return: A generator that yields input strings.
"""
yield from input_sequence
@pytest.fixture
def mock_input_sequence(request, monkeypatch) -> None:
def get_next(_):
next_val = next(gen)
print(f"mocked user input: {next_val}")
return next_val
gen = input_generator(request.param)
monkeypatch.setattr("builtins.input", get_next)
@pytest.fixture
def microservice_dir(tmpdir) -> str:
"""
Creates a temporary directory for a microservice.
:param tmpdir: A temporary directory.
:return: The path of the temporary directory.
"""
return os.path.join(str(tmpdir), "microservice")
@pytest.fixture
def init_gpt(tmpdir):
os.environ['VERBOSE'] = 'true'
GPTSession(os.path.join(str(tmpdir), 'log.json'), model='gpt-3.5-turbo')