From b5484aaf8cf0aef2abacd51aa0c004c1062fc146 Mon Sep 17 00:00:00 2001 From: Manish Sah Date: Sat, 11 Oct 2025 10:55:48 +0545 Subject: [PATCH] test: Convert test_resolv.py from unittest to pytest Refactored tests/unittests/distros/test_resolv.py to use pytest instead of unittest.TestCase as part of the pytest migration effort. - Removed TestCase inheritance - Converted self.assert* methods to bare assert statements - Replaced self.assertRaises with pytest.raises context manager - Maintained all original test functionality Related: #6427 --- tests/unittests/distros/test_resolv.py | 52 +++++++++++++------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/tests/unittests/distros/test_resolv.py b/tests/unittests/distros/test_resolv.py index 9a89a4be407..e855b2a85e6 100644 --- a/tests/unittests/distros/test_resolv.py +++ b/tests/unittests/distros/test_resolv.py @@ -2,8 +2,9 @@ import re +import pytest + from cloudinit.distros.parsers import resolv_conf -from tests.unittests.helpers import TestCase BASE_RESOLVE = """ ; generated by /sbin/dhclient-script @@ -14,54 +15,55 @@ BASE_RESOLVE = BASE_RESOLVE.strip() -class TestResolvHelper(TestCase): +class TestResolvHelper: def test_parse_same(self): rp = resolv_conf.ResolvConf(BASE_RESOLVE) rp_r = str(rp).strip() - self.assertEqual(BASE_RESOLVE, rp_r) + assert BASE_RESOLVE == rp_r def test_local_domain(self): rp = resolv_conf.ResolvConf(BASE_RESOLVE) - self.assertIsNone(rp.local_domain) + assert rp.local_domain is None rp.local_domain = "bob" - self.assertEqual("bob", rp.local_domain) - self.assertIn("domain bob", str(rp)) + assert "bob" == rp.local_domain + assert "domain bob" in str(rp) def test_nameservers(self): rp = resolv_conf.ResolvConf(BASE_RESOLVE) # Start with two nameservers that already appear in the configuration. - self.assertIn("10.15.44.14", rp.nameservers) - self.assertIn("10.15.30.92", rp.nameservers) + assert "10.15.44.14" in rp.nameservers + assert "10.15.30.92" in rp.nameservers # Add a third nameserver and verify it appears in the resolv.conf. rp.add_nameserver("10.2") - self.assertIn("10.2", rp.nameservers) - self.assertIn("nameserver 10.2", str(rp)) - self.assertEqual(len(rp.nameservers), 3) + assert "10.2" in rp.nameservers + assert "nameserver 10.2" in str(rp) + assert len(rp.nameservers) == 3 # Add a fourth nameserver and verify it appears in the resolv.conf. rp.add_nameserver("10.3") - self.assertIn("10.3", rp.nameservers) - self.assertIn("nameserver 10.3", str(rp)) - self.assertEqual(len(rp.nameservers), 4) + assert "10.3" in rp.nameservers + assert "nameserver 10.3" in str(rp) + assert len(rp.nameservers) == 4 def test_search_domains(self): rp = resolv_conf.ResolvConf(BASE_RESOLVE) - self.assertIn("yahoo.com", rp.search_domains) - self.assertIn("blah.yahoo.com", rp.search_domains) + assert "yahoo.com" in rp.search_domains + assert "blah.yahoo.com" in rp.search_domains rp.add_search_domain("bbb.y.com") - self.assertIn("bbb.y.com", rp.search_domains) - self.assertTrue(re.search(r"search(.*)bbb.y.com(.*)", str(rp))) - self.assertIn("bbb.y.com", rp.search_domains) + assert "bbb.y.com" in rp.search_domains + assert re.search(r"search(.*)bbb.y.com(.*)", str(rp)) + assert "bbb.y.com" in rp.search_domains rp.add_search_domain("bbb.y.com") - self.assertEqual(len(rp.search_domains), 3) + assert len(rp.search_domains) == 3 rp.add_search_domain("bbb2.y.com") - self.assertEqual(len(rp.search_domains), 4) + assert len(rp.search_domains) == 4 rp.add_search_domain("bbb3.y.com") - self.assertEqual(len(rp.search_domains), 5) + assert len(rp.search_domains) == 5 rp.add_search_domain("bbb4.y.com") - self.assertEqual(len(rp.search_domains), 6) - self.assertRaises(ValueError, rp.add_search_domain, "bbb5.y.com") - self.assertEqual(len(rp.search_domains), 6) + assert len(rp.search_domains) == 6 + with pytest.raises(ValueError): + rp.add_search_domain("bbb5.y.com") + assert len(rp.search_domains) == 6