test_log_parser.py
1 # Python Imports 2 import unittest 3 from unittest.mock import patch 4 5 # Project Imports 6 from src import log_parser 7 8 9 class TestLogParser(unittest.TestCase): 10 11 @patch('builtins.open') 12 @patch('json.load') 13 def test_load_messages(self, mock_json_load, mock_open): 14 mock_data = {'key': 'value'} 15 mock_file = mock_open.return_value.__enter__.return_value 16 mock_file.read.return_value = 'dummy' 17 mock_json_load.return_value = mock_data 18 19 data = log_parser.load_messages('/path/to/simulation') 20 mock_open.assert_called_once_with('/path/to/simulation/messages.json', 'r') 21 mock_json_load.assert_called_once_with(mock_file) 22 self.assertEqual(data, mock_data) 23 24 def test_prepare_node_in_logs(self): 25 node_pbar = ['node1', 'node2'] 26 topology = {'nodes': {'node1': {'peer_id': 'peer1'}, 'node2': {'peer_id': 'peer2'}}} 27 node_logs = {} 28 container_name = 'container1' 29 30 log_parser.prepare_node_in_logs(node_pbar, topology, node_logs, container_name) 31 32 self.assertEqual(node_logs, {'pee*peer1': {'published': [], 'received': [], 33 'container_name': 'container1', 'peer_id': 'node1'}, 34 'pee*peer2': {'published': [], 'received': [], 35 'container_name': 'container1', 'peer_id': 'node2'}})