9 #include <gtest/gtest.h> 17 #include "http/httpclient.h" 18 #include "logging/logging.h" 19 #include "primary/initializer.h" 20 #include "storage/invstorage.h" 21 #include "test_utils.h" 22 #include "uptane/uptanerepository.h" 23 #include "utilities/utils.h" 28 bool doTestInit(StorageType storage_type,
const std::string &device_register_state,
29 const std::string &ecu_register_state) {
31 conf.storage.type = storage_type;
32 conf.storage.path = temp_dir.Path();
33 conf.provision.expiry_days = device_register_state;
34 conf.provision.primary_ecu_serial = ecu_register_state;
35 std::string good_url =
conf.provision.server;
36 if (device_register_state ==
"noconnection") {
37 conf.provision.server =
conf.provision.server.substr(
conf.provision.server.size() - 2) +
"11";
41 auto http = std::make_shared<HttpClient>();
42 auto store = INvStorage::newStorage(
conf.storage);
47 result = initializer.isSuccessful();
49 if (device_register_state !=
"noerrors" ||
conf.provision.primary_ecu_serial !=
"noerrors") {
51 LOG_INFO <<
"Reinit without error";
52 conf.provision.server = good_url;
53 conf.provision.expiry_days =
"noerrors";
54 conf.provision.primary_ecu_serial =
"noerrors";
56 if (device_register_state ==
"noerrors" && ecu_register_state !=
"noerrors") {
60 store->loadEcuSerials(&serials);
62 store->storeEcuSerials(serials);
68 result = initializer.isSuccessful();
78 TEST(UptaneNetwork, device_drop_request_sqlite) {
79 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"drop_request",
"noerrors"));
82 TEST(UptaneNetwork, device_drop_body_sqlite) {
83 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"drop_body",
"noerrors"));
86 TEST(UptaneNetwork, device_503_sqlite) {
87 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"status_503",
"noerrors"));
90 TEST(UptaneNetwork, device_408_sqlite) {
91 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"status_408",
"noerrors"));
94 TEST(UptaneNetwork, ecu_drop_request_sqlite) {
95 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"noerrors",
"drop_request"));
98 TEST(UptaneNetwork, ecu_503_sqlite) {
99 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"noerrors",
"status_503"));
102 TEST(UptaneNetwork, ecu_408_sqlite) {
103 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"noerrors",
"status_408"));
106 TEST(UptaneNetwork, no_connection_sqlite) {
107 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"noconnection",
"noerrors"));
110 TEST(UptaneNetwork, no_errors_sqlite) {
111 EXPECT_TRUE(doTestInit(StorageType::kSqlite,
"noerrors",
"noerrors"));
116 int main(
int argc,
char **argv) {
117 ::testing::InitGoogleTest(&argc, argv);
118 logger_set_threshold(boost::log::trivial::trace);
120 port = TestUtils::getFreePort();
121 TestHelperProcess server_process(
"tests/fake_http_server/fake_uptane_server.py", port);
125 conf.provision.server =
"http://127.0.0.1:" + port;
126 conf.tls.server =
"http://127.0.0.1:" + port;
127 conf.provision.ecu_registration_endpoint =
conf.tls.server +
"/director/ecus";
128 conf.uptane.repo_server =
conf.tls.server +
"/repo";
129 conf.uptane.director_server =
conf.tls.server +
"/director";
130 conf.pacman.ostree_server =
conf.tls.server +
"/treehub";
132 return RUN_ALL_TESTS();
Config conf("tests/config/basic.toml")
Configuration object for an aktualizr instance running on a primary ECU.