darkmedia-x-api / engine /test_indicators.py
cybermedia's picture
Upload folder using huggingface_hub
343eed9 verified
import os
import json
import unittest
from pathlib import Path
from unittest.mock import patch, MagicMock
# Import the modules to test
import sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from memory_management import MemoryManager
import asset_generator
class TestIndicators(unittest.TestCase):
def test_memory_manager_status(self):
MemoryManager.set_status("TESTING")
self.assertEqual(MemoryManager.status, "TESTING")
MemoryManager.set_status("IDLE")
self.assertEqual(MemoryManager.status, "IDLE")
@patch('subprocess.check_output')
def test_get_gpu_usage(self, mock_subprocess):
# Mock nvidia-smi output
mock_subprocess.return_value = "42\n"
usage = asset_generator.get_gpu_usage()
self.assertEqual(usage, 42)
# Mock failure
mock_subprocess.side_effect = Exception("nvidia-smi not found")
usage = asset_generator.get_gpu_usage()
self.assertEqual(usage, 0)
def test_current_task_json_format(self):
# Test if the dictionary format matches what's expected by the dashboard
test_data = {
"story": "test_story",
"story_id": "test_id",
"progress": 50,
"img": "local",
"voc": "api",
"mem_status": "IDLE"
}
# This is just to ensure no typos in keys if we were to refactor
required_keys = ["story", "story_id", "progress", "img", "voc", "mem_status"]
for key in required_keys:
self.assertIn(key, test_data)
if __name__ == "__main__":
unittest.main()