diff --git a/tests/qemu/linux/test_qemu_platform_detail.cpp b/tests/qemu/linux/test_qemu_platform_detail.cpp index 7854160103..72c60bb4fc 100644 --- a/tests/qemu/linux/test_qemu_platform_detail.cpp +++ b/tests/qemu/linux/test_qemu_platform_detail.cpp @@ -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> +{ +}; + +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{}, + std::vector{{"eth8", "ethernet", "Ethernet interface"}}, + std::vector{{"eth9", "ethernet", "Ethernet interface"}}, + std::vector{ + {"br-eth8", "bridge", "Network bridge", {"eth8"}}})); diff --git a/tests/qemu/mock_qemu_platform.h b/tests/qemu/mock_qemu_platform.h index 5e39615e1c..6b7db924f7 100644 --- a/tests/qemu/mock_qemu_platform.h +++ b/tests/qemu/mock_qemu_platform.h @@ -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::const_iterator, + find_bridge_with, + (const std::vector&, const std::string&), + (const, override)); }; struct MockQemuPlatformFactory : public QemuPlatformFactory