# Getting Started

Dans cet atelier, vous allez mettre en place Testcontainers pour migrer les tests d'intégrations d'une application Spring Boot.

Il s'agit de l'application Spring Petclinic, une application de démonstration utilisée pour montrer des cas d'exemples de certains composants de l'écosystème Spring. On y trouve par exemple Spring Boot Actuator, Spring Data JPA, Spring Web et Spring Cache.

# Récupération du projet

Pour bien démarrer, assurez-vous d'avoir les outils suivant d'installés :

Pensez à vérifier que votre utilisateur courant appartient au group docker

Ensuite téléchargez le projet depuis github :

git clone https://github.com/vgallet/handson-testcontainers.git

# Lancement du projet

Ouvrez le projet dans votre IDE et assurez-vous que celui-ci build :

mvn clean package

Le projet utilise du CSS compilé depuis des fichiers Less. Si le CSS de l'application ne s'affiche pas correctement. Recompiler le CSS avec la commande :

mvn generate-resources

Vous pouvez ensuite démarrer l'application en lançant le main de la classe PetClinicApplication.java où en démarrant directement le jar crée précédemment.

java -jar target/spring-petclinic-2.1.0.BUILD-SNAPSHOT.jar

Une fois l'application démarrée, rendez-vous ensuite sur la page http://localhost:8080.

À noter que l'application démarre en utilisant une base chargée en mémoire de type HSQLDB. La configuration de la base de données de l'application se trouve dans le fichier src/main/resources/application.properties.

# database init, supports Mysql too
database=hsqldb
spring.datasource.schema=classpath*:db/${database}/schema.sql
spring.datasource.data=classpath*:db/${database}/data.sql

Ce type de base données est généralement utilisée pour les tests automatisés du fait de sa taille, de sa vitesse et de sa capacité à être montée en mémoire.