Pourquoi
Tester un moissonneur s'avère une opération assez délicate à cause d'un certain nombre de facteurs :
- facteurs extérieurs : les entrepôts que l'on moissonne échappent au contrôle du testeur
- la complexité due au cycle de vie des moissons incrémentales
- la gestion des doublons occasionnés par l'exposition multiple des mêmes fiches par différents entrepôts
Le jeu de test qui est décrit ici servira donc avant tout pour les tests de non-regression réalisés par les developpeurs à l'occasion d'ajout de nouvelles fonctionnalités. Il peut néanmoins également servir pour tester une installation à vide du couple entrepôt/moissonneur.
Ces tests utilisent conjointement le moissonneur avec ORI-OAI-Repository, afin de mieux maitriser les conditions de tests et les rendre parfaitement reproductibles, modulo les facteurs contextuels d'installation irreductibles ( liés à l'OS, au réseau, au papillon... )
Comment
Dans le répertoire du module repository conf/properties/filesystem/test-repository, figurent un ensemble de répertoires permettant de simuler rapidement différents cas de test de moissonnage :
Le fichier conf/properties/filesystem/test-repository/README contient le detail des configurations à utiliser pour réaliser l'ensemble des tests.
Test 0 : lancement du moissonneur
L'accès à l'interface du moissonneur se fait par l'URL :
http://[HOST_INSTALL]:8181/ori-oai-harvester
Test 1 : ajout et suppression
Objectif : tester les ajouts, suppression et mise à jour des fiches.
Répertoires utilisés :
- repository1
- repository2
Phases :
- Positionner l'entrepôt sur le répertoire repository1 (relancer le repository)
- Lancer la moisson de cet entrepôt
- Resultats attendus : ajouts : 3 / 3 / 3
- Basculer sur le répertoire repository2 (relancer le repository)
- Ajuster le champ "from" sur la date 2009-07-09
- Lancer cette seconde moisson
- Résultats attendus : ajout 1 / 1 / 1, suppression 1 / 1 / 1
Test 2 : gestion des doublons
Objectif : tester la gestion des doublons lors de la moisson d'entrepôts exposant des fiches en commun.
Répertoires utilisés :
- repository1
- embedder1
- embedder2
Phases :
- Positionner l'entrepôt sur le répertoire repository1 (*)
- Lancer la moisson de cet entrepôt
- Resultats attendus :
- Basculer sur le répertoire embedder1 (**)
- Lancer cette seconde moisson
- Résultats attendus :
- Basculer sur le répertoire embedder2 (***)
- Lancer cette troisième moisson
- Résultats attendus :
- Basculer sur le répertoire embedder3
- Lancer cette quatrième moisson
- Résultats attendus :
(*) :
- positionner Identify.repositoryName=embedder
- positionner filesystem.directory=/path/to/ori-oai-repository/conf/properties/filesystem/test-repository/repository1
- lancer le repository
(**) :
- positionner Identify.repositoryName=embedded
- positionner filesystem.directory=/path/to/ori-oai-repository/conf/properties/filesystem/test-repository/embedder1
- relancer le repository
(***) :
- positionner filesystem.directory=/path/to/ori-oai-repository/conf/properties/filesystem/test-repository/embedder2
- relancer le repository
Test 3 : recherche dans la moisson
Pour vérifier qu'une moisson s'est bien passée, vous pouvez rechercher les documents moissonnés dans l'interface de recherche (ori-oai-search) à l'URL :
http://[HOST_INSTALL]:8184/ori-oai-search
Exemple « non contractuel » :