1
2 #include "common/include/software_config.hpp"
3
4 #include <fcntl.h>
5 #include <inttypes.h>
6 #include <unistd.h>
7
8 #include <phosphor-logging/lg2.hpp>
9
10 #include <gtest/gtest.h>
11
12 using namespace phosphor::software;
13 using namespace phosphor::software::config;
14
15 constexpr uint32_t vendorIANA = 0x0324;
16
17 constexpr const char* compatibleHardware =
18 "com.ExampleCorp.Hardware.ExamplePlatform.ExampleDevice";
19 constexpr const char* exampleConfigName = "ExampleConfigName";
20 constexpr const char* exampleConfigType = "ExampleConfigType";
21
22 const std::string objPath =
23 "/xyz/openbmc_project/inventory/system/board/ExampleBoard/ExampleDevice";
24
TEST(SoftwareConfig,ConfigCreate)25 TEST(SoftwareConfig, ConfigCreate)
26 {
27 SoftwareConfig config(objPath, vendorIANA, compatibleHardware,
28 exampleConfigType, exampleConfigName);
29
30 ASSERT_EQ(config.configName, exampleConfigName);
31 ASSERT_EQ(config.configType, exampleConfigType);
32 }
33
TEST(SoftwareConfig,FailureCompatibleNoDot)34 TEST(SoftwareConfig, FailureCompatibleNoDot)
35 {
36 try
37 {
38 SoftwareConfig config(objPath, vendorIANA, "comexamplesamplecorp",
39 exampleConfigType, exampleConfigName);
40 ASSERT_FALSE(true);
41 }
42 catch (std::exception& /*unused*/)
43 {}
44 }
45
TEST(SoftwareConfig,FailureCompatibleInvalidChar)46 TEST(SoftwareConfig, FailureCompatibleInvalidChar)
47 {
48 try
49 {
50 SoftwareConfig config(objPath, vendorIANA,
51 std::string(compatibleHardware) + "#",
52 exampleConfigType, exampleConfigName);
53 ASSERT_FALSE(true);
54 }
55 catch (std::exception& /*unused*/)
56 {}
57 }
58