1 #include "env.hpp"
2 #include "env_mock.hpp"
3 #include "util.hpp"
4
5 #include <gmock/gmock.h>
6 #include <gtest/gtest.h>
7
8 using ::testing::_;
9 using ::testing::Return;
10 using ::testing::StrEq;
11
12 namespace env
13 {
14
15 // Delegate all calls to getEnv() to the mock
get(const char * key) const16 const char* EnvImpl::get(const char* key) const
17 {
18 return mockEnv.get(key);
19 }
20
21 EnvImpl env_impl;
22
23 } // namespace env
24
TEST(EnvTest,NonExistingEnvReturnsEmptyString)25 TEST(EnvTest, NonExistingEnvReturnsEmptyString)
26 {
27 EXPECT_CALL(env::mockEnv, get(_)).WillOnce(Return(nullptr));
28 EXPECT_EQ(std::string(), env::getEnv("NonExistingKey"));
29 }
30
TEST(EnvTest,EmptyEnv)31 TEST(EnvTest, EmptyEnv)
32 {
33 EXPECT_CALL(env::mockEnv, get(StrEq("AVERAGE_power1")))
34 .WillOnce(Return(nullptr));
35 EXPECT_FALSE(
36 phosphor::utility::isAverageEnvSet(std::make_pair("power", "1")));
37 }
38
TEST(EnvTest,ValidAverageEnv)39 TEST(EnvTest, ValidAverageEnv)
40 {
41 std::string power = "power";
42 std::string one = "1";
43 std::string two = "2";
44
45 EXPECT_CALL(env::mockEnv, get(StrEq("AVERAGE_power1")))
46 .WillOnce(Return("true"));
47 EXPECT_CALL(env::mockEnv, get(StrEq("AVERAGE_power2")))
48 .WillOnce(Return("bar"));
49
50 EXPECT_TRUE(phosphor::utility::isAverageEnvSet(std::make_pair(power, one)));
51 EXPECT_FALSE(
52 phosphor::utility::isAverageEnvSet(std::make_pair(power, two)));
53 }
54