def test_set_access_vlan_accepts_no_ethernet(self):
        self.shell_mock.should_receive("do").with_args("show vlan 2999").once().ordered().and_return(
            vlan_display(2999)
        )

        self.shell_mock.should_receive("do").with_args("configure terminal").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("vlan 2999").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("untagged ethernet 1/4").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("exit").and_return([]).twice().ordered().ordered()

        self.switch.set_access_vlan("1/4", vlan=2999)
    def test_set_interface_native_vlan_backward_compatibility(self):
        self.shell_mock.should_receive("do").with_args("show vlan 2999").once().ordered().and_return(
            vlan_display(2999)
        )

        self.shell_mock.should_receive("do").with_args("configure terminal").once().ordered().and_return([])
        self.shell_mock.should_receive("do").with_args("vlan 2999").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("untagged ethernet 1/4").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("exit").and_return([]).twice().ordered().ordered()

        self.switch.set_interface_native_vlan("1/4", vlan=2999)
    def test_add_trunk_vlan_accepts_no_ethernet(self):
        self.command_setup()

        self.shell_mock.should_receive("do").with_args("show vlan 2999").once().ordered().and_return(
            vlan_display(2999)
        )

        self.shell_mock.should_receive("do").with_args("configure terminal").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("vlan 2999").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("tagged ethernet 1/1").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("exit").and_return([]).twice().ordered().ordered()
        self.shell_mock.should_receive("do").with_args("write memory").and_return([]).once().ordered()

        self.switch.add_trunk_vlan("1/1", vlan=2999)
    def test_set_access_vlan_accepts_no_ethernet(self):
        self.shell_mock.should_receive("do").with_args(
            "show vlan 2999").once().ordered().and_return(vlan_display(2999))

        self.shell_mock.should_receive("do").with_args(
            "configure terminal").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("vlan 2999").and_return(
            []).once().ordered()
        self.shell_mock.should_receive("do").with_args(
            "untagged ethernet 1/4").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("exit").and_return(
            []).twice().ordered().ordered()

        self.switch.set_access_vlan("1/4", vlan=2999)
    def test_set_interface_native_vlan_backward_compatibility(self):
        self.shell_mock.should_receive("do").with_args(
            "show vlan 2999").once().ordered().and_return(vlan_display(2999))

        self.shell_mock.should_receive("do").with_args(
            "configure terminal").once().ordered().and_return([])
        self.shell_mock.should_receive("do").with_args("vlan 2999").and_return(
            []).once().ordered()
        self.shell_mock.should_receive("do").with_args(
            "untagged ethernet 1/4").and_return([]).once().ordered()
        self.shell_mock.should_receive("do").with_args("exit").and_return(
            []).twice().ordered().ordered()

        self.switch.set_interface_native_vlan("1/4", vlan=2999)