mirror of
https://github.com/aljazceru/gpt-engineer.git
synced 2025-12-17 20:55:09 +01:00
Remove delete_existing option; Introduce archive (#409)
* Remove `delete_existing` option; Introduce archive * Update gpt_engineer/db.py * Update gpt_engineer/main.py * Update gpt_engineer/main.py * Update gpt_engineer/steps.py * Update gpt_engineer/steps.py --------- Co-authored-by: Anton Osika <anton.osika@gmail.com>
This commit is contained in:
44
tests/steps/test_archive.py
Normal file
44
tests/steps/test_archive.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import datetime
|
||||
import os
|
||||
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from gpt_engineer.db import DB, DBs
|
||||
from gpt_engineer.steps import archive
|
||||
|
||||
|
||||
def freeze_at(monkeypatch, time):
|
||||
datetime_mock = MagicMock(wraps=datetime.datetime)
|
||||
datetime_mock.now.return_value = time
|
||||
monkeypatch.setattr(datetime, "datetime", datetime_mock)
|
||||
|
||||
|
||||
def setup_dbs(tmp_path, dir_names):
|
||||
directories = [tmp_path / name for name in dir_names]
|
||||
|
||||
# Create DB objects
|
||||
dbs = [DB(dir) for dir in directories]
|
||||
|
||||
# Create DBs instance
|
||||
return DBs(*dbs)
|
||||
|
||||
|
||||
def test_archive(tmp_path, monkeypatch):
|
||||
dbs = setup_dbs(
|
||||
tmp_path, ["memory", "logs", "preprompts", "input", "workspace", "archive"]
|
||||
)
|
||||
freeze_at(monkeypatch, datetime.datetime(2020, 12, 25, 17, 5, 55))
|
||||
archive(None, dbs)
|
||||
assert not os.path.exists(tmp_path / "memory")
|
||||
assert not os.path.exists(tmp_path / "workspace")
|
||||
assert os.path.isdir(tmp_path / "archive" / "20201225_170555")
|
||||
|
||||
dbs = setup_dbs(
|
||||
tmp_path, ["memory", "logs", "preprompts", "input", "workspace", "archive"]
|
||||
)
|
||||
freeze_at(monkeypatch, datetime.datetime(2022, 8, 14, 8, 5, 12))
|
||||
archive(None, dbs)
|
||||
assert not os.path.exists(tmp_path / "memory")
|
||||
assert not os.path.exists(tmp_path / "workspace")
|
||||
assert os.path.isdir(tmp_path / "archive" / "20201225_170555")
|
||||
assert os.path.isdir(tmp_path / "archive" / "20220814_080512")
|
||||
Reference in New Issue
Block a user