Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter

- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
This commit is contained in:
Eric F
2026-06-08 00:38:27 -04:00
parent 468cfeaa50
commit d398a6ced2
7326 changed files with 1177561 additions and 7 deletions

View File

@@ -0,0 +1,50 @@
// SPDX-License-Identifier: Apache-2.0
// Copyright 2020 - 2025 Pionix GmbH and Contributors to EVerest
#pragma once
#include <everest/database/sqlite/connection.hpp>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
using namespace std::string_literals;
namespace everest::db::sqlite {
class DatabaseTestingUtils : public ::testing::Test {
protected:
std::unique_ptr<ConnectionInterface> database;
public:
DatabaseTestingUtils() : database(std::make_unique<Connection>("file::memory:?cache=shared")) {
EXPECT_TRUE(this->database->open_connection());
}
void ExpectUserVersion(uint32_t expected_version) {
auto statement = this->database->new_statement("PRAGMA user_version");
EXPECT_EQ(statement->step(), SQLITE_ROW);
EXPECT_EQ(statement->column_int(0), expected_version);
}
void SetUserVersion(uint32_t user_version) {
EXPECT_TRUE(this->database->execute_statement("PRAGMA user_version = "s + std::to_string(user_version)));
}
bool DoesTableExist(std::string_view table) {
const std::string statement = "SELECT name FROM sqlite_master WHERE type='table' AND name=@table_name";
std::unique_ptr<StatementInterface> table_exists_statement = this->database->new_statement(statement);
table_exists_statement->bind_text("@table_name", std::string(table), SQLiteString::Transient);
const int status = table_exists_statement->step();
const int number_of_rows = table_exists_statement->get_number_of_rows();
return status != SQLITE_ERROR && number_of_rows == 1;
}
bool DoesColumnExist(std::string_view table, std::string_view column) {
return this->database->execute_statement("SELECT "s + column.data() + " FROM " + table.data() + " LIMIT 1;");
}
};
} // namespace everest::db::sqlite