mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-08 15:48:29 +00:00
Some checks failed
Notify Downstream / notify-downstream (push) Has been cancelled
fix: resolve flaky tests and race conditions in test suite - Fix telemetry/event tests by patching class methods instead of instances - Use unique temp files/directories to prevent CI race conditions - Reset singleton state between tests - Mock embedchain.Client.setup() to prevent JSON corruption - Rename test files to test_*.py convention - Move agent tests to tests/agents directory - Fix repeated tool usage detection - Remove database-dependent tools causing initialization errors
56 lines
1.9 KiB
Python
56 lines
1.9 KiB
Python
import os
|
|
import tempfile
|
|
import unittest
|
|
|
|
from crewai.utilities.training_handler import CrewTrainingHandler
|
|
|
|
|
|
class InternalCrewTrainingHandler(unittest.TestCase):
|
|
def setUp(self):
|
|
self.temp_file = tempfile.NamedTemporaryFile(suffix=".pkl", delete=False)
|
|
self.temp_file.close()
|
|
self.handler = CrewTrainingHandler(self.temp_file.name)
|
|
|
|
def tearDown(self):
|
|
if os.path.exists(self.temp_file.name):
|
|
os.remove(self.temp_file.name)
|
|
del self.handler
|
|
|
|
def test_save_trained_data(self):
|
|
agent_id = "agent1"
|
|
trained_data = {"param1": 1, "param2": 2}
|
|
self.handler.save_trained_data(agent_id, trained_data)
|
|
|
|
# Assert that the trained data is saved correctly
|
|
data = self.handler.load()
|
|
assert data[agent_id] == trained_data
|
|
|
|
def test_append_existing_agent(self):
|
|
agent_id = "agent1"
|
|
initial_iteration = 0
|
|
initial_data = {"param1": 1, "param2": 2}
|
|
|
|
self.handler.append(initial_iteration, agent_id, initial_data)
|
|
|
|
train_iteration = 1
|
|
new_data = {"param3": 3, "param4": 4}
|
|
self.handler.append(train_iteration, agent_id, new_data)
|
|
|
|
# Assert that the new data is appended correctly to the existing agent
|
|
data = self.handler.load()
|
|
assert agent_id in data
|
|
assert initial_iteration in data[agent_id]
|
|
assert train_iteration in data[agent_id]
|
|
assert data[agent_id][initial_iteration] == initial_data
|
|
assert data[agent_id][train_iteration] == new_data
|
|
|
|
def test_append_new_agent(self):
|
|
train_iteration = 1
|
|
agent_id = "agent2"
|
|
new_data = {"param5": 5, "param6": 6}
|
|
self.handler.append(train_iteration, agent_id, new_data)
|
|
|
|
# Assert that the new agent and data are appended correctly
|
|
data = self.handler.load()
|
|
assert data[agent_id][train_iteration] == new_data
|