Skip to content

Commit

Permalink
[tests][qemu][linux] Check find_bridge_with.
Browse files Browse the repository at this point in the history
  • Loading branch information
luis4a0 committed May 9, 2024
1 parent c3eb03a commit 2f4ac45
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 0 deletions.
22 changes: 22 additions & 0 deletions tests/qemu/linux/test_qemu_platform_detail.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -217,3 +217,25 @@ TEST_F(QemuPlatformDetail, add_network_interface_throws)
mp::NetworkInterface net{"id", "52:54:00:98:76:54", true};
EXPECT_THROW(qemu_platform_detail.add_network_interface(desc, net), mp::NotImplementedOnThisBackendException);
}

struct FindBridgeWithTestSuite : public QemuPlatformDetail,
public WithParamInterface<std::vector<mp::NetworkInterfaceInfo>>
{
};

TEST_P(FindBridgeWithTestSuite, find_bridge_with_always_returns_cend)
{
const auto& networks = GetParam();

mp::QemuPlatformDetail qemu_platform_detail{data_dir.path()};

EXPECT_EQ(qemu_platform_detail.find_bridge_with(networks, "eth8"), networks.cend());
}

INSTANTIATE_TEST_SUITE_P(QemuPlatformDetail,
FindBridgeWithTestSuite,
Values(std::vector<mp::NetworkInterfaceInfo>{},
std::vector<mp::NetworkInterfaceInfo>{{"eth8", "ethernet", "Ethernet interface"}},
std::vector<mp::NetworkInterfaceInfo>{{"eth9", "ethernet", "Ethernet interface"}},
std::vector<mp::NetworkInterfaceInfo>{
{"br-eth8", "bridge", "Network bridge", {"eth8"}}}));
4 changes: 4 additions & 0 deletions tests/qemu/mock_qemu_platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ struct MockQemuPlatform : public QemuPlatform
MOCK_METHOD(QStringList, vm_platform_args, (const VirtualMachineDescription&), (override));
MOCK_METHOD(QString, get_directory_name, (), (const, override));
MOCK_METHOD(void, add_network_interface, (VirtualMachineDescription&, const NetworkInterface&), (override));
MOCK_METHOD(std::vector<NetworkInterfaceInfo>::const_iterator,
find_bridge_with,
(const std::vector<NetworkInterfaceInfo>&, const std::string&),
(const, override));
};

struct MockQemuPlatformFactory : public QemuPlatformFactory
Expand Down

0 comments on commit 2f4ac45

Please sign in to comment.