У меня есть нечто похожее на купол, с некоторыми оговорками. Я провел такие тесты, используя Java и testcontainers. Кроме того, я не использовал neo4j. Я использовал postgress, sqlserver и mongodb для своих тестов. Использование той же техники для neo4j должно быть похоже на один из них. Я опубликую ссылку на мои примеры на github для mongodb / springboot / java. Взгляните.
Идея состоит в том, чтобы вывести тестовый контейнер из теста (ie, контейнер docker для тестов), заполнить его данными, заставить приложение использовать его для использования в своей базе данных, затем подтвердите в конце.
В вашем примере нет резервного копирования. Только CSV-файл с данными.
-Ваш тест раскручивает тестовый контейнер с neo4j из вашего теста (это ваш testdb).
-Загрузите CSV в этот контейнер.
- получите ip, порт, пользователь, пароль тестконтейнера (эта часть зависит от типа образа базы данных, доступного для тестконтейнеров. Некоторые образы позволяют вам задать свой собственный порт, идентификатор пользователя и пароль. Некоторые из них не будут.)
-передайте эти данные в ваше приложение и запустите его (я не уверен, как эта часть будет работать для python приложения. Здесь вы сами. См. ссылку на блог, который я нашел для примера с python / testcontainer ниже. Я использовал приложение Spring-Boot. Вы можете увидеть мой код в github)
- как только закончите, выполните запросы к контейнеру neo4j и подтвердите.
- когда тест закончится, контейнер Удалите вместе с данными.
- в файл CSV внесено любое изменение, которое может создать новый сценарий ios для вашего теста.
- при необходимости создайте другой файл / тест CSV.
Вот ссылки, * 1 023 *
https://www.testcontainers.org/
testcontainers Модуль neo4j https://www.testcontainers.org/modules/databases/neo4j/
Блог с подробным описанием тестконтейнеров и python. https://medium.com/swlh/testcontainers-in-python-testing-docker-dependent-python-apps-bd34935f55b5
Моя ссылка на github на примеры mongodb / springboot и sqlserver / springboot. На днях я добавлю также образец neo4j. https://github.com/snarasim123/testcontainers