OrangePi3588Media/tests/test_external_api_action.cpp

33 lines
1.2 KiB
C++

#include <gtest/gtest.h>
#include <string>
#include "../plugins/alarm/actions/external_api_action.h"
namespace rk3588 {
namespace {
TEST(ExternalApiActionTest, BuildsSuccessLogLineWithContext) {
const std::string line = BuildExternalApiResultLogLine(
"send ok", "known_person:reg_001", "http://example/pic.jpg", "http://example/clip.mp4", 200, "");
EXPECT_NE(line.find("send ok"), std::string::npos);
EXPECT_NE(line.find("http=200"), std::string::npos);
EXPECT_NE(line.find("alarm_content=known_person:reg_001"), std::string::npos);
EXPECT_NE(line.find("pic_url=http://example/pic.jpg"), std::string::npos);
EXPECT_NE(line.find("video_url=http://example/clip.mp4"), std::string::npos);
}
TEST(ExternalApiActionTest, BuildsFailureLogLineWithError) {
const std::string line = BuildExternalApiResultLogLine(
"send failed", "unknown_face", "", "", 500, "timeout");
EXPECT_NE(line.find("send failed"), std::string::npos);
EXPECT_NE(line.find("http=500"), std::string::npos);
EXPECT_NE(line.find("error=timeout"), std::string::npos);
EXPECT_NE(line.find("alarm_content=unknown_face"), std::string::npos);
}
} // namespace
} // namespace rk3588