Symfony installer phpunit pour réaliser ces tests unitaires

Pour ajouter phpunit sur un projet symfony, il faut utiliser la commande composer suivante :



composer require --dev phpunit/phpunit ^6.5

Il faudra ensuite coder les tests dans le répertoire Tests du projet, généralement on essaie de garder la même arborescence que les autres fichiers, c’est à dire qu’on retrouvera un dossier Controller dans le dossier test et par exemple un fichier DefaultControllerTest.php.

Pour lancer les tests, il faut utiliser la commande suivante :

php phpunit-6.5.phar -c phpunit.xml.dist

Le chemin du fichier de configuration peut varier selon la version de symfony, il peut tantôt être dans le dossier app ou à la racine du projet.

 

Symfony lancement des tests unitaires

Au lancement des tests unitaires avec phpunit, sur certains tests apparaient le message d’erreur suivant :

SQLSTATE[08004] [1040] Too many connections

Pour éviter ce problème, il faut modifier le fichier de configuration de phpunit (sur symfony phpunit.xml.dist)

Dans la balise <phpunit> il faut ajouter l’attribut

processIsolation = "true"

Installation du gestionnaire de paquets YARN

Etant utilisateur de bower, lors d’une mise à jour je me suis aperçu que bower était « deprecated » et qu’il fallait utiliser YARN.

Voici les instructions pour installer YARN (sous ubuntu 16.04)

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
Pour l’installation sous windows, il faut télécharger le fichier msi et cliquer dessus pour lancer l’installation.

Installation de xpack pour Logstash

Le xpack d’elastic permet d’apporter des fonctionnalités supplémentaires (Authentification, machine learning…) mais il est soumis à licence. Voici comment installer le xpack pour logstash.

cd /usr/share/logstash/bin
./logstash-plugin install x-pack
Voici le résultat de la commande
Downloading file: https://artifacts.elastic.co/downloads/logstash-plugins/x-pack/x-pack-5.5.1.zip
Downloading [=============================================================] 100%
Installing file: /tmp/studtmp-6bdfe41ce102862e861cf6ed48b02d47109b283ca12e7c1aff486da411a2/x-pack-5.5.1.zip
Install successful
Il faut ensuite redémarrer le service
 service logstash restart

Installation de xpack pour Kibana

Le xpack d’elastic permet d’apporter des fonctionnalités supplémentaires (Authentification, machine learning…) mais il est soumis à licence. Voici comment installer le xpack pour kibana. L’installation peut prendre un peu de temps.

cd /usr/share/kibana/bin 
./kibana-plugin install x-pack

Voici le résultat de la commande

Attempting to transfer from x-pack
Attempting to transfer from https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-5.5.1.zip
Transferring 119276972 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...
Plugin installation complete
Il faut ensuite redémarrer le service
 service kibana restart
Il faut enfin installer des paquets nécessaire pour le module reporting
apt-get install fontconfig freetype2-demos

Installation du plugin logstash-input-jdbc

L’installation du plugin logstash-input-jdbc permet d’indexer des tables de base de données avec l’aide de logstash. Il faut préalablement avoir installer la stack elastic, le tuto se trouve sur mon blog.

Le serveur utilisé est un Ubuntu 16.04 64bits LTS.

Il faut se rendre dans ce répertoire

cd /usr/share/logstash/bin/
Et taper la commande ci-dessous
./logstash-plugin install logstash-input-jdbc
Une fois le plugin installé vous pourrez ensuite suivre les procédures pour la configuration de la connexion avec les différentes base de données
Mysql
Mssql Server
Oracle

Installation de xpack pour elasticsearch

Le xpack d’elastic permet d’apporter des fonctionnalités supplémentaires (Authentification, machine learning…) mais il est soumis à licence. Voici comment installer le xpack pour elasticsearch.

cd /usr/share/elasticsearch/bin
./elasticsearch-plugin install x-pack
Voici le résultat de la commande
-> Downloading x-pack from elastic

[=================================================] 100%
Le plugin demande des permissions supplémentaires pour que le Watcher puisse envoyer des mails, il faudra accepter (Y).
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.io.FilePermission \\.\pipe\* read,write
* java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.RuntimePermission setFactory
* java.security.SecurityPermission createPolicy.JavaPolicy
* java.security.SecurityPermission getPolicy
* java.security.SecurityPermission putProviderProperty.BC
* java.security.SecurityPermission setPolicy
* java.util.PropertyPermission * read,write
* java.util.PropertyPermission sun.nio.ch.bugLevel write
* javax.net.ssl.SSLPermission setHostnameVerifier
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
Continue with installation? [y/N] y
Le plugin veut l’autorisation de lancer le moteur d’analyse avec du Machine Learning, , il faudra accepter (Y).
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@        WARNING: plugin forks a native controller        @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
This plugin launches a native controller that is not subject to the Java
security manager nor to system call filters.

Continue with installation? [y/N] y
-> Installed x-pack
Il faut ensuite redémarrer le service
service elasticsearch restart