Posts

Bien comprendre le stubbing de Mockito

Bonjour cher tous, Nous allons voir ensemble comment éviter quelques erreurs lors de l'utilisation du stubbing when  de  Mockito dans la mise en place de nos tests unitaires ou d'intégrations. Qu'est ce que Mockito ? Mockito est un framework open source de test en Java. Il permet de donner des comportements fake à nos objets dans les pratiques TDD ou BDD . Nous n'allons pas expliquer ces deux thèmes dans cet article. Vous pouvez les voir plus tard. J'ai découvert il y'a quelques années une subtilité dans les tests avec Mockito an utilisant le stubbing  when . Lorsque nous voulons un comportement lors de l'exécution de nos méthodes les types d'argument utilisés sont très importants. Dans cet article nous allons voir 1 type d'argument parmi l'ensemble fournit dans le package org.mockito.ArgumentMacthers qui pourrait être une source d'erreurs dans nos tests. Notons que si ne voulons pas utiliser le type de  nos arguments, l'utilisation d

Valider vos objets Java contre les attaques XSS , SPEL Injection et LDAP injection

Bonjour à toutes et à tous, Nous allons parler de la validation de nos objets dans le développement d'APIs RESTFull. Il existe plusieurs failles de sécurité dans le monde d' APIs RESTFull . Les failles de sécurité les plus connus dans le développement d'APIs avec Spring Boot sont: - L'injection XSS (Cross Site Scripting) qui ajoute  du code le plus souvent côté client (Javascript) dans nos beans Java. - L'injection SPEL (Spring Expression Language) consiste à injecter une expression language de Spring dans nos objets. - L'injection LDAP permet d'ajouter des expressions LDAP dans les objets ayant pour but d'introduire une valeur indésirable dans le fonctionnement du serveur. Comment valide t-on nos objets ? Pour nous prévenir de ses attaques nous allons utiliser le mécanisme de validation de l'API javax.validation avec son implémentation standard hibernate-validator . Il existe plusieurs options de validation des objets contre ces différentes atta

Utilisation du gestionnaire de dépendances Maven

Bonjour à toutes et à tous, Nous allons parler d'un élément important dans la programmation java. Avec l'évolution de la technologie nous avons aujourd'hui après plusieurs outils de gestion de projet Java , un projet de la fondation apache appelé Maven (plus d'informations  https://maven.apache.org/ ). Maven est un gestionnaire de dépendances (semblable à npm avec javascript) qui permet de gérer toutes les dépendances liés à un projet. Il est très utile dans le sens ou toutes les dépendances sont téléchargées une fois depuis Internet puis utilisées sans Internet à moins d'avoir une nouvelle dépendance du projet. Quelles sont les notions utiles à comprendre ? POM (Project Object Model) Le POM Maven est un fichier xml (pom.xml) situé généralement à la racine du projet permettant à Maven de comprende toute la configuration du projet. Il contient des sections comme la définition du projet (GAV-groupId:artifactId:version) permettant une réutilisati

Apprendre le framework de Python (Flask 1ère partie )

Bonjour cher tous, Nous allons parler d'un framework puissant de python Flask . Flask est un framework python qui permet de développer des applications web. Nous allons parler du module web  à travers Flask RESTful . Flask RESTFul est une extension de Flask qui permet de créer très rapidement des APIs RESTFul. La mise en place d'un service REST en python via Flask devient très simple. Dans ce tutoriel nous allons voir ensemble comment exposer un service web par interaction avec une base de données MYSQL. Pour ce faire nous allons ajouter le module Flask MySQL au premier. Le projet est détaillé à cette URL ( https://github.com/yakketyyak/flask-base ) Toutes les méthodes sont disponibles actuellement create (création) , update(mise à jour), delete (suppression) et getAll (récupération de la liste des utilisateurs). Merci et à très bientôt Patrick

Apprendre le framework de Java (Spring Boot, 2ème partie)

  Bonjour cher tous, Nous avons vu les bases du framework Java (Spring Boot) dans la première partie ( Apprendre le framework de Java (Spring Boot, 1ère partie). Vous devez lire la première partie de ce tutoriel avant de commencer cette partie. Nous allons dans la deuxième utiliser une fonctionnalité de la première  pour l'améliorer. La fonctionnalité est l'envoi de mail. En effet l'envoi de mail était un simple text, nous allons utiliser un moteur de template pour le personnaliser. L'envoi de mail personnalisé et un élément important dans la mise en place d'une application web, mobile et bien d'autres. Cette manière de faire permet à l'utilisateur d'être confiant de votre application et permet d'informer l'utilisateur sur plusieurs produits de votre boutique en ligne (dans le cas d'un site e-commerce) avant même de se rendre sur le site. La plupart des services REST en Spring Boot sont exposés via le Web, donc doiv