Mock implementation of ObjectStorage.
Подробнее...
|
|
| MockObjectStorage (const fs::path &temp_dir) |
| bool | saveObject (const VcsObject &object) const override |
| | Сохраняет VcsObject в базе данных объектов.
|
| std::unique_ptr< VcsObject > | loadObject (const std::string &hash) const override |
| | Загружает объект с диска по его ID хеша.
|
|
void | clear () |
|
bool | is_blob_saved (const std::string &hash) const |
|
size_t | get_saved_blobs_count () const |
| | ObjectStorage (const std::string &root_path, const std::shared_ptr< ISubject > &subject=nullptr) |
| | Конструктор для ObjectStorage.
|
|
virtual | ~ObjectStorage () |
| | Деструктор.
|
| void | setSubject (std::shared_ptr< ISubject > subj) |
| | Устанавливает или заменяет субъект событий, используемый ObjectStorage.
|
| std::string | getObjectPath (const std::string &hash) const |
| | Формирует полный путь в файловой системе для объекта на основе его хеша.
|
| bool | objectExists (const std::string &hash) const |
| | Проверяет, существует ли объект с заданным хешем на диске.
|
|
|
std::map< std::string, std::string > | saved_blobs |
Mock implementation of ObjectStorage.
- This mock substitutes the actual filesystem I/O for object saving and loading with an in-memory map, allowing for fast, isolated testing of the Index's interaction with the storage layer.
◆ loadObject()
| std::unique_ptr< VcsObject > svcs::test::core::MockObjectStorage::loadObject |
( |
const std::string & | hash | ) |
const |
|
inlineoverridevirtual |
Загружает объект с диска по его ID хеша.
Читает сжатый файл, распаковывает его, выполняет проверки целостности и десериализует объект с использованием внутреннего фабричного метода.
- Аргументы
-
| hash | ID хеша объекта для загрузки. |
- Возвращает
- std::unique_ptr<VcsObject> Восстановленный экземпляр объекта.
- Исключения
-
| std::runtime_error | если объект не найден, поврежден или недействителен. |
Переопределяет метод предка svcs::core::ObjectStorage.
◆ saveObject()
| bool svcs::test::core::MockObjectStorage::saveObject |
( |
const VcsObject & | obj | ) |
const |
|
inlineoverridevirtual |
Сохраняет VcsObject в базе данных объектов.
Сериализует объект, добавляет заголовок, сжимает его и записывает в файл. Публикует события об успехе/неудаче.
- Аргументы
-
- Возвращает
- bool True, если сохранение прошло успешно.
- Исключения
-
| std::runtime_error | если хеш недействителен или операции ввода-вывода завершаются неудачно. |
Переопределяет метод предка svcs::core::ObjectStorage.
Объявления и описания членов класса находятся в файле: