mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-08 15:48:29 +00:00
46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
import os
|
|
import unittest
|
|
|
|
import pytest
|
|
|
|
from crewai.utilities.file_handler import PickleHandler
|
|
|
|
|
|
class TestPickleHandler(unittest.TestCase):
|
|
def setUp(self):
|
|
self.file_name = "test_data.pkl"
|
|
self.file_path = os.path.join(os.getcwd(), self.file_name)
|
|
self.handler = PickleHandler(self.file_name)
|
|
|
|
def tearDown(self):
|
|
if os.path.exists(self.file_path):
|
|
os.remove(self.file_path)
|
|
|
|
def test_initialize_file(self):
|
|
assert os.path.exists(self.file_path) is False
|
|
|
|
self.handler.initialize_file()
|
|
|
|
assert os.path.exists(self.file_path) is True
|
|
assert os.path.getsize(self.file_path) >= 0
|
|
|
|
def test_save_and_load(self):
|
|
data = {"key": "value"}
|
|
self.handler.save(data)
|
|
loaded_data = self.handler.load()
|
|
assert loaded_data == data
|
|
|
|
def test_load_empty_file(self):
|
|
loaded_data = self.handler.load()
|
|
assert loaded_data == {}
|
|
|
|
def test_load_corrupted_file(self):
|
|
with open(self.file_path, "wb") as file:
|
|
file.write(b"corrupted data")
|
|
|
|
with pytest.raises(Exception) as exc:
|
|
self.handler.load()
|
|
|
|
assert str(exc.value) == "pickle data was truncated"
|
|
assert "<class '_pickle.UnpicklingError'>" == str(exc.type)
|