-
Notifications
You must be signed in to change notification settings - Fork 670
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[202205][show] Add bgpraw to show run all (#2609)
What I did #2537 202205 branch doesn't have from sonic_py_common import multi_asic, which results in test failure and build error. The only difference between this PR and original PR is just one line of import. How I did it How to verify it Tested locally on 202205 build and pass the build process.
- Loading branch information
Showing
2 changed files
with
76 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
import os | ||
import sys | ||
import show.main as show | ||
from click.testing import CliRunner | ||
from unittest import mock | ||
from unittest.mock import call, MagicMock | ||
|
||
test_path = os.path.dirname(os.path.abspath(__file__)) | ||
modules_path = os.path.dirname(test_path) | ||
sys.path.insert(0, test_path) | ||
sys.path.insert(0, modules_path) | ||
|
||
|
||
class TestShowRunAllCommands(object): | ||
@classmethod | ||
def setup_class(cls): | ||
print("SETUP") | ||
os.environ["UTILITIES_UNIT_TESTING"] = "1" | ||
|
||
def test_show_runningconfiguration_all_json_loads_failure(self): | ||
def get_cmd_output_side_effect(*args, **kwargs): | ||
return "", 0 | ||
with mock.patch('show.main.get_cmd_output', | ||
mock.MagicMock(side_effect=get_cmd_output_side_effect)) as mock_get_cmd_output: | ||
result = CliRunner().invoke(show.cli.commands['runningconfiguration'].commands['all'], []) | ||
assert result.exit_code != 0 | ||
|
||
def test_show_runningconfiguration_all_get_cmd_ouput_failure(self): | ||
def get_cmd_output_side_effect(*args, **kwargs): | ||
return "{}", 2 | ||
with mock.patch('show.main.get_cmd_output', | ||
mock.MagicMock(side_effect=get_cmd_output_side_effect)) as mock_get_cmd_output: | ||
result = CliRunner().invoke(show.cli.commands['runningconfiguration'].commands['all'], []) | ||
assert result.exit_code != 0 | ||
|
||
def test_show_runningconfiguration_all(self): | ||
def get_cmd_output_side_effect(*args, **kwargs): | ||
return "{}", 0 | ||
with mock.patch('show.main.get_cmd_output', | ||
mock.MagicMock(side_effect=get_cmd_output_side_effect)) as mock_get_cmd_output: | ||
result = CliRunner().invoke(show.cli.commands['runningconfiguration'].commands['all'], []) | ||
assert mock_get_cmd_output.call_count == 2 | ||
assert mock_get_cmd_output.call_args_list == [ | ||
call(['sonic-cfggen', '-d', '--print-data']), | ||
call(['rvtysh', '-c', 'show running-config'])] | ||
|
||
@classmethod | ||
def teardown_class(cls): | ||
print("TEARDOWN") | ||
os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1]) | ||
os.environ["UTILITIES_UNIT_TESTING"] = "0" |