mirror of
https://github.com/davidallendj/gdpm.git
synced 2025-12-20 03:27:02 -07:00
-Make package manager functions return error -Added Jenkensfile CI for testing purposes -Updated the github CI for testing purposes
66 lines
No EOL
1.4 KiB
C++
66 lines
No EOL
1.4 KiB
C++
#include "package_manager.hpp"
|
|
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
|
|
|
|
#include "log.hpp"
|
|
#include "cache.hpp"
|
|
#include "config.hpp"
|
|
|
|
#include <doctest.h>
|
|
|
|
|
|
TEST_SUITE("Test database functions"){
|
|
|
|
TEST_CASE("Test cache database functions"){
|
|
gdpm::cache::create_package_database();
|
|
}
|
|
}
|
|
|
|
|
|
TEST_SUITE("Package manager function"){
|
|
using namespace gdpm;
|
|
|
|
std::vector<std::string> packages{"ResolutionManagerPlugin","godot-hmac", "Godot"};
|
|
config::context config = config::make_context();
|
|
|
|
auto check_error = [](const error& error){
|
|
if(error.has_error()){
|
|
log::error(error.get_message());
|
|
}
|
|
|
|
CHECK(!error.has_error());
|
|
};
|
|
|
|
|
|
TEST_CASE("Test install packages"){
|
|
error error = package_manager::install_packages(packages, true);
|
|
check_error(error);
|
|
}
|
|
|
|
|
|
TEST_CASE("Test searching packages"){
|
|
error error = package_manager::search_for_packages(packages, true);
|
|
check_error(error);
|
|
}
|
|
|
|
|
|
TEST_CASE("Test remove packages"){
|
|
error error = package_manager::remove_packages(packages, true);
|
|
check_error(error);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
TEST_CASE("Test configuration functions"){
|
|
using namespace gdpm;
|
|
|
|
config::context config = config::make_context();
|
|
config.path = constants::TestPath + "/";
|
|
|
|
std::string json = config::to_json(config);
|
|
error error_save = config::save(config.path, config);
|
|
CHECK(error_save.get_code() == 0);
|
|
|
|
error error_load = config::load(config.path, config);
|
|
CHECK(error_load.get_code() == 0);
|
|
} |