Aktualizr
C++ SOTA Client
All Classes Namespaces Files Functions Variables Enumerations Enumerator Pages
aktualizr_secondary_config_test.cc
1 #include <gtest/gtest.h>
2 
3 #include "aktualizr_secondary_config.h"
4 #include "utilities/utils.h"
5 
6 TEST(aktualizr_secondary_config, config_initialized_values) {
8 
9  EXPECT_EQ(conf.network.port, 9030);
10 }
11 
12 TEST(aktualizr_secondary_config, config_toml_parsing) {
13  AktualizrSecondaryConfig conf("tests/config/aktualizr_secondary.toml");
14 
15  EXPECT_EQ(conf.network.port, 9031);
16 #ifdef BUILD_OSTREE
17  EXPECT_EQ(conf.pacman.type, PACKAGE_MANAGER_OSTREE);
18 #else
19  EXPECT_EQ(conf.pacman.type, PACKAGE_MANAGER_NONE);
20 #endif
21  EXPECT_EQ(conf.pacman.os, std::string("testos"));
22  EXPECT_EQ(conf.pacman.sysroot, boost::filesystem::path("testsysroot"));
23  EXPECT_EQ(conf.pacman.ostree_server, std::string("test_server"));
24  EXPECT_EQ(conf.pacman.packages_file, boost::filesystem::path("/test_packages"));
25 }
26 
27 /* We don't normally dump the config to file, but we do write it to the log. */
28 TEST(aktualizr_secondary_config, consistent_toml_empty) {
29  TemporaryDirectory temp_dir;
31  std::ofstream sink1((temp_dir / "output1.toml").c_str(), std::ofstream::out);
32  config1.writeToStream(sink1);
33 
34  AktualizrSecondaryConfig config2((temp_dir / "output1.toml").string());
35  std::ofstream sink2((temp_dir / "output2.toml").c_str(), std::ofstream::out);
36  config2.writeToStream(sink2);
37 
38  std::string conf_str1 = Utils::readFile((temp_dir / "output1.toml").string());
39  std::string conf_str2 = Utils::readFile((temp_dir / "output2.toml").string());
40  EXPECT_EQ(conf_str1, conf_str2);
41 }
42 
43 #ifndef __NO_MAIN__
44 int main(int argc, char **argv) {
45  ::testing::InitGoogleTest(&argc, argv);
46 
47  return RUN_ALL_TESTS();
48 }
49 #endif
AktualizrSecondaryConfig
Definition: aktualizr_secondary_config.h:35
TemporaryDirectory
Definition: utils.h:82