-
Notifications
You must be signed in to change notification settings - Fork 663
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[201911][show] Add bgpraw to show run all (#2602)
What I did Backport #2537 Add bgpraw output to show runningconfiguration all How I did it Generate bgpraw output then append it to show runnningconfiguration all's output How to verify it Unittest and manual test on 201911 image.
- Loading branch information
Showing
2 changed files
with
75 additions
and
2 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 | ||
import mock | ||
from 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" |