-
Notifications
You must be signed in to change notification settings - Fork 650
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into tk_tof3_prof_nam_bf
- Loading branch information
Showing
5 changed files
with
130 additions
and
9 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
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
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" |