def test_add_mgmt_bridge_1(monkeypatch): """Verify that add_mgmt_bridge function generate correct set of commands to add mgmt bridge. """ comm_expect = ['brctl addbr mbrlocalhos254', 'ifconfig mbrlocalhos254 localhos.254 up', "ifconfig mbrlocalhos254"] cmd_list = [] def mockreturn_native_cmd(command): cmd_list.append(command) if comm_expect[0] in cmd_list: so, rc = True, "0" return so, "", rc else: rc = "0" return "", "", rc lh = IpNetworkNamespace(LH_CFG, OPTS) monkeypatch.setattr(lh.ssh, 'native_cmd', mockreturn_native_cmd) lh.add_mgmt_bridge() assert set(comm_expect) == set(cmd_list)
def test_add_mgmt_bridge_2(monkeypatch): """Verify that add_mgmt_bridge function return exception when managment bridge can not be created. """ output_result = "Failed to create management bridge for Network namespaces.\n" + "Stdout: , Stderr: Error" def mockreturn_mgmt_br(command): so = False return so def mockreturn_native_cmd(command): se = "Error" rc = "5" return "", se, rc lh = IpNetworkNamespace(LH_CFG, OPTS) monkeypatch.setattr(IpNetworkNamespace, 'check_mgmt_bridge', mockreturn_mgmt_br) monkeypatch.setattr(lh.ssh, 'native_cmd', mockreturn_native_cmd) with pytest.raises(Exception) as excepinfo: lh.add_mgmt_bridge() assert str(excepinfo.value) == output_result