tracker/test_tracker.py

45 lines
1.2 KiB
Python

"""
Unit tests for tracker functionality
"""
import unittest
from unittest.mock import Mock, patch
from tracker import SystemTracker
class TestSystemTracker(unittest.TestCase):
def setUp(self):
self.tracker = SystemTracker()
@patch('psutil.cpu_percent')
def test_get_cpu_usage(self, mock_cpu):
mock_cpu.return_value = 50.0
result = self.tracker.get_cpu_usage()
self.assertEqual(result, 50.0)
@patch('psutil.virtual_memory')
def test_get_memory_info(self, mock_mem):
mock_mem.return_value = Mock(
total=8589934592,
available=4294967296,
percent=50.0,
used=4294967296
)
result = self.tracker.get_memory_info()
self.assertEqual(result['percent'], 50.0)
self.assertEqual(result['total'], 8589934592)
@patch('psutil.disk_usage')
def test_get_disk_usage(self, mock_disk):
mock_disk.return_value = Mock(
total=1000000000000,
used=500000000000,
free=500000000000,
percent=50.0
)
result = self.tracker.get_disk_usage()
self.assertEqual(result['percent'], 50.0)
if __name__ == '__main__':
unittest.main()