|
|
@@ -188,3 +188,51 @@ TEST(JsonLayoutTest, ObjectLackingJsonDefaultsToString) {
|
|
|
using testing::Eq;
|
|
|
EXPECT_THAT(ss.str(), Eq(struct_output));
|
|
|
}
|
|
|
+
|
|
|
+#include "header_test_obj.h"
|
|
|
+#include "logger/logger.h"
|
|
|
+
|
|
|
+using namespace logging;
|
|
|
+using namespace logging::property;
|
|
|
+properties const JSON_HEADER_SCHEMA{_obj({
|
|
|
+ {"configuration", _obj({
|
|
|
+ {"appenders", _obj({
|
|
|
+ {"Stub", _obj({
|
|
|
+ {"JsonLayout", _obj({
|
|
|
+ {"complete", _v(true)},
|
|
|
+ {"compact", _v(true)},
|
|
|
+ {"eventEol", _v(true)}
|
|
|
+ })}
|
|
|
+ })}
|
|
|
+ })},
|
|
|
+ {"loggers", _obj({
|
|
|
+ {"root", _obj({{"appenders", _obj({{"ref", _v("Stub")}})}})}
|
|
|
+ })}
|
|
|
+ })}
|
|
|
+})};
|
|
|
+
|
|
|
+using JsonLayoutHeaderTest = HeaderFooterTest;
|
|
|
+
|
|
|
+TEST_F(JsonLayoutHeaderTest, ProvidesArrayBounds) {
|
|
|
+ {
|
|
|
+ manager mgr;
|
|
|
+ mgr.configure(JSON_HEADER_SCHEMA);
|
|
|
+ }
|
|
|
+ using testing::Eq;
|
|
|
+ EXPECT_THAT(appender->sstream.str(), Eq("[]"));
|
|
|
+}
|
|
|
+
|
|
|
+TEST_F(JsonLayoutHeaderTest, SeparatesLogsWithComma) {
|
|
|
+ using testing::Eq;
|
|
|
+ using testing::EndsWith;
|
|
|
+ using testing::StartsWith;
|
|
|
+ manager mgr;
|
|
|
+ mgr.configure(JSON_HEADER_SCHEMA);
|
|
|
+ mgr.get().log(level::error, "HELLO");
|
|
|
+ // Newline is printed as a part of the message...
|
|
|
+ EXPECT_THAT(appender->sstream.str(), EndsWith("}\n"));
|
|
|
+ appender->sstream.str("");
|
|
|
+ mgr.get().log(level::error, "HELLO");
|
|
|
+ // So the dividing comma gets attached to the next log
|
|
|
+ EXPECT_THAT(appender->sstream.str(), StartsWith(",{"));
|
|
|
+}
|