Comment tester codjo security - codjo/codjo-security GitHub Wiki
Cette page décrit comment tester les aspects de sécurité d'une application. Il existe 2 niveaux de test :
{anchor: test-unitaire}
La librairie vient avec un ensemble de classe mock
facilitant l'écriture des tests. Pour pouvoir les utiliser il faut ajouter la dépendance suivante dans le pom.xml
du projet :
<dependency>
<groupId>codjo-security</groupId>
<artifactId>codjo-security-common</artifactId>
<classifier>test</classifier>
<scope>tests</scope>
</dependency>
La classe de mock
associé est UserMock.
Exemple: Pour simuler qu'un utilisateur est autorisé de faire administrate-data
mais qui lui est interdit de faire do-other-stuff
, il suffit d'écrire :
userMock.mockIsAllowedTo("administrate-data", true)
.mockIsAllowedTo("do-other-stuff", false);
assertTrue(userMock.isAllowedTo("administrate-data"));
assertFalse(userMock.isAllowedTo("do-other-stuff"));
Exemple: Pour simuler que l'utilisateur possède le rôle administrator
, il suffit d'écrire :
userMock.mockIsInRole("administrator", true)
assertTrue(userMock.isInRole("administrator"));
assertFalse(userMock.isAllowedTo("unspecified-role"));
A compléter
{anchor: test-release}
Dans le cadre de codjo-test], la mise en place d'un modèle de sécurité se fait au travers de la balise [security-model.
{rate}