From d269fb6a1c877caaf6c5fe5cb4da9e4197c2a0d0 Mon Sep 17 00:00:00 2001 From: Dmitrii Iurco Date: Wed, 22 Apr 2026 07:53:54 -0400 Subject: [PATCH] fix: test_dns_resolution tests mock socket not subprocess The implementation uses socket.getaddrinfo; the tests were patching subprocess.run which had no effect, causing both tests to fail. Co-Authored-By: Claude Sonnet 4.6 --- tests/test_network_manager.py | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/tests/test_network_manager.py b/tests/test_network_manager.py index 4655604..0f05d24 100644 --- a/tests/test_network_manager.py +++ b/tests/test_network_manager.py @@ -199,29 +199,20 @@ test2 1800 IN CNAME test1 self.assertFalse(status['running']) self.assertIn('stats', status) - @patch('subprocess.run') - def test_test_dns_resolution(self, mock_run): + @patch('socket.getaddrinfo') + def test_test_dns_resolution(self, mock_getaddrinfo): """Test DNS resolution testing""" - # Mock successful DNS resolution - mock_run.return_value.returncode = 0 - mock_run.return_value.stdout = 'test.cell -> 192.168.1.100' - mock_run.return_value.stderr = '' - + mock_getaddrinfo.return_value = [(None, None, None, None, ('192.168.1.100', 0))] result = self.network_manager.test_dns_resolution('test.cell') - self.assertTrue(result['success']) self.assertIn('192.168.1.100', result['output']) - - @patch('subprocess.run') - def test_test_dns_resolution_failure(self, mock_run): + + @patch('socket.getaddrinfo') + def test_test_dns_resolution_failure(self, mock_getaddrinfo): """Test DNS resolution testing with failure""" - # Mock failed DNS resolution - mock_run.return_value.returncode = 1 - mock_run.return_value.stdout = '' - mock_run.return_value.stderr = 'NXDOMAIN' - + import socket + mock_getaddrinfo.side_effect = socket.gaierror('NXDOMAIN') result = self.network_manager.test_dns_resolution('nonexistent.cell') - self.assertFalse(result['success']) self.assertIn('NXDOMAIN', result['error'])