feat: Add synopisis core loop (#166)

Co-authored-by: Michael Neale <michael.neale@gmail.com>
This commit is contained in:
Bradley Axen
2024-10-18 13:00:17 -07:00
committed by GitHub
parent 76a50659ad
commit 6cf416c128
24 changed files with 1166 additions and 333 deletions
-39
View File
@@ -3,15 +3,12 @@ from pathlib import Path
from unittest.mock import patch
import pytest
from exchange import Message
from goose.utils.session_file import (
is_empty_session,
list_sorted_session_files,
read_from_file,
read_or_create_file,
save_latest_session,
session_file_exists,
write_to_file,
)
@@ -20,17 +17,6 @@ def file_path(tmp_path):
return tmp_path / "test_file.jsonl"
def test_read_write_to_file(file_path):
messages = [
Message.user("prompt1"),
Message.user("prompt2"),
]
write_to_file(file_path, messages)
assert file_path.exists()
assert read_from_file(file_path) == messages
def test_read_from_file_non_existing_file(tmp_path):
with pytest.raises(FileNotFoundError):
read_from_file(tmp_path / "no_existing.json")
@@ -49,16 +35,6 @@ def test_read_or_create_file_when_file_not_exist(tmp_path):
assert os.path.exists(file_path)
def test_read_or_create_file_when_file_exists(file_path):
messages = [
Message.user("prompt1"),
]
write_to_file(file_path, messages)
assert file_path.exists()
assert read_from_file(file_path) == messages
def test_list_sorted_session_files(tmp_path):
session_files_directory = tmp_path / "session_files_dir"
session_files_directory.mkdir()
@@ -98,21 +74,6 @@ def test_session_file_exists_return_true_when_session_file_exists(tmp_path):
assert session_file_exists(session_files_directory)
def test_save_latest_session(file_path, tmp_path):
messages = [
Message.user("prompt1"),
Message.user("prompt2"),
]
write_to_file(file_path, messages)
messages.append(Message.user("prompt3"))
save_latest_session(file_path, messages)
messages_in_file = read_from_file(file_path)
assert messages_in_file == messages
assert len(messages_in_file) == 3
def create_session_file(file_path, file_name) -> Path:
file = file_path / f"{file_name}.jsonl"
file.touch()