| 1234567891011121314151617181920212223242526272829303132 |
- #include <gtest/gtest.h>
- #include "config.hpp"
- using svapi::Config;
- TEST(Config, DefaultsWhenEmpty) {
- Config c = Config::fromJson(nlohmann::json::object());
- EXPECT_EQ(c.logLevel, "info");
- EXPECT_EQ(c.httpBind, "0.0.0.0");
- EXPECT_EQ(c.httpPort, 8080);
- EXPECT_EQ(c.dbAddress, "localhost:9004");
- }
- TEST(Config, ParsesProvidedValues) {
- auto j = nlohmann::json::parse(R"({
- "log_level":"debug",
- "http":{"bind_address":"127.0.0.1","port":9090},
- "database":{"address":"db:9004"}
- })");
- Config c = Config::fromJson(j);
- EXPECT_EQ(c.logLevel, "debug");
- EXPECT_EQ(c.httpBind, "127.0.0.1");
- EXPECT_EQ(c.httpPort, 9090);
- EXPECT_EQ(c.dbAddress, "db:9004");
- }
- TEST(Config, IgnoresUnknownKeys) {
- auto j = nlohmann::json::parse(R"({"nonsense":true,"http":{"port":1234}})");
- Config c = Config::fromJson(j);
- EXPECT_EQ(c.httpPort, 1234);
- EXPECT_EQ(c.httpBind, "0.0.0.0");
- }
|