Проект на java 7 без использования Spring Boot
Проект на java 17 с использованием Spring Boot, Testcontainers, flywaydb....
Проект представляет CRUD операции над задачей.
Задача состоит из:
- id - id задачи
- name - имя задачи.
- status - статус задачи.
- parameters - список параметров для данной задачи.
- subtasks - список подзадач.
Подзадача - это задача, которая является вложенной сущностью другой задачи.
При модификации родительской задачи могут изменяться вложенные сущности.
При удалении задачи все ее вложенные сущности удаляются (каскадом).
Количество или уровень вложенности подзадач не ограничен.
{
"id": 38,
"status": "READY",
"name": "task38",
"parameters": [],
"subtasks": []
}{
"id": 40,
"status": "READY",
"name": "task40",
"parameters": [
{
"param_type": "int",
"param_name": "taskparam",
"param_value": "100"
}
],
"subtasks": [
{
"id": 41,
"status": "READY",
"name": "subtask41",
"parameters": [],
"subtasks": []
}
]
}mvn test -P unitДля Unit-тестирования.mvn verify -P itДля интеграционного тестирования.mvn verify -P live- Для Live тестирования (RestTemplate).
Возможно явно указать параметры для бд:
-Durl=jdbc:h2:mem:consistdb;DB_CLOSE_DELAY=-1 -Dusername=username -Dpassword=password -Ddriver="org.h2.Driver"
Пример с H2:
mvn verify -P unit -P it -Durl="jdbc:h2:mem:consistdb;DB_CLOSE_DELAY=-1" -Dusername=username -Dpassword=password -Ddriver="org.h2.Driver"
Пример с postgres:
mvn verify -P unit -P it -Durl="jdbc:postgresql://localhost:5432/consistdb" -Dusername=postgres -Dpassword=12345QWe -Ddriver="org.postgresql.Driver"
Возможно задать адрес (по умолчанию - http://localhost:8080/tasks)
mvn verify -P live -Daddress="http://localhost:8080/task-0.0.1-SNAPSHOT/tasks"