Browse Source

script lancement de test

maha bouchiba 1 year ago
parent
commit
35dc4cf0c0
3 changed files with 66 additions and 0 deletions
  1. 5 0
      .gitignore
  2. 61 0
      application_tests.sh
  3. BIN
      tests/Fixture/image-1.png

+ 5 - 0
.gitignore

@@ -57,4 +57,9 @@ phpstan.json
 /.php-cs-fixer.cache
 ###< friendsofphp/php-cs-fixer ###
 
+
+###> fake database for applications tests ###
+opentalent_test.sql
+###< fake database for applications tests ###
+
 .php-cs-fixer.cache

+ 61 - 0
application_tests.sh

@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# Configuration des paramètres de la base de données
+DB_USER="root"
+DB_PASSWORD="mysql660"
+DB_HOST="127.0.0.1"
+DB_PORT="3306"
+DB_NAME="opentalent"
+DB_TEST_NAME="opentalent_test"
+MARIADB_CONTAINER="mariaDb"
+
+# Fonction pour réinitialiser la base de données de test
+reset_test_database() {
+    echo "Dropping test database if it exists..."
+    docker exec $MARIADB_CONTAINER mysql --user=$DB_USER --password=$DB_PASSWORD --host=$DB_HOST --port=$DB_PORT -e "DROP DATABASE IF EXISTS $DB_TEST_NAME;"
+
+    echo "Dumping schema from the main database..."
+    docker exec $MARIADB_CONTAINER mysqldump --user=$DB_USER --password=$DB_PASSWORD --host=$DB_HOST --port=$DB_PORT --default-character-set=utf8 --single-transaction=TRUE --no-data --skip-triggers "$DB_NAME" | sed 's/ AUTO_INCREMENT=[0-9]*//g' > opentalent_test.sql
+
+    echo "Creating test database..."
+    docker exec $MARIADB_CONTAINER mysql --user=$DB_USER --password=$DB_PASSWORD --host=$DB_HOST --port=$DB_PORT -e "CREATE DATABASE $DB_TEST_NAME;"
+
+    echo "Importing schema into the test database..."
+    docker exec -i $MARIADB_CONTAINER mysql --user=$DB_USER --password=$DB_PASSWORD --host=$DB_HOST --port=$DB_PORT -D $DB_TEST_NAME < opentalent_test.sql
+
+    echo "Database setup completed."
+}
+
+# Réinitialiser la base de données de test
+reset_test_database
+
+total_tests=0
+passed_tests=0
+failed_tests=0
+
+for test_file in $(find tests/Application -name "*Test.php"); do
+    echo "Running test: $test_file"
+    php bin/phpunit $test_file
+    result=$?
+
+    total_tests=$((total_tests + 1))
+    if [ $result -ne 0 ]; then
+        echo "Test failed: $test_file"
+        failed_tests=$((failed_tests + 1))
+    else
+        passed_tests=$((passed_tests + 1))
+    fi
+done
+
+echo "===================================="
+echo "Test Summary:"
+echo "Total tests run: $total_tests"
+echo "Tests passed: $passed_tests"
+echo "Tests failed: $failed_tests"
+echo "===================================="
+
+if [ $failed_tests -ne 0 ]; then
+    exit 1
+else
+    exit 0
+fi

BIN
tests/Fixture/image-1.png