From 1d0f79c848e96b52db1792c82021cb7de867d398 Mon Sep 17 00:00:00 2001 From: Patrick Devaney Date: Sun, 22 Dec 2024 23:33:39 -0500 Subject: [PATCH] adding unit test for spreadsheet_swarm --- tests/structs/test_spreadsheet_swarm.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/structs/test_spreadsheet_swarm.py b/tests/structs/test_spreadsheet_swarm.py index 4f1346c1..2af3b6d8 100644 --- a/tests/structs/test_spreadsheet_swarm.py +++ b/tests/structs/test_spreadsheet_swarm.py @@ -1,14 +1,17 @@ import os from datetime import datetime from uuid import uuid4 + # Import necessary classes from your swarm module from swarms.structs.agent import Agent from swarms.structs.base_swarm import BaseSwarm from swarms.telemetry.capture_sys_data import log_agent_data from swarms.utils.file_processing import create_file_in_folder from swarms import SpreadSheetSwarm + # Ensure you have an environment variable or default workspace dir workspace_dir = os.getenv("WORKSPACE_DIR", "./workspace") + def create_agents(num_agents: int): """ Create a list of agent instances. @@ -24,11 +27,14 @@ def create_agents(num_agents: int): agent_name = f"Agent-{i + 1}" agents.append(Agent(agent_name=agent_name)) return agents + def main(): # Number of agents to create num_agents = 5 + # Create the agents agents = create_agents(num_agents) + # Initialize the swarm with agents and other configurations swarm = SpreadSheetSwarm( name="Test-Swarm", @@ -38,28 +44,35 @@ def main(): max_loops=2, workspace_dir=workspace_dir ) + # Run a sample task in the swarm (synchronously) task = "process_data" # Ensure the run method is synchronous swarm_metadata = swarm.run(task) # Assuming this is made synchronous + # Print swarm metadata after task completion print("Swarm Metadata:") print(swarm_metadata) + # Check if CSV file has been created and saved if os.path.exists(swarm.save_file_path): print(f"Metadata saved to: {swarm.save_file_path}") else: print(f"Metadata not saved correctly. Check the save path.") + # Test saving metadata to JSON file swarm.data_to_json_file() + # Test exporting metadata to JSON swarm_json = swarm.export_to_json() print("Exported JSON metadata:") print(swarm_json) + # Log agent data print("Logging agent data:") print(log_agent_data(swarm.metadata.model_dump())) + # Run the synchronous main function if __name__ == "__main__": - main() \ No newline at end of file + main()