Skip to content

Commit

Permalink
fix UT
Browse files Browse the repository at this point in the history
  • Loading branch information
isabelmsft committed Nov 28, 2022
1 parent 7523ef0 commit 4cf6d3b
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 1 deletion.
68 changes: 68 additions & 0 deletions tests/config_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -1630,6 +1630,74 @@ def teardown_class(cls):
print("TEARDOWN")


class TestConfigWarmRestart(object):
@classmethod
def setup_class(cls):
print("SETUP")
import config.main
importlib.reload(config.main)

@patch("validated_config_db_connector.device_info.is_yang_config_validation_enabled", mock.Mock(return_value=True))
@patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_mod_entry", mock.Mock(side_effect=ValueError))
def test_warm_restart_neighsyncd_timer_yang_validation(self):
config.ADHOC_VALIDATION = True
runner = CliRunner()
db = Db()
obj = {'db':db.cfgdb}

result = runner.invoke(config.config.commands["warm_restart"].commands["neighsyncd_timer"], ["2000"], obj=obj)
print(result.exit_code)
print(result.output)
assert result.exit_code != 0
assert "Invalid ConfigDB. Error" in result.output

@patch("validated_config_db_connector.device_info.is_yang_config_validation_enabled", mock.Mock(return_value=True))
@patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_mod_entry", mock.Mock(side_effect=ValueError))
def test_warm_restart_bgp_timer_yang_validation(self):
config.ADHOC_VALIDATION = True
runner = CliRunner()
db = Db()
obj = {'db':db.cfgdb}

result = runner.invoke(config.config.commands["warm_restart"].commands["bgp_timer"], ["2000"], obj=obj)
print(result.exit_code)
print(result.output)
assert result.exit_code != 0
assert "Invalid ConfigDB. Error" in result.output

@patch("validated_config_db_connector.device_info.is_yang_config_validation_enabled", mock.Mock(return_value=True))
@patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_mod_entry", mock.Mock(side_effect=ValueError))
def test_warm_restart_teamsyncd_timer_yang_validation(self):
config.ADHOC_VALIDATION = True
runner = CliRunner()
db = Db()
obj = {'db':db.cfgdb}

result = runner.invoke(config.config.commands["warm_restart"].commands["teamsyncd_timer"], ["2000"], obj=obj)
print(result.exit_code)
print(result.output)
assert result.exit_code != 0
assert "Invalid ConfigDB. Error" in result.output

@patch("validated_config_db_connector.device_info.is_yang_config_validation_enabled", mock.Mock(return_value=True))
@patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_mod_entry", mock.Mock(side_effect=ValueError))
def test_warm_restart_bgp_eoiu_yang_validation(self):
config.ADHOC_VALIDATION = True
runner = CliRunner()
db = Db()
obj = {'db':db.cfgdb}

result = runner.invoke(config.config.commands["warm_restart"].commands["bgp_eoiu"], ["true"], obj=obj)
print(result.exit_code)
print(result.output)
assert result.exit_code != 0
assert "Invalid ConfigDB. Error" in result.output

@classmethod
def teardown_class(cls):
print("TEARDOWN")


class TestConfigLoopback(object):
@classmethod
def setup_class(cls):
Expand Down
19 changes: 18 additions & 1 deletion tests/ip_config_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@
import os
import traceback
from unittest import mock
from mock import patch

from click.testing import CliRunner

import config.main as config
import show.main as show
import config.validated_config_db_connector as validated_config_db_connector
from utilities_common.db import Db

test_path = os.path.dirname(os.path.abspath(__file__))
Expand Down Expand Up @@ -262,13 +264,28 @@ def test_intf_unknown_vrf_bind(self):
print(result.exit_code, result.output)
assert result.exit_code != 0
assert result.output == INVALID_MGMT_VRF_MSG

result = runner.invoke(config.config.commands["vrf"].commands["add"], ["mgmt"], obj=obj)
print(result.exit_code, result.output)
result = runner.invoke(config.config.commands["interface"].commands["vrf"].commands["bind"], ["Ethernet64", "mgmt"], obj=obj)
print(result.exit_code, result.output)
assert result.exit_code == 0

@patch("config.validated_config_db_connector.ValidatedConfigDBConnector.validated_mod_entry", mock.Mock(return_value=True))
@patch("validated_config_db_connector.device_info.is_yang_config_validation_enabled", mock.Mock(side_effect=ValueError))
def test_intf_unknown_vrf_bind_yang_validation(self):
runner = CliRunner()
db = Db()
obj = {'config_db':db.cfgdb, 'namespace':db.db.namespace}

result = runner.invoke(config.config.commands["vrf"].commands["add"], ["mgmt"], obj=obj)
print(result.exit_code)
assert result.exit_code != 0

result = runner.invoke(config.config.commands["vrf"].commands["del"], ["mgmt"], obj=obj)
print(result.exit_code)
assert result.exit_code != 0

@classmethod
def teardown_class(cls):
os.environ['UTILITIES_UNIT_TESTING'] = "0"
Expand Down

0 comments on commit 4cf6d3b

Please sign in to comment.