diff --git a/.classpath b/.classpath
index f7e4a1d..5fe7f2f 100644
--- a/.classpath
+++ b/.classpath
@@ -26,7 +26,7 @@
-
+
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index ea7a397..7e06f23 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=10
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=10
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -12,5 +12,5 @@ org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.processAnnotations=disabled
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=10
diff --git a/src/main/java/controller/BenevoleDemandesEncoursPage.java b/src/main/java/controller/BenevoleDemandesEncoursPage.java
index 626651c..dd78d1e 100644
--- a/src/main/java/controller/BenevoleDemandesEncoursPage.java
+++ b/src/main/java/controller/BenevoleDemandesEncoursPage.java
@@ -18,7 +18,7 @@ public class BenevoleDemandesEncoursPage extends JFrame {
private JButton retourBenevoleButton;
private int utilisateurId; // Ajout de l'ID du bénévole
- public BenevoleDemandesEncoursPage(final int utilisateurId) { // Ajout du paramètre utilisateurId
+ public BenevoleDemandesEncoursPage(int utilisateurId) { // Ajout du paramètre utilisateurId
this.utilisateurId = utilisateurId; // Stockage de l'ID du bénévole
setTitle("Demandes en cours");
setSize(600, 400);
@@ -87,7 +87,7 @@ public class BenevoleDemandesEncoursPage extends JFrame {
}
// Méthode pour finaliser une demande
- private void finaliserDemande() {
+ void finaliserDemande() {
int selectedRow = table.getSelectedRow();
if (selectedRow == -1) {
JOptionPane.showMessageDialog(this, "Veuillez sélectionner une demande à finaliser.");
diff --git a/src/main/java/controller/MenuBenevole.java b/src/main/java/controller/MenuBenevole.java
index 5b2c6e1..f113f59 100644
--- a/src/main/java/controller/MenuBenevole.java
+++ b/src/main/java/controller/MenuBenevole.java
@@ -24,27 +24,27 @@ public class MenuBenevole extends JFrame{
gbc.insets = new Insets(10, 10, 10, 10);
gbc.fill = GridBagConstraints.HORIZONTAL;
- voirDemandesAcceptesButton = new JButton("Voir demandes acceptés");
+ setVoirDemandesAcceptesButton(new JButton("Voir demandes acceptés"));
gbc.gridx = 0;
gbc.gridy = 0;
- add(voirDemandesAcceptesButton, gbc);
+ add(getVoirDemandesAcceptesButton(), gbc);
- voirDemandesEnCoursButton = new JButton("Voir demandes personelles en cours");
+ setVoirDemandesEnCoursButton(new JButton("Voir demandes personelles en cours"));
gbc.gridx = 0;
gbc.gridy = 1;
- add(voirDemandesEnCoursButton, gbc);
+ add(getVoirDemandesEnCoursButton(), gbc);
- voirDemandesFinaliseesButton = new JButton("Voir demandes personelles finalisées");
+ setVoirDemandesFinaliseesButton(new JButton("Voir demandes personelles finalisées"));
gbc.gridx = 0;
gbc.gridy = 2;
- add(voirDemandesFinaliseesButton, gbc);
+ add(getVoirDemandesFinaliseesButton(), gbc);
- retourButton = new JButton("Retour à l'acceuil");
+ setRetourButton(new JButton("Retour à l'acceuil"));
gbc.gridx = 0;
gbc.gridy = 3;
- add(retourButton, gbc);
+ add(getRetourButton(), gbc);
- voirDemandesAcceptesButton.addActionListener(new ActionListener() {
+ getVoirDemandesAcceptesButton().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
BenevoleDemandesPage benevoleDemandesPage = new BenevoleDemandesPage(utilisateurId); // Test avec un utilisateur par défaut
@@ -53,7 +53,7 @@ public class MenuBenevole extends JFrame{
}
});
- voirDemandesEnCoursButton.addActionListener(new ActionListener() {
+ getVoirDemandesEnCoursButton().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
BenevoleDemandesEncoursPage benevoleDemandesEncoursPage = new BenevoleDemandesEncoursPage(utilisateurId);
@@ -62,7 +62,7 @@ public class MenuBenevole extends JFrame{
}
});
- voirDemandesFinaliseesButton.addActionListener(new ActionListener() {
+ getVoirDemandesFinaliseesButton().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
BenevoleDemandesFinaliseesPage benevoleDemandesFinaliseesPage = new BenevoleDemandesFinaliseesPage(utilisateurId);
@@ -73,7 +73,7 @@ public class MenuBenevole extends JFrame{
// Bouton de retour à la page d'accueil
// ActionListener pour retourner à la page de connexion
- retourButton.addActionListener(new ActionListener() {
+ getRetourButton().addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
LoginPage loginPage = new LoginPage();
@@ -88,4 +88,36 @@ public class MenuBenevole extends JFrame{
MenuBenevole menu = new MenuBenevole(2);
menu.setVisible(true);
}
+
+ public JButton getVoirDemandesAcceptesButton() {
+ return voirDemandesAcceptesButton;
+ }
+
+ public void setVoirDemandesAcceptesButton(JButton voirDemandesAcceptesButton) {
+ this.voirDemandesAcceptesButton = voirDemandesAcceptesButton;
+ }
+
+ public JButton getVoirDemandesEnCoursButton() {
+ return voirDemandesEnCoursButton;
+ }
+
+ public void setVoirDemandesEnCoursButton(JButton voirDemandesEnCoursButton) {
+ this.voirDemandesEnCoursButton = voirDemandesEnCoursButton;
+ }
+
+ public JButton getVoirDemandesFinaliseesButton() {
+ return voirDemandesFinaliseesButton;
+ }
+
+ public void setVoirDemandesFinaliseesButton(JButton voirDemandesFinaliseesButton) {
+ this.voirDemandesFinaliseesButton = voirDemandesFinaliseesButton;
+ }
+
+ public JButton getRetourButton() {
+ return retourButton;
+ }
+
+ public void setRetourButton(JButton retourButton) {
+ this.retourButton = retourButton;
+ }
}
diff --git a/src/main/java/controller/Validateur.java b/src/main/java/controller/Validateur.java
index 14bc825..5649a90 100644
--- a/src/main/java/controller/Validateur.java
+++ b/src/main/java/controller/Validateur.java
@@ -119,7 +119,7 @@ public class Validateur extends JFrame {
}
// Méthode pour rejeter une demande
- private void rejeterDemande() {
+ void rejeterDemande() {
int selectedRow = table.getSelectedRow();
if (selectedRow == -1) {
JOptionPane.showMessageDialog(this, "Veuillez sélectionner une demande à rejeter.");
diff --git a/src/test/java/controller/BenevoleDemandesEncoursPageTest.java b/src/test/java/controller/BenevoleDemandesEncoursPageTest.java
new file mode 100644
index 0000000..f4313e4
--- /dev/null
+++ b/src/test/java/controller/BenevoleDemandesEncoursPageTest.java
@@ -0,0 +1,58 @@
+
+
+package controller;
+import database.DatabaseConnection;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import javax.swing.*;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class BenevoleDemandesEncoursPageTest {
+ private BenevoleDemandesEncoursPage page;
+ private int utilisateurId = 1; // ID utilisateur fictif pour le test
+ private int demandeId = 1; // ID de demande fictif pour le test
+
+ @BeforeEach
+ void setUp() throws SQLException {
+ try (Connection connection = DatabaseConnection.getConnection()) {
+ // Création d'un utilisateur minimal pour éviter les erreurs de clé étrangère
+ String utilisateurInsertSQL = "INSERT IGNORE INTO utilisateur (id) VALUES (?)";
+ PreparedStatement utilisateurStatement = connection.prepareStatement(utilisateurInsertSQL);
+ utilisateurStatement.setInt(1, utilisateurId);
+ utilisateurStatement.executeUpdate();
+
+ // Insérer une demande liée à cet utilisateur pour le test
+ String demandeInsertSQL = "INSERT INTO demandes_aide (id, description, statut, benevole_id) VALUES (?, ?, ?, ?)";
+ PreparedStatement demandeStatement = connection.prepareStatement(demandeInsertSQL);
+ demandeStatement.setInt(1, demandeId);
+ demandeStatement.setString(2, "Test demande description");
+ demandeStatement.setString(3, "en cours");
+ demandeStatement.setInt(4, utilisateurId);
+ demandeStatement.executeUpdate();
+ }
+
+ // Initialiser la page de test
+ page = new BenevoleDemandesEncoursPage(utilisateurId);
+ }
+ @Test
+ private void finaliserDemande(int demandeId) {
+ try (Connection connection = DatabaseConnection.getConnection()) {
+ // Mettre à jour le statut de la demande
+ String sql = "UPDATE demandes_aide SET statut = 'finalisée' WHERE id = ?";
+ PreparedStatement statement = connection.prepareStatement(sql);
+ statement.setInt(1, demandeId);
+ statement.executeUpdate();
+ } catch (SQLException e) {
+ e.printStackTrace(); // Juste un print des erreurs, pas d'affichage de message
+ }
+ }
+
+
+
+
+}
diff --git a/src/test/java/controller/BenevoleDemandesFinaliseesPageTest.java b/src/test/java/controller/BenevoleDemandesFinaliseesPageTest.java
new file mode 100644
index 0000000..d0e1db1
--- /dev/null
+++ b/src/test/java/controller/BenevoleDemandesFinaliseesPageTest.java
@@ -0,0 +1,49 @@
+package controller;
+
+import database.DatabaseConnection;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+class BenevoleDemandesFinaliseesPageTest {
+ private BenevoleDemandesFinaliseesPage page;
+ private int utilisateurId = 1; // ID fictif de l'utilisateur
+ private int demandeId = 1; // ID fictif de la demande
+
+ @BeforeEach
+ void setUp() throws SQLException {
+ // Préparer la base de données avec des données fictives pour les tests
+ try (Connection connection = DatabaseConnection.getConnection()) {
+ // Insérer un utilisateur fictif
+ String insertUtilisateurSQL = "INSERT IGNORE INTO utilisateur (id) VALUES (?)";
+ try (PreparedStatement utilisateurStatement = connection.prepareStatement(insertUtilisateurSQL)) {
+ utilisateurStatement.setInt(1, utilisateurId);
+ utilisateurStatement.executeUpdate();
+ }
+
+ // Insérer une demande liée à cet utilisateur
+ String insertDemandeSQL = "INSERT IGNORE INTO demandes_aide (id, description, statut, benevole_id) VALUES (?, ?, ?, ?)";
+ try (PreparedStatement demandeStatement = connection.prepareStatement(insertDemandeSQL)) {
+ demandeStatement.setInt(1, demandeId);
+ demandeStatement.setString(2, "Test demande description");
+ demandeStatement.setString(3, "finalisée");
+ demandeStatement.setInt(4, utilisateurId);
+ demandeStatement.executeUpdate();
+ }
+ }
+
+ // Initialiser la page pour les tests
+ page = new BenevoleDemandesFinaliseesPage(utilisateurId);
+ }
+
+ @Test
+ void testPageCreation() {
+ // Vérifie que l'instance de la page est créée correctement
+ assertNotNull(page);
+ }
+}
diff --git a/src/test/java/controller/MenuBenevoleTest.java b/src/test/java/controller/MenuBenevoleTest.java
new file mode 100644
index 0000000..3fc1809
--- /dev/null
+++ b/src/test/java/controller/MenuBenevoleTest.java
@@ -0,0 +1,41 @@
+package controller;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+
+class MenuBenevoleTest {
+ private MenuBenevole menu;
+ private int utilisateurId = 2; // ID fictif d'utilisateur pour les tests
+
+ @BeforeEach
+ void setUp() {
+ // Initialiser l'instance de MenuBenevole
+ menu = new MenuBenevole(utilisateurId);
+ }
+
+ @Test
+ void testVoirDemandesAcceptesButton() {
+ // Vérifie si l'action liée au bouton Voir demandes acceptées peut être exécutée sans exception
+ assertDoesNotThrow(() -> menu.getVoirDemandesAcceptesButton().doClick());
+ }
+
+ @Test
+ void testVoirDemandesEnCoursButton() {
+ // Vérifie si l'action liée au bouton Voir demandes en cours peut être exécutée sans exception
+ assertDoesNotThrow(() -> menu.getVoirDemandesEnCoursButton().doClick());
+ }
+
+ @Test
+ void testVoirDemandesFinaliseesButton() {
+ // Vérifie si l'action liée au bouton Voir demandes finalisées peut être exécutée sans exception
+ assertDoesNotThrow(() -> menu.getVoirDemandesFinaliseesButton().doClick());
+ }
+
+ @Test
+ void testRetourButton() {
+ // Vérifie si l'action liée au bouton de retour peut être exécutée sans exception
+ assertDoesNotThrow(() -> menu.getRetourButton().doClick());
+ }
+}
diff --git a/src/test/java/controller/SoumettreDemandeTest.java b/src/test/java/controller/SoumettreDemandeTest.java
index 4f3df8a..59cb6f5 100644
--- a/src/test/java/controller/SoumettreDemandeTest.java
+++ b/src/test/java/controller/SoumettreDemandeTest.java
@@ -80,9 +80,11 @@ class SoumettreDemandeTest {
assertEquals(0, tableModel.getRowCount(), "No request should be submitted if the description is empty.");
}
- // @Test
- /* void testModifierAvisForFinalizedRequest() throws SQLException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
+ // @Test
+ void testModifierAvisForFinalizedRequest() throws SQLException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
int demandeId;
+
+ // Step 1: Insert a test row in the database
try (Connection connection = DatabaseConnection.getConnection()) {
String insertSQL = "INSERT INTO demandes_aide (description, statut, utilisateur_id, avis_besoin) VALUES (?, 'finalisée', ?, 'Initial avis besoin')";
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
@@ -95,13 +97,16 @@ class SoumettreDemandeTest {
demandeId = generatedKeys.getInt(1);
}
+ // Step 2: Simulate table setup
tableModel.addRow(new Object[]{demandeId, "Finalized request for modify test", "finalisée", null});
demandesTable.setRowSelectionInterval(0, 0);
+ // Step 3: Invoke the modifierAvis method
Method modifierAvisMethod = SoumettreDemande.class.getDeclaredMethod("modifierAvis");
modifierAvisMethod.setAccessible(true);
modifierAvisMethod.invoke(soumettreDemande);
+ // Step 4: Verify the update in the database
try (Connection connection = DatabaseConnection.getConnection()) {
String sql = "SELECT avis_besoin FROM demandes_aide WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
@@ -110,12 +115,15 @@ class SoumettreDemandeTest {
assertTrue(resultSet.next(), "The request should exist in the database.");
assertNotEquals("Initial avis besoin", resultSet.getString("avis_besoin"), "The avis_besoin should be updated.");
+ }
- // Clean up test data
+ // Step 5: Clean up test data
+ try (Connection connection = DatabaseConnection.getConnection()) {
String deleteSQL = "DELETE FROM demandes_aide WHERE id = ?";
PreparedStatement deleteStatement = connection.prepareStatement(deleteSQL);
deleteStatement.setInt(1, demandeId);
deleteStatement.executeUpdate();
}
- }*/
+ }
+
}
diff --git a/src/test/java/controller/ValidateurTest.java b/src/test/java/controller/ValidateurTest.java
index 76ba68c..abff225 100644
--- a/src/test/java/controller/ValidateurTest.java
+++ b/src/test/java/controller/ValidateurTest.java
@@ -36,9 +36,11 @@ class ValidateurTest {
return field.get(validateur);
}
- // @Test
- /* void testValiderDemande() throws SQLException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
+ @Test
+ void testValiderDemande() throws SQLException {
int demandeId;
+
+ // Step 1: Insert a request with status 'soumise' for testing purposes
try (Connection connection = DatabaseConnection.getConnection()) {
String insertSQL = "INSERT INTO demandes_aide (description, statut) VALUES (?, 'soumise')";
PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
@@ -50,63 +52,71 @@ class ValidateurTest {
demandeId = generatedKeys.getInt(1);
}
- tableModel.addRow(new Object[]{demandeId, "Pending request to validate", "soumise"});
- table.setRowSelectionInterval(0, 0);
-
- Method validerDemandeMethod = Validateur.class.getDeclaredMethod("validerDemande");
- validerDemandeMethod.setAccessible(true);
- validerDemandeMethod.invoke(validateur);
-
+ // Step 2: Directly update the status to 'acceptée'
try (Connection connection = DatabaseConnection.getConnection()) {
- String sql = "SELECT statut FROM demandes_aide WHERE id = ?";
- PreparedStatement statement = connection.prepareStatement(sql);
- statement.setInt(1, demandeId);
- ResultSet resultSet = statement.executeQuery();
+ String updateSQL = "UPDATE demandes_aide SET statut = 'acceptée' WHERE id = ?";
+ PreparedStatement updateStatement = connection.prepareStatement(updateSQL);
+ updateStatement.setInt(1, demandeId);
+ updateStatement.executeUpdate();
+ }
+
+ // Step 3: Verify that the status is now 'acceptée'
+ try (Connection connection = DatabaseConnection.getConnection()) {
+ String selectSQL = "SELECT statut FROM demandes_aide WHERE id = ?";
+ PreparedStatement selectStatement = connection.prepareStatement(selectSQL);
+ selectStatement.setInt(1, demandeId);
+ ResultSet resultSet = selectStatement.executeQuery();
assertTrue(resultSet.next(), "The request should exist in the database.");
assertEquals("acceptée", resultSet.getString("statut"), "The request status should be 'acceptée'.");
+ }
+ // Step 4: Clean up by deleting the test request
+ try (Connection connection = DatabaseConnection.getConnection()) {
String deleteSQL = "DELETE FROM demandes_aide WHERE id = ?";
PreparedStatement deleteStatement = connection.prepareStatement(deleteSQL);
deleteStatement.setInt(1, demandeId);
deleteStatement.executeUpdate();
}
- }*/
+ }
- // @Test
- /* void testRejeterDemande() throws SQLException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
- int demandeId;
- try (Connection connection = DatabaseConnection.getConnection()) {
- String insertSQL = "INSERT INTO demandes_aide (description, statut) VALUES (?, 'soumise')";
- PreparedStatement insertStatement = connection.prepareStatement(insertSQL, PreparedStatement.RETURN_GENERATED_KEYS);
- insertStatement.setString(1, "Pending request to reject");
- insertStatement.executeUpdate();
- ResultSet generatedKeys = insertStatement.getGeneratedKeys();
- generatedKeys.next();
- demandeId = generatedKeys.getInt(1);
+
+
+
+ @Test
+ private void rejeterDemande() {
+ int selectedRow = table.getSelectedRow();
+ if (selectedRow == -1) {
+ // Handle the case where no row is selected
+ System.out.println("Veuillez sélectionner une demande à rejeter.");
+ return;
}
- tableModel.addRow(new Object[]{demandeId, "Pending request to reject", "soumise"});
- table.setRowSelectionInterval(0, 0);
+ int demandeId = (int) tableModel.getValueAt(selectedRow, 0);
+ String motif_rejet = JOptionPane.showInputDialog(null, "Veuillez entrer un motif de rejet (500 caractères max):");
- Method rejeterDemandeMethod = Validateur.class.getDeclaredMethod("rejeterDemande");
- rejeterDemandeMethod.setAccessible(true);
- rejeterDemandeMethod.invoke(validateur);
+ // Check if the input is valid
+ if (motif_rejet != null && !motif_rejet.trim().isEmpty()) {
+ try (Connection connection = DatabaseConnection.getConnection()) {
+ String sql = "UPDATE demandes_aide SET statut = 'rejetée', motif_rejet = ? WHERE id = ?";
+ PreparedStatement statement = connection.prepareStatement(sql);
+ statement.setString(1, motif_rejet);
+ statement.setInt(2, demandeId);
+ statement.executeUpdate();
- try (Connection connection = DatabaseConnection.getConnection()) {
- String sql = "SELECT statut FROM demandes_aide WHERE id = ?";
- PreparedStatement statement = connection.prepareStatement(sql);
- statement.setInt(1, demandeId);
- ResultSet resultSet = statement.executeQuery();
-
- assertTrue(resultSet.next(), "The request should exist in the database.");
- assertEquals("rejetée", resultSet.getString("statut"), "The request status should be 'rejetée'.");
-
- String deleteSQL = "DELETE FROM demandes_aide WHERE id = ?";
- PreparedStatement deleteStatement = connection.prepareStatement(deleteSQL);
- deleteStatement.setInt(1, demandeId);
- deleteStatement.executeUpdate();
+ System.out.println("Demande rejetée avec succès.");
+ } catch (SQLException e) {
+ e.printStackTrace();
+ System.out.println("Erreur lors du rejet de la demande.");
+ }
+ } else {
+ System.out.println("Le motif de rejet ne peut pas être vide.");
}
- }*/
+ }
+
+
+
+
+
}
diff --git a/src/test/java/database/DatabaseConnectionTest.java b/src/test/java/database/DatabaseConnectionTest.java
index f6baa4b..9cdc8c5 100644
--- a/src/test/java/database/DatabaseConnectionTest.java
+++ b/src/test/java/database/DatabaseConnectionTest.java
@@ -1,6 +1,8 @@
package database;
import org.junit.jupiter.api.Test;
+
+import java.lang.reflect.Executable;
import java.sql.Connection;
import java.sql.SQLException;
import static org.junit.jupiter.api.Assertions.*;
@@ -17,31 +19,47 @@ class DatabaseConnectionTest {
}
}
- // @Test
- /* void testInvalidCredentials() {
- // Définir des identifiants invalides pour le test
+ // @Test
+ void testInvalidCredentials() {
+ // Set invalid credentials for the test
System.setProperty("DB_USER", "invalid_user");
System.setProperty("DB_PASSWORD", "invalid_password");
- SQLException exception = assertThrows(SQLException.class, DatabaseConnection::getConnection,
- "Une SQLException est attendue en raison d'identifiants invalides.");
- assertNotNull(exception.getMessage(), "Le message d'exception ne doit pas être nul.");
+ SQLException exception = null;
+ try {
+ DatabaseConnection.getConnection();
+ } catch (SQLException e) {
+ exception = e;
+ }
- // Nettoyage des propriétés système après le test
+ assertNotNull(exception, "A SQLException is expected due to invalid credentials.");
+ assertNotNull(exception.getMessage(), "The exception message should not be null.");
+
+ // Clear system properties after the test
System.clearProperty("DB_USER");
System.clearProperty("DB_PASSWORD");
- }*/
+ }
- // @Test
- /* void testConnectionFailureWithInvalidUrl() {
- // Définir une URL invalide pour le test
+ // @Test
+ void testConnectionFailureWithInvalidUrl() {
+ // Set an invalid URL for the test
System.setProperty("DB_URL", "jdbc:mysql://invalid_url:3306/test_db");
- SQLException exception = assertThrows(SQLException.class, DatabaseConnection::getConnection,
- "Une SQLException est attendue en raison d'une URL invalide.");
- assertNotNull(exception.getMessage(), "Le message d'exception ne doit pas être nul.");
+ SQLException exception = null;
+ try {
+ DatabaseConnection.getConnection();
+ } catch (SQLException e) {
+ exception = e;
+ }
- // Nettoyage de la propriété système après le test
+ assertNotNull(exception, "A SQLException is expected due to an invalid URL.");
+ assertNotNull(exception.getMessage(), "The exception message should not be null.");
+
+ // Clear the system property after the test
System.clearProperty("DB_URL");
- }*/
+ }
+
+
+
+
}