Comment tester codjo security - codjo/codjo-security GitHub Wiki

Description

Cette page décrit comment tester les aspects de sécurité d'une application. Il existe 2 niveaux de test :

{anchor: test-unitaire}

Niveau 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>

User

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"));

Autres

A compléter

{anchor: test-release}

Niveau Test Fonctionnel

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}

⚠️ **GitHub.com Fallback** ⚠️