From c531d6a5ff3fd3a3d75fbbed335571c5fa511be6 Mon Sep 17 00:00:00 2001 From: isl Date: Wed, 30 Nov 2022 22:32:48 +0000 Subject: [PATCH] fix UT --- tests/ip_config_test.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tests/ip_config_test.py b/tests/ip_config_test.py index c9fc364cf7c..5680fe24c93 100644 --- a/tests/ip_config_test.py +++ b/tests/ip_config_test.py @@ -6,6 +6,7 @@ from mock import patch from click.testing import CliRunner +from jsonpatch import JsonPatchConflict import config.main as config import show.main as show @@ -272,9 +273,10 @@ def test_intf_unknown_vrf_bind(self): assert result.exit_code == 0 @patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_mod_entry", mock.Mock(side_effect=ValueError)) + @patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_set_entry", mock.Mock(side_effect=ValueError)) @patch("validated_config_db_connector.device_info.is_yang_config_validation_enabled", mock.Mock(return_value=True)) @patch("config.main.ConfigDBConnector.get_entry", mock.Mock(return_value={"mgmtVrfEnabled": "false"})) - def test_add_intf_unknown_vrf_bind_yang_validation(self): + def test_add_vrf_invalid_configdb_yang_validation(self): runner = CliRunner() db = Db() obj = {'config_db':db.cfgdb, 'namespace':db.db.namespace} @@ -282,12 +284,20 @@ def test_add_intf_unknown_vrf_bind_yang_validation(self): result = runner.invoke(config.config.commands["vrf"].commands["add"], ["mgmt"], obj=obj) print(result.exit_code) print(result.output) + assert "Invalid ConfigDB. Error" in result.output assert result.exit_code != 0 + result = runner.invoke(config.config.commands["vrf"].commands["add"], ["Vrf01"], obj=obj) + print(result.exit_code) + print(result.output) + assert "Invalid ConfigDB. Error" in result.output + assert result.exit_code != 0 + @patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_mod_entry", mock.Mock(side_effect=ValueError)) + @patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_set_entry", mock.Mock(side_effect=JsonPatchConflict)) @patch("validated_config_db_connector.device_info.is_yang_config_validation_enabled", mock.Mock(return_value=True)) @patch("config.main.ConfigDBConnector.get_entry", mock.Mock(return_value={"mgmtVrfEnabled": "true"})) - def test_del_intf_unknown_vrf_bind_yang_validation(self): + def test_del_vrf_invalid_configdb_yang_validation(self): runner = CliRunner() db = Db() obj = {'config_db':db.cfgdb, 'namespace':db.db.namespace} @@ -295,8 +305,15 @@ def test_del_intf_unknown_vrf_bind_yang_validation(self): result = runner.invoke(config.config.commands["vrf"].commands["del"], ["mgmt"], obj=obj) print(result.exit_code) print(result.output) + assert "Invalid ConfigDB. Error" in result.output assert result.exit_code != 0 + result = runner.invoke(config.config.commands["vrf"].commands["del"], ["Vrf01"], obj=obj) + print(result.exit_code) + print(result.output) + assert "Invalid ConfigDB. Error" in result.output + assert result.exit_code != 0 + @classmethod def teardown_class(cls): os.environ['UTILITIES_UNIT_TESTING'] = "0"