-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathaccess-archive-unit.feature
301 lines (271 loc) · 15.3 KB
/
access-archive-unit.feature
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
# language: fr
@Access
@ArchiveUnit
Fonctionnalité: Recherche une archive unit existante
Contexte: Avant de lancer cette suite de test, je présuppose que les règles de gestions et de formats sont chargés et je charge un contrat d'accès
Etant donné les tests effectués sur le tenant 0
Et un contract nommé data/contracts/contract_access_every_originating_agency.json
Et j'importe ce contrat sans échec de type ACCESS_CONTRACTS
Et un contract nommé data/contracts/access/contrat_modification_autorisees.json
Et j'importe ce contrat sans échec de type ACCESS_CONTRACTS
Et un contract nommé data/contracts/access/contrat_modification_interdites.json
Et j'importe ce contrat sans échec de type ACCESS_CONTRACTS
@Light
Scénario: Import de contrat de type contract accès
Etant donné un contract nommé data/contracts/contract_acces_TNR.json
Et les tests effectués sur le tenant 1
Alors j'importe ce contrat sans échec de type ACCESS_CONTRACTS
Scénario: Import de contrat de type contract accès
Etant donné un contract nommé data/contracts/access/contrat_inactif_tous_producteurs.json
Et les tests effectués sur le tenant 1
Alors j'importe ce contrat sans échec de type ACCESS_CONTRACTS
Scénario: Import de contrat de type contract accès
Etant donné un contract nommé data/contracts/access/contrat_tous_producteur.json
Et les tests effectués sur le tenant 1
Alors j'importe ce contrat sans échec de type ACCESS_CONTRACTS
Scénario: Import de contrat de type contract accès
Etant donné un contract nommé data/contracts/access/contrat_producteur1.json
Et les tests effectués sur le tenant 1
Alors j'importe ce contrat sans échec de type ACCESS_CONTRACTS
Scénario: US2230 -- chercher une unité archivistique nommée “Galliéni”, en utilisant un identifiant de contrat inconnu sur ce tenant mais connu sur un autre tenant “contrat_tous_producteur”
Etant donné les tests effectués sur le tenant 0
Et les tests effectués sur le contrat id contrat_tous_producteur
Et un fichier SIP nommé data/SIP_OK/ZIP/Gallieni_metro_producteur1.zip
Quand je télécharge le SIP
Et j'utilise le fichier de requête suivant data/queries/select_Gallieni.json
Alors le statut de select résultat est Unauthorized
Scénario: US2230 -- chercher cette même unité, mais en utilisant un contrat inactif “contrat_inactif_tous_producteurs”
Etant donné les tests effectués sur le tenant 1
Et les tests effectués sur le contrat id contrat_inactif_tous_producteurs
Et un fichier SIP nommé data/SIP_OK/ZIP/Gallieni_metro_producteur1.zip
Quand je télécharge le SIP
Et j'utilise le fichier de requête suivant data/queries/select_Gallieni.json
Alors le statut de select résultat est Unauthorized
Scénario: US2232 -- éditer des métadonnées avec succès
Etant donné les tests effectués sur le tenant 0
Et les tests effectués sur le contrat id contrat_modification_autorisees
Et un fichier SIP nommé data/SIP_OK/ZIP/Gallieni_metro_producteur1.zip
Quand je télécharge le SIP
Et je recherche le journal des opérations
Alors le statut final du journal des opérations est OK
Et j'utilise le fichier de requête suivant data/queries/select_units_by_operation_having_title_description.json
Et je recherche les unités archivistiques pour trouver l'unite OriginatingSystemId_00
Alors les metadonnées sont
| Title | Porte de Bagnolet par producteur1 |
Quand j'utilise le fichier de requête suivant data/queries/update_unit_title_description.json
Et je modifie les unités archivistiques
Alors le nombre de résultat est 1
Scénario: US2232 -- éditer des métadonnées sans succès
Etant donné les tests effectués sur le tenant 0
Et les tests effectués sur le contrat id contrat_modification_interdites
Et un fichier SIP nommé data/SIP_OK/ZIP/Gallieni_metro_producteur1.zip
Quand je télécharge le SIP
Et je recherche le journal des opérations
Alors le statut final du journal des opérations est OK
Et j'utilise le fichier de requête suivant data/queries/select_units_by_operation_having_title_description.json
Et je recherche les unités archivistiques pour trouver l'unite OriginatingSystemId_00
Alors les metadonnées sont
| Title | Porte de Bagnolet par producteur1 |
Quand j'utilise le fichier de requête suivant data/queries/update_unit_title_description.json
Alors le statut de update résultat est Unauthorized
Scénario: US2231 -- Sélectionner le contrat “contrat_producteur1”
Etant donné les tests effectués sur le tenant 0
Et les tests effectués sur le contrat id ContratTNR
Et un fichier SIP nommé data/SIP_OK/ZIP/Gallieni_metro_producteur1.zip
Quand je télécharge le SIP
Et j'utilise le fichier de requête suivant data/queries/select_accession_register_by_opc.json
Et je recherche les détails des registres de fond pour le service producteur producteur1
Alors les metadonnées pour le détail du registre de fond sont
| OriginatingAgency | producteur1 |
Quand j'utilise le fichier de requête suivant data/queries/select_Gallieni.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 4
Scénario: SRC1 - Recherche une archive unit avec un intervalle de temps sur plusieurs tenants
Etant donné les tests effectués sur le tenant 0
Et les tests effectués sur le contrat id ContratTNR
Et un fichier SIP nommé data/SIP_OK/ZIP/OK_SIP_SRC1_DATES_EXTREMES_OBJETS.zip
Quand je télécharge le SIP
Et je recherche le journal des opérations
Alors le statut final du journal des opérations est OK
Quand j'utilise le fichier de requête suivant data/queries/select_dates_extremes_src1.json
Et je recherche les unités archivistiques
Alors les metadonnées sont
| Title | Liste des armements |
| DescriptionLevel | Item |
| StartDate | 1700-01-01 |
| EndDate | 1700-01-02 |
Mais les tests effectués sur le tenant 1
Et je recherche les unités archivistiques
Alors le nombre de résultat est 0
Scénario: SRC2 - chercher les unités ayant un titre donné et une description contenant au moins un mots clés donnés
Etant donné les tests effectués sur le tenant 0
Et un fichier SIP nommé data/SIP_WARNING/ZIP/WARNING_SIP_SRC2_TITLE_DESC_UNITS_SANS_OBJ.zip
Quand je télécharge le SIP
Et j'utilise le fichier de requête suivant data/queries/select_titre_description_src2.json
Et je recherche les unités archivistiques
Alors les metadonnées sont
| Title | SRC2_TITLE_DESC_UNITS_Rectorat de Nantes |
Mais les tests effectués sur le tenant 1
Et je recherche les unités archivistiques
Alors le nombre de résultat est 0
Scénario: Recherche une archive unit qui contient le letter tokenizer
Etant donné les tests effectués sur le tenant 0
Et un fichier SIP nommé data/SIP_OK/US_2101/OK_SIP_2101.zip
Quand je télécharge le SIP
Et j'utilise la requête suivante
"""
{
"$roots": [],
"$query": [
{
"$and": [
{
"$in": {
"#operations": [
"Operation-Id"
]
}
},
{
"$match": {
"Description": "17"
}
}
]
}
],
"$filter": {
"$orderby": {
"TransactedDate": 1
}
},
"$projection": {
"$fields": {
"TransactedDate": 1,
"#id": 1,
"Title": 1
}
}
}
"""
Et je recherche les unités archivistiques
Alors les metadonnées sont
| Title | BAD0431E2C5E80E5BD42D547A3ED59665555.odt |
Scénario: US 2216 / CAS OK = import SIP OK et métadonnées de l'objet physique OK
Etant donné les tests effectués sur le tenant 0
Et les données du jeu de test du SIP nommé data/SIP_OK/ZIP/OK_ArchivesPhysiques.zip
Quand j'utilise la requête suivante
"""
{ "$roots": [],
"$query": [{"$and":[{"$eq":{"Title":"Sed blandit mi dolor"}},{"$in":{"#operations":["Operation-Id"]}}]}],
"$projection": {
"$fields": {
"TransactedDate": 1, "#id": 1, "Title": 1, "#object": 1, "DescriptionLevel": 1, "EndDate": 1, "StartDate": 1
}}}
"""
Et je recherche les groupes d'objets des unités archivistiques
Alors les metadonnées sont
| #qualifiers.0.versions.0.DataObjectVersion | PhysicalMaster_1 |
| #qualifiers.0.versions.0.PhysicalDimensions.Height.dValue | 21 |
| #qualifiers.0.versions.0.PhysicalDimensions.Height.unit | centimetre |
| #qualifiers.0.versions.0.PhysicalDimensions.Length.dValue | 29.7 |
| #qualifiers.0.versions.0.PhysicalDimensions.Length.unit | centimetre |
| #qualifiers.0.versions.0.PhysicalDimensions.Weight.dValue | 1 |
| #qualifiers.0.versions.0.PhysicalDimensions.Weight.unit | kilogram |
| #qualifiers.1.versions.0.DataObjectVersion | BinaryMaster_1 |
| #qualifiers.1.versions.0.FormatIdentification.FormatId | fmt/18 |
Scénario: Access SORT - Recherche de plusieurs archive unit ordonées dans l'ordre inverse des OrignatingSystemId
Etant donné les tests effectués sur le tenant 0
Et un fichier SIP nommé data/SIP_OK/ZIP/OK_ARBO-COMPLEXE_SORT.zip
Quand je télécharge le SIP
Et je recherche le journal des opérations
Alors le statut final du journal des opérations est OK
Et j'utilise le fichier de requête suivant data/queries/select_units_by_operation_order_description_desc.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 5
Alors les metadonnées sont
| Title | ID8 |
| Description | Description de l'archive unit d'identifiant ID8 |
| DescriptionLevel | Item |
| #unitups.path.array[] | ["{{unit:ID4}}","{{unit:ID10}}"] |
Quand je recherche les groupes d'objets de l'unité archivistique dont le titre est ID8
Alors les metadonnées sont
| #qualifiers.BinaryMaster._nbc | 1 |
Scénario: Access EveryOriginatingAgency OK - Recherche d'une archive avec un contrat acceptant tous les services producteurs
Etant donné les tests effectués sur le tenant 0
Et les tests effectués sur le contrat id contrat_EveryOriginatingAgency_true
Et les données du jeu de test du SIP nommé data/SIP_OK/ZIP/OK_ArchivesPhysiques.zip
Et j'utilise le fichier de requête suivant data/queries/select_units_by_operation_id.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 1
Scénario: Access EveryOriginatingAgency KO - Recherche d'une archive avec un contrat n'acceptant pas tous les services producteurs
Etant donné les tests effectués sur le tenant 0
Et les tests effectués sur le contrat id contrat_EveryOriginatingAgency_false
Et les données du jeu de test du SIP nommé data/SIP_OK/ZIP/OK_ArchivesPhysiques.zip
Et j'utilise le fichier de requête suivant data/queries/select_units_by_operation_id.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 0
Scénario: Recherche avancée d’archives – cas OK d’une recherche monocritère en utilisant comme critère de recherche une métadonnée de gestion (API)
Etant donné les tests effectués sur le tenant 0
Et un fichier SIP nommé data/SIP_OK/ZIP/OK_SIP_2_GO_test.zip
Et je télécharge le SIP
Quand j'utilise le fichier de requête suivant data/queries/select_monocritere.json
Et je recherche les unités archivistiques
Alors les metadonnées sont
| Title | untitredesipunique |
| DescriptionLevel | RecordGrp |
| StartDate | 2016-06-03T15:28:00 |
| EndDate | 2016-06-03T15:28:00 |
Scénario: Recherche avancée d’archives – cas OK d’une recherche multicritères de métadonnées de gestion (API)
Etant donné les tests effectués sur le tenant 0
Quand j'utilise le fichier de requête suivant data/queries/select_multicriteres.json
Et je recherche les unités archivistiques
Alors les metadonnées sont
| Title | untitredesipunique |
| DescriptionLevel | RecordGrp |
| StartDate | 2016-06-03T15:28:00 |
| EndDate | 2016-06-03T15:28:00 |
Scénario: Recherche avancée d’archives – cas OK d’une recherche multicritères croisant métadonnées métadonnées descriptives et métadonnées de gestion (API)
Etant donné les tests effectués sur le tenant 0
Et un fichier SIP nommé data/SIP_OK/ZIP/OK-RULES_TEST.zip
Et je télécharge le SIP
Quand j'utilise le fichier de requête suivant data/queries/select_multicriteres_md.json
Et je recherche les unités archivistiques
Alors les metadonnées sont
| Title | titre20999999 |
| StartDate | 2012-06-20T18:58:18 |
| EndDate | 2014-12-07T09:52:56 |
Scénario: Recherche avancée d’archives – recherche d’archives dans un tenant sur la base de critères correspondant à des archives conservées dans un autre tenant (manuel)
Etant donné les tests effectués sur le tenant 0
Quand j'utilise le fichier de requête suivant data/queries/select_multicriteres_md.json
Et je recherche les unités archivistiques
Alors les metadonnées sont
| Title | titre20999999 |
| StartDate | 2012-06-20T18:58:18 |
| EndDate | 2014-12-07T09:52:56 |
Mais les tests effectués sur le tenant 1
Et je recherche les unités archivistiques
Alors le nombre de résultat est 0
Scénario: Recherche avancée d’archives – recherche KO par date, le format de date étant invalide (API)
Etant donné les tests effectués sur le tenant 0
Quand j'utilise le fichier de requête suivant data/queries/select_dates_extremes_src_mauvais_format.json
Alors le statut de select résultat est Bad Request
Scénario: Recherche avancée d’archives – recherche OK sur des titres dans des alphabets différents (API)
Etant donné les tests effectués sur le tenant 0
Et un fichier SIP nommé data/SIP_OK/ZIP/OK_SIP_recherches_differentes_langues.zip
Quand je télécharge le SIP
Et j'utilise le fichier de requête suivant data/queries/select_unit_by_title_hebrew.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 1
Quand j'utilise le fichier de requête suivant data/queries/select_unit_by_title_arabic.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 1
Quand j'utilise le fichier de requête suivant data/queries/select_unit_by_title_russian.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 1
Quand j'utilise le fichier de requête suivant data/queries/select_unit_by_title_japanese.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 1
Quand j'utilise le fichier de requête suivant data/queries/select_unit_by_title_turkish.json
Et je recherche les unités archivistiques
Alors le nombre de résultat est 1