Skip to content

Commit

Permalink
Initial commit for vitam-itests master_3.6.x
Browse files Browse the repository at this point in the history
  • Loading branch information
Jenkins committed Jul 16, 2020
0 parents commit 008e6ed
Show file tree
Hide file tree
Showing 809 changed files with 387,734 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.gz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
95 changes: 95 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
############
VITAM Itests
############


.. section-numbering::

.. image:: logo_vitam.png
:alt: Logo Vitam (Bêta)
:align: center

Le projet Vitam Itests
======================

Il a pour objectif :

* de permettre la définition de fichiers feature décrivant une série de scénarios de tests regroupés par fonctionnalités.
* l'aggrégation de fichiers de tests (dans le répertoire data) : contrats, référentiels de formats, requêtes DSL, rêgles de gestions, et différents SIP.

A la racine du projet, on trouvera donc les différents fichiers .feature permettant de lancer les différents cas de test.
Dans le répertoire data, seront regroupés les différents fichiers nécéssaires aux différents scénarios décrits dans les fichiers .feature.

Liste des fichiers feature
==========================

- access-accession-register.feature :
Regroupe des scénarios de test sur les recherches dans les registres de fonds.

- access-archive-unit.feature :
Regroupe des scénarios de test sur les recherches d'unités archivistiques.

- access-archive-unit-rule-heritance.feature :
Regroupe des scénarios de test concernant l'héritage de règles de gestion pour les unités archivistiques.

- access-archive-unit-rules-calculation.feature :
Regroupe des scénarios de test concernant le calcul de règles de gestion.

- access-archive-unit-update.feature :
Regroupe des scénarios de test sur la mise à jour d'unités archivistiques.

- access-logbook.feature :
Regroupe des scénarios de test sur la recherche dans le journal des opérations.

- contracts.feature :
Regroupe des scénarios de test sur les contrats (d'accès et d'entrée) - import et recherche.

- ingest.feature :
Regroupe des scénarios de test sur des entrées de SIP (OK, KO ou en WARNING).

- ingest_atr.feature :
Regroupe des scénarios de test sur la récupération d'un ATR.

- ingest-tree-filing-plan.feature :
Regroupe des scénarios de test sur des entrées d'arbres et de plans de classement.

- referential.feature :
Regroupe des scénarios de test sur les différents référentiels (de formats, des règles de gestion), en import comme en recherche.

- storage.feature :
Regroupe des scénarios de test sur la vérification du stockage des objets sur les différentes offres de stockage.

- traceability.feature :
Regroupe des scénarios de test sur la fonctionnalité de sécurisation du journal des opérations.

- security_profiles.feature :
Regroupe des scénarios de test sur les profiles de sécurité.


Fichiers de configuration pour lancement en local
=================================================

Pour pouvoir lancer depuis un poste local les différents fichiers features, il convient d'avoir une configuration.
Dans le répertoire /data/conf, se trouvent les différents fichiers nécéssaires.

- access-external-client.conf : fichier de configuration permettant l'appel vers le module Access External
- ingest-external-client.conf : fichier de configuration permettant l'appel vers le module Ingest External
- logback.xml : fichier de configuration des logs
- logbook-client.conf : fichier de configuration permettant d'appeler directement le module Logbook Internal
- tnr.conf : fichier de configuration permettant de configurer l'url du Workspace ainsi que la liste des tenants de test à purger.


Lancement en local (Eclipse)
============================

Pour pouvoir lancer les TNR en local, il faut disposer des sources VITAM et notamment du module functional-test.
Ensuite il s'agit d'ajouter une nouvelle configuration de lancement (Run Configuration) et d'y indiquer les informations suivantes :
Dans Main :
- Project : functional-test
- Main class : cucumber.api.cli.Main
Dans Arguments :
- Program arguments : -g fr.gouv.vitam.functionaltest.cucumber -p fr.gouv.vitam.functionaltest.cucumber.report.VitamReporter:report.json
- Program arguments bis (pour ne lancer qu'un fichier feature) : -g fr.gouv.vitam.functionaltest.cucumber -p fr.gouv.vitam.functionaltest.cucumber.report.VitamReporter:report.json /home/vitam/vitam-itests/contracts.feature
- VM arguments : -DtnrBaseDirectory=/home/vitam/vitam-itests
Dans Classpath : Dans les Advanced Options > Add External Folders > Séléctionner l'endroit de sa configuration locale (ex : /home/vitam/conf-tnr/)

157 changes: 157 additions & 0 deletions __ontologies.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# language: fr

@Ontology
Fonctionnalité: Import de vocabulaire externe dans l'ontologie

Contexte: Avant de lancer cette suite de test, je vérifie que je suis bien sur le tenant d'administration
Etant donné les tests effectués sur le tenant 1

Scénario: restauration de l'ontologie
Etant donné un fichier ontologie nommé data/ontology/vitam_ontology.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 200 |
Et le statut final du journal des opérations est OK
Et le champ 'outMessg' de l'évenement final est : Succès du processus d'import de l'ontologie

Scénario: Vérification et import d'une ontologie au bon format
Etant donné un fichier ontologie nommé data/ontology/ok_ontology_voc_ext_all_types.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 200 |
Et le statut final du journal des opérations est OK
Et le champ 'outMessg' de l'évenement final est : Succès du processus d'import de l'ontologie


Scénario: Vérification et import d'une ontologie au mauvais format
Quand un fichier ontologie nommé data/ontology/ko_ontologie_format.csv
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 412 |



Scénario: Vérification et import d'une ontologie avec un 2 identifiants identiques et de même casse
Etant donné un fichier ontologie nommé data/ontology/vitam_ontology.json
Quand j'importe l'ontologie
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_voc_ext_same_identifier.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 400 |
Et le statut final du journal des opérations est KO
Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie

# Bug a crrer
# Scénario: Vérification et import d'une ontologie avec un 2 identifiants identiques et de casses différentes
# Etant donné un fichier ontologie nommé data/ontology/ko_ontology_voc_ext_same_identifier_different_casse.json
# Quand j'importe l'ontologie
# Alors les metadonnées sont
# | Code | 400 |
# Et le statut final du journal des opérations est KO
# Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie


Scénario: Vérification et import d'une ontologie avec un identifiant invalide - identifiant avec espace
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_voc_ext_with_space.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 400 |
Et le statut final du journal des opérations est KO
Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie


Scénario: Vérification et import d'une ontologie avec un identifiant invalide - identifiant avec diese
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_voc_ext_with_diese.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 400 |
Et le statut final du journal des opérations est KO
Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie


Scénario: Vérification et import d'une ontologie avec un identifiant invalide - identifiant avec underscore
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_voc_ext_with_diese.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 400 |
Et le statut final du journal des opérations est KO
Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie


Scénario: Vérification et import d'une ontologie avec un identifiant invalide - identifiant avec espace entourant l'identifiant
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_voc_ext_with_blank.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 400 |
Et le statut final du journal des opérations est KO
Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie


Scénario: Vérification et import d'une ontologie avec un fichier json invalide
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_invalid_json.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 412 |

#depend de la configuration de la plateforme

# Scénario: Vérification et import d'une ontologie avec un champ interne défini comme externe
# Etant donné un fichier ontologie nommé data/ontology/vitam_ontology.json
# Quand j'importe l'ontologie
# Alors les metadonnées sont
# | Code | 200 |
# Etant donné un fichier ontologie nommé data/ontology/ko_ontology_internal_becomes_external.json
# Quand j'importe l'ontologie
# Alors les metadonnées sont
# | Code | 400 |
# Et le statut final du journal des opérations est KO
# Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie


Scénario: Import d'un vocabulaire de type inconnu dans l'ontologie
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_voc_ext_type_unknown.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 400 |
# Pas de journal Et le statut final du journal des opérations est KO

Scénario: Import d'un vocabulaire avec champ obligatoire absent
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_voc_ext_with_mandatory_field_absent.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 400 |
Et le statut final du journal des opérations est KO
Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie


# doit etre ok mais pas de champs blabla
# Scénario: Import d'un vocabulaire avec champ json inconnu
# Etant donné un fichier ontologie nommé data/ontology/vitam_ontology.json
# Quand j'importe l'ontologie
# Alors les metadonnées sont
# | Code | 200 |
# Etant donné un fichier ontologie nommé data/ontology/ko_ontology_json_field_unknown.json
# Quand j'importe l'ontologie
# Alors les metadonnées sont
# | Code | 400 |

Scénario: Import d'un vocabulaire avec injection de Html
Etant donné un fichier ontologie nommé data/ontology/ko_ontology_html_injection.json
Quand j'importe l'ontologie
Alors les metadonnées sont
| Code | 412 |
## Bug a créer
# crée une collection blabla
# Scénario: Import d'un vocabulaire avec une collection inconnue
# Etant donné un fichier ontologie nommé data/ontology/vitam_ontology.json
# Quand j'importe l'ontologie
# Alors les metadonnées sont
# | Code | 200 |
# Etant donné un fichier ontologie nommé data/ontology/ko_ontology_unknown_collection.json
# Quand j'importe l'ontologie
# Alors les metadonnées sont
# | Code | 400 |
# Et le statut final du journal des opérations est KO
# Et le champ 'outMessg' de l'évenement final est : Échec du processus d'import de l'ontologie
#
#
Loading

0 comments on commit 008e6ed

Please sign in to comment.