231 lines
11 KiB
C++
231 lines
11 KiB
C++
#include "IIpcConfig.h"
|
|
#include "ILog.h"
|
|
#include "IpcConfigImpl.h"
|
|
#include "LinuxApi.h"
|
|
// #include <gmock/gmock.h>
|
|
#include <gtest/gtest.h>
|
|
extern const char *CONFIG_WIFI_SSID_DEFAULT;
|
|
extern const char *CONFIG_WIFI_PASSWORD_DEFAULT;
|
|
namespace IpcConfigTest
|
|
{
|
|
// ../output_files/test/bin/IpcConfigTest --gtest_filter=IpcConfigDemo.Demo
|
|
TEST(IpcConfigDemo, Demo)
|
|
{
|
|
CreateLogModule();
|
|
CreateIpcConfigModule();
|
|
ILogInit(LOG_INSTANCE_TYPE_END);
|
|
IIpcConfig::GetInstance()->Init();
|
|
|
|
const int workMode = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::WORK_MODE);
|
|
LogInfo("Get workMode = %d\n", workMode);
|
|
const int wworkMode = static_cast<int>(WorkMode::MODE_PIC_VIDEO);
|
|
IIpcConfig::GetInstance()->SetInt(IpcConfigKey::WORK_MODE, wworkMode);
|
|
|
|
const int continuousShot = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::CONTINUOUS_SHOT);
|
|
LogInfo("Get continuousShot = %d\n", continuousShot);
|
|
const int ccontinuousShot = CONTINUOUS_SHOT_TWO_PIC;
|
|
IIpcConfig::GetInstance()->SetInt(IpcConfigKey::CONTINUOUS_SHOT, ccontinuousShot);
|
|
|
|
const int burstPhotoInterval = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::BURST_PHOTO_INTERVAL);
|
|
LogInfo("Get burstPhotoInterval = %d\n", burstPhotoInterval);
|
|
const int bburstPhotoInterval = BURST_PHOTO_INTERVAL_DEFAULT;
|
|
IIpcConfig::GetInstance()->SetInt(IpcConfigKey::BURST_PHOTO_INTERVAL, bburstPhotoInterval);
|
|
|
|
const std::string imageSize = IIpcConfig::GetInstance()->GetString(IpcConfigKey::IMGAE_SIZE);
|
|
LogInfo("Get image_size = %s\n", imageSize.c_str());
|
|
const std::string iimageSize = "410*410";
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::IMGAE_SIZE, iimageSize);
|
|
|
|
const int videoSize = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::VIDEO_SIZE);
|
|
LogInfo("Get video_size = %d\n", videoSize);
|
|
const int vvideoSize = VIDEO_SIZE_10;
|
|
IIpcConfig::GetInstance()->SetInt(IpcConfigKey::VIDEO_SIZE, vvideoSize);
|
|
|
|
const int infraredIampPower = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::INFRARED_LAMP_POWER);
|
|
LogInfo("Get infrared_lamp_power = %d\n", infraredIampPower);
|
|
const int iinfraredIampPower = INFRARED_IAMP_POWER_LOW;
|
|
IIpcConfig::GetInstance()->SetInt(IpcConfigKey::INFRARED_LAMP_POWER, iinfraredIampPower);
|
|
|
|
const int delayed = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::PIR_DELAYED);
|
|
LogInfo("Get delayed = %d\n", delayed);
|
|
const int ddelayed = DELAYED_MAX;
|
|
IIpcConfig::GetInstance()->SetInt(IpcConfigKey::PIR_DELAYED, ddelayed);
|
|
|
|
const int pirSensitivity = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::PIR_SENSITIVITY);
|
|
LogInfo("Get pir_sensitivity = %d\n", pirSensitivity);
|
|
const int ppirSensitivity = PIR_SENSITIVITY_MAX;
|
|
IIpcConfig::GetInstance()->SetInt(IpcConfigKey::PIR_SENSITIVITY, ppirSensitivity);
|
|
|
|
const bool storageLoopSwitch = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::STORAGE_LOOP_SWITCH);
|
|
LogInfo("Get storage_loop_switch = %d\n", storageLoopSwitch);
|
|
const bool sstorageLoopSwitch = false;
|
|
IIpcConfig::GetInstance()->SetBool(IpcConfigKey::STORAGE_LOOP_SWITCH, sstorageLoopSwitch);
|
|
|
|
const bool factoryReset = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::FACTORY_RESET_FLAG);
|
|
LogInfo("Get factory_reset = %d\n", factoryReset);
|
|
const bool ffactoryReset = false;
|
|
IIpcConfig::GetInstance()->SetBool(IpcConfigKey::FACTORY_RESET_FLAG, ffactoryReset);
|
|
|
|
const bool formattingSDCard = IIpcConfig::GetInstance()->GetBool(IpcConfigKey::FORMATTING_SD_CARD);
|
|
LogInfo("Get formatting_SD_card = %d\n", formattingSDCard);
|
|
const bool fformattingSDCard = false;
|
|
IIpcConfig::GetInstance()->SetBool(IpcConfigKey::FORMATTING_SD_CARD, fformattingSDCard);
|
|
|
|
const std::string workInterval = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WORK_INTERVAL);
|
|
LogInfo("Get work_Interval = %s\n", workInterval.c_str());
|
|
const std::string wworkInterval = "06:00:01-06:00:00";
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WORK_INTERVAL, wworkInterval);
|
|
|
|
const std::string drakMode = IIpcConfig::GetInstance()->GetString(IpcConfigKey::DARK_MODE);
|
|
LogInfo("Get dark_mode = %s\n", drakMode.c_str());
|
|
const std::string ddrakMode = "18:00:00-06:00:00";
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::DARK_MODE, ddrakMode);
|
|
|
|
short testShort = IIpcConfig::GetInstance()->GetShort(IpcConfigKey::TEST_SHORT);
|
|
LogInfo("Get test_short = %d\n", testShort);
|
|
const short numShort = 888;
|
|
IIpcConfig::GetInstance()->SetShort(IpcConfigKey::TEST_SHORT, numShort);
|
|
|
|
long testLong = IIpcConfig::GetInstance()->GetLong(IpcConfigKey::TEST_LONG);
|
|
LogInfo("Get test_long = %d\n", testLong);
|
|
const long numLong = 777;
|
|
IIpcConfig::GetInstance()->SetLong(IpcConfigKey::TEST_LONG, numLong);
|
|
|
|
long long testLLong = IIpcConfig::GetInstance()->GetLLong(IpcConfigKey::TEST_LLONG);
|
|
LogInfo("Get test_llong = %d\n", testLLong);
|
|
const long long numLLong = 666;
|
|
IIpcConfig::GetInstance()->SetLLong(IpcConfigKey::TEST_LLONG, numLLong);
|
|
|
|
char testChar = IIpcConfig::GetInstance()->GetChar(IpcConfigKey::TEST_CHAR);
|
|
LogInfo("Get test_char = %c\n", testChar);
|
|
const char numChar = 'A';
|
|
IIpcConfig::GetInstance()->SetChar(IpcConfigKey::TEST_CHAR, numChar);
|
|
|
|
float testFloat = IIpcConfig::GetInstance()->GetFloat(IpcConfigKey::TEST_FLOAT);
|
|
LogInfo("Get test_float = %lf\n", testFloat);
|
|
const float numFloat = 1.123456;
|
|
IIpcConfig::GetInstance()->SetFloat(IpcConfigKey::TEST_FLOAT, numFloat);
|
|
|
|
IIpcConfig::GetInstance()->ConfigFileSave();
|
|
IIpcConfig::GetInstance()->UnInit();
|
|
ILogUnInit();
|
|
DestroyLogModule();
|
|
}
|
|
class IpcConfigTest : public testing::Test
|
|
{
|
|
public:
|
|
IpcConfigTest()
|
|
{
|
|
}
|
|
virtual ~IpcConfigTest()
|
|
{
|
|
}
|
|
static void SetUpTestCase()
|
|
{
|
|
ILogInit(LOG_INSTANCE_TYPE_END);
|
|
CreateLogModule();
|
|
}
|
|
static void TearDownTestCase()
|
|
{
|
|
ILogUnInit();
|
|
DestroyLogModule();
|
|
}
|
|
virtual void SetUp()
|
|
{
|
|
CreateIpcConfigModule();
|
|
IIpcConfig::GetInstance()->Init();
|
|
}
|
|
virtual void TearDown()
|
|
{
|
|
IIpcConfig::GetInstance()->UnInit();
|
|
DestroyIpcConfigModule();
|
|
RemoveConfigFile();
|
|
}
|
|
|
|
private:
|
|
void RemoveConfigFile(void)
|
|
{
|
|
constexpr int FIEL_EXIST = 0;
|
|
if (FIEL_EXIST == access(IPC_CONFIG_FILE_PATH, F_OK)) {
|
|
constexpr int BUFF_SIZE = 128;
|
|
char cmd[BUFF_SIZE] = {0};
|
|
snprintf(cmd, BUFF_SIZE, "rm -f %s", IPC_CONFIG_FILE_PATH);
|
|
fx_system(cmd);
|
|
}
|
|
}
|
|
};
|
|
// ../output_files/test/bin/IpcConfigTest --gtest_filter=IpcConfigTest.HS_RH_UNIT_IpcConfig_AUTO_WifiSsid
|
|
TEST_F(IpcConfigTest, HS_RH_UNIT_IpcConfig_AUTO_WifiSsid)
|
|
{
|
|
const char *MODIFIED_STRING = "modified_string";
|
|
const char *MODIFIED_STRING_SHORTER = "modified";
|
|
const char *LONG_STRING =
|
|
"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL"
|
|
"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL";
|
|
std::string config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_SSID);
|
|
LogInfo("Get wifi ssid = %s\n", config.c_str());
|
|
EXPECT_STREQ(config.c_str(), CONFIG_WIFI_SSID_DEFAULT);
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_SSID, MODIFIED_STRING);
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_SSID);
|
|
LogInfo("Get wifiSsid = %s\n", config.c_str());
|
|
EXPECT_STREQ(config.c_str(), MODIFIED_STRING);
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_SSID, LONG_STRING);
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_SSID);
|
|
EXPECT_STREQ(config.c_str(), MODIFIED_STRING);
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_SSID, "");
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_SSID);
|
|
EXPECT_STREQ(config.c_str(), "");
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_SSID, MODIFIED_STRING_SHORTER);
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_SSID);
|
|
EXPECT_STREQ(config.c_str(), MODIFIED_STRING_SHORTER);
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_SSID, MODIFIED_STRING);
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_SSID);
|
|
EXPECT_STREQ(config.c_str(), MODIFIED_STRING);
|
|
}
|
|
// ../output_files/test/bin/IpcConfigTest --gtest_filter=IpcConfigTest.HS_RH_UNIT_IpcConfig_AUTO_WifiPassword
|
|
TEST_F(IpcConfigTest, HS_RH_UNIT_IpcConfig_AUTO_WifiPassword)
|
|
{
|
|
const char *MODIFIED_STRING = "99999999";
|
|
const char *MODIFIED_STRING_SHORTER = "999";
|
|
const char *LONG_STRING =
|
|
"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL"
|
|
"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL";
|
|
std::string config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_PASSWORD);
|
|
LogInfo("Get wifi password = %s\n", config.c_str());
|
|
EXPECT_STREQ(config.c_str(), CONFIG_WIFI_PASSWORD_DEFAULT);
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_PASSWORD, MODIFIED_STRING);
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_PASSWORD);
|
|
LogInfo("Get wifi password = %s\n", config.c_str());
|
|
EXPECT_STREQ(config.c_str(), MODIFIED_STRING);
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_PASSWORD, LONG_STRING);
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_PASSWORD);
|
|
EXPECT_STREQ(config.c_str(), MODIFIED_STRING);
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_PASSWORD, "");
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_PASSWORD);
|
|
EXPECT_STREQ(config.c_str(), "");
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_PASSWORD, MODIFIED_STRING_SHORTER);
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_PASSWORD);
|
|
EXPECT_STREQ(config.c_str(), MODIFIED_STRING_SHORTER);
|
|
IIpcConfig::GetInstance()->SetString(IpcConfigKey::WIFI_PASSWORD, MODIFIED_STRING);
|
|
config = IIpcConfig::GetInstance()->GetString(IpcConfigKey::WIFI_PASSWORD);
|
|
EXPECT_STREQ(config.c_str(), MODIFIED_STRING);
|
|
}
|
|
// ../output_files/test/bin/IpcConfigTest --gtest_filter=IpcConfigTest.HS_RH_UNIT_IpcConfig_AUTO_WorkMode
|
|
TEST_F(IpcConfigTest, HS_RH_UNIT_IpcConfig_AUTO_WorkMode)
|
|
{
|
|
WorkMode config = IIpcConfig::GetInstance()->GetWorkMode();
|
|
EXPECT_EQ(static_cast<int>(config), static_cast<int>(CONFIG_WORK_MODE_DEFAULT));
|
|
IIpcConfig::GetInstance()->SetWorkMode(WorkMode::MODE_PIC_VIDEO);
|
|
config = IIpcConfig::GetInstance()->GetWorkMode();
|
|
EXPECT_EQ(static_cast<int>(config), static_cast<int>(WorkMode::MODE_PIC_VIDEO));
|
|
}
|
|
// ../output_files/test/bin/IpcConfigTest --gtest_filter=IpcConfigTest.HS_RH_UNIT_IpcConfig_AUTO_ContinueShot
|
|
TEST_F(IpcConfigTest, HS_RH_UNIT_IpcConfig_AUTO_ContinueShot)
|
|
{
|
|
int config = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::CONTINUOUS_SHOT);
|
|
EXPECT_EQ(config, CONFIG_CONTINUE_SHOT_DEFAULT);
|
|
IIpcConfig::GetInstance()->SetInt(IpcConfigKey::CONTINUOUS_SHOT, 2);
|
|
config = IIpcConfig::GetInstance()->GetInt(IpcConfigKey::CONTINUOUS_SHOT);
|
|
EXPECT_EQ(config, 2);
|
|
}
|
|
} // namespace IpcConfigTest
|