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 16 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 25 TEST(EnvTest, NonExistingEnvReturnsEmptyString) 26 { 27 EXPECT_CALL(env::mockEnv, get(_)).WillOnce(Return(nullptr)); 28 EXPECT_EQ(std::string(), env::getEnv("NonExistingKey")); 29 } 30 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 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