Aktualizr
C++ SOTA Client
All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
aktualizr_info_config_test.cc
1 #include <gtest/gtest.h>
2 
3 #include "aktualizr_info_config.h"
4 #include "utilities/utils.h"
5 
6 TEST(aktualizr_info_config, config_initialized_values) {
8 
9  EXPECT_EQ(conf.storage.type, StorageType::kSqlite);
10  EXPECT_EQ(conf.storage.path, "/var/sota");
11 }
12 
13 TEST(aktualizr_info_config, config_toml_parsing) {
14  AktualizrInfoConfig conf("config/sota-shared-cred.toml");
15 
16  EXPECT_EQ(conf.storage.type, StorageType::kSqlite);
17  EXPECT_EQ(conf.storage.sqldb_path.get(conf.storage.path), "/var/sota/sql.db");
18 }
19 
20 /* We don't normally dump the config to file, but we do write it to the log. */
21 TEST(aktualizr_info_config, consistent_toml_empty) {
22  TemporaryDirectory temp_dir;
23  AktualizrInfoConfig config1;
24  std::ofstream sink1((temp_dir / "output1.toml").c_str(), std::ofstream::out);
25  config1.writeToStream(sink1);
26 
27  AktualizrInfoConfig config2((temp_dir / "output1.toml").string());
28  std::ofstream sink2((temp_dir / "output2.toml").c_str(), std::ofstream::out);
29  config2.writeToStream(sink2);
30 
31  std::string conf_str1 = Utils::readFile((temp_dir / "output1.toml").string());
32  std::string conf_str2 = Utils::readFile((temp_dir / "output2.toml").string());
33  EXPECT_EQ(conf_str1, conf_str2);
34 }
35 
36 #ifndef __NO_MAIN__
37 int main(int argc, char **argv) {
38  ::testing::InitGoogleTest(&argc, argv);
39 
40  return RUN_ALL_TESTS();
41 }
42 #endif
AktualizrInfoConfig
Definition: aktualizr_info_config.h:15
TemporaryDirectory
Definition: utils.h:82