1 #include "hyp_network_manager.hpp"
2 
3 #include <net/if.h>
4 
5 #include <sdbusplus/bus.hpp>
6 #include <xyz/openbmc_project/Common/error.hpp>
7 
8 #include <gtest/gtest.h>
9 
10 namespace phosphor
11 {
12 namespace network
13 {
14 
15 class TestHypNetworkManager : public testing::Test
16 {
17   public:
18     sdbusplus::bus_t bus;
19     HypNetworkMgr manager;
TestHypNetworkManager()20     TestHypNetworkManager() :
21         bus(sdbusplus::bus::new_default()),
22         manager(bus, "/xyz/openbmc_test/network/hypervisor")
23     {
24         // TODO: Once the support for ipv6 has been added, the below
25         // method call to set default values in the local copy
26         // of the bios attributes should be called for ipv6 as well
27 
28         manager.setDefaultBIOSTableAttrsOnIntf("if0");
29         manager.setDefaultBIOSTableAttrsOnIntf("if1");
30         manager.setDefaultHostnameInBIOSTableAttrs();
31     }
32 
33     ~TestHypNetworkManager() = default;
34 };
35 
TEST_F(TestHypNetworkManager,getDefaultBiosTableAttr)36 TEST_F(TestHypNetworkManager, getDefaultBiosTableAttr)
37 {
38     biosTableType biosAttrs = manager.getBIOSTableAttrs();
39     auto itr = biosAttrs.find("vmi_if0_ipv4_method");
40     if (itr != biosAttrs.end())
41     {
42         std::string biosAttrValue = std::get<std::string>(itr->second);
43         EXPECT_EQ(biosAttrValue, "IPv4Static");
44     }
45 }
46 
TEST_F(TestHypNetworkManager,setHostnameInBiosTableAndGet)47 TEST_F(TestHypNetworkManager, setHostnameInBiosTableAndGet)
48 {
49     std::string attribute = "vmi_hostname";
50     std::string value = "testHostname";
51     manager.setBIOSTableAttr(attribute, value, "String");
52     biosTableType biosAttrs = manager.getBIOSTableAttrs();
53     auto itr = biosAttrs.find("vmi_hostname");
54     if (itr != biosAttrs.end())
55     {
56         std::string biosAttrValue = std::get<std::string>(itr->second);
57         EXPECT_EQ(biosAttrValue, value);
58     }
59 }
60 
61 } // namespace network
62 } // namespace phosphor
63