diff --git a/show/interfaces/__init__.py b/show/interfaces/__init__.py index 6cb2febc19..75dbdfd1ee 100644 --- a/show/interfaces/__init__.py +++ b/show/interfaces/__init__.py @@ -203,6 +203,9 @@ def breakout(ctx): raise click.Abort() for port_name in platform_dict: + # Check whether port is available in `BREAKOUT_CFG` table or not + if port_name not in cur_brkout_tbl: + continue cur_brkout_mode = cur_brkout_tbl[port_name]["brkout_mode"] # Update deafult breakout mode and current breakout mode to platform_dict @@ -252,7 +255,11 @@ def currrent_mode(ctx, interface): # Show current Breakout Mode of user prompted interface if interface is not None: - body.append([interface, str(cur_brkout_tbl[interface]['brkout_mode'])]) + # Check whether interface is available in `BREAKOUT_CFG` table or not + if interface in cur_brkout_tbl: + body.append([interface, str(cur_brkout_tbl[interface]['brkout_mode'])]) + else: + body.append([interface, "Not Available"]) click.echo(tabulate(body, header, tablefmt="grid")) return diff --git a/tests/show_breakout_test.py b/tests/show_breakout_test.py index 0072b9d2f1..95ec7871b4 100644 --- a/tests/show_breakout_test.py +++ b/tests/show_breakout_test.py @@ -35,6 +35,16 @@ +-------------+-------------------------+ """ +# Negetive Test +# Expected output for 'show breakout current-mode Ethernet60' +current_mode_intf_output_Ethernet60 = ''+ \ +"""+-------------+-------------------------+ +| Interface | Current Breakout Mode | ++=============+=========================+ +| Ethernet60 | Not Available | ++-------------+-------------------------+ +""" + class TestBreakout(TestCase): @classmethod def setup_class(cls): @@ -59,6 +69,12 @@ def test_single_intf_current_mode(self): print(sys.stderr, result.output) assert result.output == current_mode_intf_output + # Negetive Test 'show interfaces breakout current-mode Ethernet60' + def test_single_intf_current_mode(self): + result = self.runner.invoke(show.cli.commands["interfaces"].commands["breakout"].commands["current-mode"], ["Ethernet60"], obj=self.obj) + print(sys.stderr, result.output) + assert result.output == current_mode_intf_output_Ethernet60 + @classmethod def teardown_class(cls): print("TEARDOWN")