diff options
Diffstat (limited to 'test/test_ethernet_interface.cpp')
-rw-r--r-- | test/test_ethernet_interface.cpp | 208 |
1 files changed, 94 insertions, 114 deletions
diff --git a/test/test_ethernet_interface.cpp b/test/test_ethernet_interface.cpp index 2181006..1b284a2 100644 --- a/test/test_ethernet_interface.cpp +++ b/test/test_ethernet_interface.cpp @@ -1,10 +1,7 @@ #include "config_parser.hpp" -#include "network_manager.hpp" -#include "mock_syscall.hpp" #include "ipaddress.hpp" - -#include <gtest/gtest.h> -#include <sdbusplus/bus.hpp> +#include "mock_syscall.hpp" +#include "network_manager.hpp" #include <arpa/inet.h> #include <net/if.h> @@ -13,6 +10,9 @@ #include <exception> #include <fstream> +#include <sdbusplus/bus.hpp> + +#include <gtest/gtest.h> namespace phosphor { @@ -21,116 +21,103 @@ namespace network class TestEthernetInterface : public testing::Test { - public: - - sdbusplus::bus::bus bus; - Manager manager; - EthernetInterface interface; - std::string confDir; - TestEthernetInterface() - : bus(sdbusplus::bus::new_default()), - manager(bus, "/xyz/openbmc_test/network", "/tmp/"), - interface(bus, "/xyz/openbmc_test/network/test0", false, manager) - - { - setConfDir(); - } - - void setConfDir() - { - char tmp[] = "/tmp/EthernetInterface.XXXXXX"; - confDir = mkdtemp(tmp); - manager.setConfDir(confDir); - } - - ~TestEthernetInterface() + public: + sdbusplus::bus::bus bus; + Manager manager; + EthernetInterface interface; + std::string confDir; + TestEthernetInterface() : + bus(sdbusplus::bus::new_default()), + manager(bus, "/xyz/openbmc_test/network", "/tmp/"), + interface(bus, "/xyz/openbmc_test/network/test0", false, manager) + + { + setConfDir(); + } + + void setConfDir() + { + char tmp[] = "/tmp/EthernetInterface.XXXXXX"; + confDir = mkdtemp(tmp); + manager.setConfDir(confDir); + } + + ~TestEthernetInterface() + { + if (confDir != "") { - if(confDir != "") - { - fs::remove_all(confDir); - } + fs::remove_all(confDir); } + } + int countIPObjects() + { + return interface.getAddresses().size(); + } - int countIPObjects() + bool isIPObjectExist(const std::string& ipaddress) + { + auto address = interface.getAddresses().find(ipaddress); + if (address == interface.getAddresses().end()) { - return interface.getAddresses().size(); + return false; } + return true; + } - bool isIPObjectExist(const std::string& ipaddress) + bool deleteIPObject(const std::string& ipaddress) + { + auto address = interface.getAddresses().find(ipaddress); + if (address == interface.getAddresses().end()) { - auto address = interface.getAddresses().find(ipaddress); - if (address == interface.getAddresses().end()) - { - return false; - } - return true; - - } - - bool deleteIPObject(const std::string& ipaddress) - { - auto address = interface.getAddresses().find(ipaddress); - if (address == interface.getAddresses().end()) - { - return false; - } - address->second->delete_(); - return true; - } - - std::string getObjectPath(const std::string& ipaddress, - uint8_t subnetMask, - const std::string& gateway) - { - IP::Protocol addressType = IP::Protocol::IPv4; - - return interface.generateObjectPath(addressType, - ipaddress, - subnetMask, - gateway); - } - - void createIPObject(IP::Protocol addressType, - const std::string& ipaddress, - uint8_t subnetMask, - const std::string& gateway) - { - interface.iP(addressType, - ipaddress, - subnetMask, - gateway - ); - + return false; } - - // Validates if the DNS entries have been correctly processed - void validateResolvFile(ServerList values) + address->second->delete_(); + return true; + } + + std::string getObjectPath(const std::string& ipaddress, uint8_t subnetMask, + const std::string& gateway) + { + IP::Protocol addressType = IP::Protocol::IPv4; + + return interface.generateObjectPath(addressType, ipaddress, subnetMask, + gateway); + } + + void createIPObject(IP::Protocol addressType, const std::string& ipaddress, + uint8_t subnetMask, const std::string& gateway) + { + interface.iP(addressType, ipaddress, subnetMask, gateway); + } + + // Validates if the DNS entries have been correctly processed + void validateResolvFile(ServerList values) + { + // Check whether the entries has been written to resolv.conf + fs::path resolvFile = confDir; + resolvFile /= "resolv.conf"; + + // Passed in "value" is what is read from the config file + interface.writeDNSEntries(values, resolvFile); + std::string expectedServers = + "### Generated manually via dbus settings ###"; + expectedServers += + "nameserver 9.1.1.1nameserver 9.2.2.2nameserver 9.3.3.3"; + + std::string actualServers{}; + std::fstream stream(resolvFile.string().c_str(), std::fstream::in); + for (std::string line; std::getline(stream, line);) { - // Check whether the entries has been written to resolv.conf - fs::path resolvFile = confDir; - resolvFile /= "resolv.conf"; - - // Passed in "value" is what is read from the config file - interface.writeDNSEntries(values, resolvFile); - std::string expectedServers = "### Generated manually via dbus settings ###"; - expectedServers += - "nameserver 9.1.1.1nameserver 9.2.2.2nameserver 9.3.3.3"; - - std::string actualServers{}; - std::fstream stream(resolvFile.string().c_str(), std::fstream::in); - for (std::string line; std::getline(stream, line);) - { - actualServers += line; - } - EXPECT_EQ(expectedServers , actualServers); + actualServers += line; } + EXPECT_EQ(expectedServers, actualServers); + } }; TEST_F(TestEthernetInterface, NoIPaddress) { EXPECT_EQ(countIPObjects(), 0); - } TEST_F(TestEthernetInterface, AddIPAddress) @@ -138,7 +125,6 @@ TEST_F(TestEthernetInterface, AddIPAddress) IP::Protocol addressType = IP::Protocol::IPv4; createIPObject(addressType, "10.10.10.10", 16, "10.10.10.1"); EXPECT_EQ(true, isIPObjectExist("10.10.10.10")); - } TEST_F(TestEthernetInterface, AddMultipleAddress) @@ -148,7 +134,6 @@ TEST_F(TestEthernetInterface, AddMultipleAddress) createIPObject(addressType, "20.20.20.20", 16, "20.20.20.1"); EXPECT_EQ(true, isIPObjectExist("10.10.10.10")); EXPECT_EQ(true, isIPObjectExist("20.20.20.20")); - } TEST_F(TestEthernetInterface, DeleteIPAddress) @@ -159,7 +144,6 @@ TEST_F(TestEthernetInterface, DeleteIPAddress) deleteIPObject("10.10.10.10"); EXPECT_EQ(false, isIPObjectExist("10.10.10.10")); EXPECT_EQ(true, isIPObjectExist("20.20.20.20")); - } TEST_F(TestEthernetInterface, DeleteInvalidIPAddress) @@ -180,19 +164,15 @@ TEST_F(TestEthernetInterface, CheckObjectPath) hashString += std::to_string(prefix); hashString += gateway; - - hexId << std::hex << ((std::hash<std::string> {}( - hashString)) & 0xFFFFFFFF); + hexId << std::hex << ((std::hash<std::string>{}(hashString)) & 0xFFFFFFFF); expectedObjectPath += hexId.str(); - EXPECT_EQ(expectedObjectPath, getObjectPath(ipaddress, - prefix, - gateway)); + EXPECT_EQ(expectedObjectPath, getObjectPath(ipaddress, prefix, gateway)); } TEST_F(TestEthernetInterface, addNameServers) { - ServerList servers = {"9.1.1.1","9.2.2.2","9.3.3.3"}; + ServerList servers = {"9.1.1.1", "9.2.2.2", "9.3.3.3"}; interface.nameservers(servers); fs::path filePath = confDir; filePath /= "00-bmc-test0.network"; @@ -200,14 +180,14 @@ TEST_F(TestEthernetInterface, addNameServers) config::ReturnCode rc = config::ReturnCode::SUCCESS; config::ValueList values; std::tie(rc, values) = parser.getValues("Network", "DNS"); - EXPECT_EQ(servers , values); + EXPECT_EQ(servers, values); validateResolvFile(values); } TEST_F(TestEthernetInterface, addNTPServers) { - ServerList servers = {"10.1.1.1","10.2.2.2","10.3.3.3"}; + ServerList servers = {"10.1.1.1", "10.2.2.2", "10.3.3.3"}; interface.nTPServers(servers); fs::path filePath = confDir; filePath /= "00-bmc-test0.network"; @@ -215,8 +195,8 @@ TEST_F(TestEthernetInterface, addNTPServers) config::ReturnCode rc = config::ReturnCode::SUCCESS; config::ValueList values; std::tie(rc, values) = parser.getValues("Network", "NTP"); - EXPECT_EQ(servers , values); + EXPECT_EQ(servers, values); } -}// namespce network -}// namespace phosphor +} // namespace network +} // namespace phosphor |