Fichier JSON de test
Collection de tests
Paramètres
Exemple
{
"processName": "TEST_PROCESS",
"processVersion": 1,
"tests": [...],
"deleteRequest": false
}
Test
Paramètres
Exemple
"tests": [
{
"describe": "First test",
"requestParameters": [...],
"actions": [...],
"assertions": {...}
},
{
"describe": "First test",
"requestParameters": [...],
"actions": [...],
"assertions": {...}
}
]
Action
Les actions de test seront exécutées dans l'ordre que vous définissez.
Paramètres
Exemple
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [...],
"assertions": {...}
},
{
"name": "COPY_DATA",
"operation": "CHECK",
"timeout": 10,
"assertions": {...}
},
{
"name": "SUBTEST_PROCESS",
"operation": "SUBPROCESS",
"subRequestFile": "./Resource/Process/Test/subprocessjson.json",
"assertions": {...}
}
]
Le contenu du fichier de sous requête possède seulement les actions qui seront effectuées.
Un exemple du contenu est fourni dans la section Exemple d'usage.
Sub request
Paramètres
Exemple
"subRequest": {
"actions": [...]
},
"assertions": {...}
Parameter
Paramètres
Exemples
📌 Exemple pour les paramètres de la requête de Test
"requestParameters": [
{
"name": "IN_TEXT",
"textValue": "Text"
},
{
"name": "IN_NUMERIC",
"numericValue": 11.1
},
{
"name": "IN_DATETIME",
"dateTimeValue": "1977-04-22T06:00:00Z"
},
{
"name": "IN_FILE",
"fileValue": {...}
}
]
📌 Exemple pour les paramètres de l'action de Test
"parameters": [
{
"name": "IN_TEXT",
"textValue": "Text"
},
{
"name": "IN_NUMERIC",
"numericValue": 11.1
},
{
"name": "IN_DATETIME",
"dateTimeValue": "1977-04-22T06:00:00Z"
},
{
"name": "IN_FILE",
"fileValue": {...}
}
]
Action assertions
Paramètres
Le nœud assertions
vérifie si les données retournées par l’action sont exactement les mêmes que celles spécifiées dans ses paramètres. Si elles ne correspondent pas, le test sera évalué comme étant échoué.
Exemple
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED",
"data": [...]
}
Request assertions
Paramètres
Le nœud assertions
vérifie si les données retournées par la demande créée lors du test sont exactement les mêmes que celles spécifiées dans ses paramètres. Si elles ne correspondent pas, le test sera évalué comme étant échoué.
Exemple
"assertions": {
"completedActionCount": 3,
"requestStatus": "CLOSED",
"requestSubStatus": "ABORTED",
"requestData": [...]
}
Data
Paramètres
Exemple
"requestData": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
},
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
File value
Paramètres
Exemple
"fileValue": {
"content": "R3JhcGhRTCBGaWxl",
"contentType": "plain/text",
"description": "desc",
"name": "test.txt",
"size": 12
}
Action exception
Paramètres
Exemple
"exception": {
"type": "ERROR",
"message": "Message",
"source": "Source"
}
Exemple d'usage
La commande process test
est basée sur un fichier json
. Ce document de définition vous permet de définir les flux qui seront exécutés pour vos tests et les résultats attendus. Celui-ci est constitué de 10 différents aspects.
Voici le workflow que nous allons utiliser pour les explications :
Fichier de test
Ceci est le contenu du fichier de test du process parent :
{
"processName": "TEST_PROCESS",
"processVersion": 1,
"tests": [
{
"describe": "First test",
"requestParameters": [],
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
],
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED"
}
},
{
"name": "COPY_DATA",
"operation": "CHECK",
"timeout": 10,
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED",
"data": [
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
}
},
{
"name": "SUBTEST_PROCESS",
"operation": "SUBPROCESS",
"subRequestFile": "./Resource/Process/Test/subprocessjson.json",
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED"
}
}
],
"assertions": {
"completedActionCount": 3,
"requestStatus": "CLOSED",
"requestSubStatus": "COMPLETED",
"requestData": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
},
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
}
},
{
"describe": "Second test",
"requestParameters": [],
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
]
},
{
"name": "COPY_DATA",
"operation": "CHECK",
"timeout": 10,
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED",
"data": [
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
}
},
{
"name": "SUBTEST_PROCESS",
"operation": "SUBPROCESS",
"subRequest": {
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
]
},
{
"name": "VALIDATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "APPROVAL_DECISION",
"textValue": "MORE_INFO"
}
]
},
{
"name": "UPDATES",
"operation": "COMPLETE",
"timeout": 5,
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
]
},
{
"name": "VALIDATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "APPROVAL_DECISION",
"textValue": "YES"
}
]
}
]
},
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED"
}
}
],
"assertions": {
"completedActionCount": 3,
"requestStatus": "CLOSED",
"requestSubStatus": "COMPLETED",
"requestData": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
},
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
}
},
{
"describe": "Third test",
"requestParameters": [],
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
]
},
{
"name": "COPY_DATA",
"operation": "CHECK",
"timeout": 10,
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED",
"data": [
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
}
},
{
"name": "SUBTEST_PROCESS",
"operation": "SUBPROCESS",
"subRequest": {
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
]
},
{
"name": "VALIDATES",
"operation": "CANCEL",
"exception": {
"type": "ERROR",
"message": "Message",
"source": "Source"
},
"assertions": {
"status": "CLOSED",
"subStatus": "ABORTED"
}
}
]
},
"assertions": {
"status": "CLOSED",
"subStatus": "ABORTED"
}
}
],
"assertions": {
"completedActionCount": 3,
"requestStatus": "CLOSED",
"requestSubStatus": "ABORTED",
"requestData": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
},
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
}
},
{
"describe": "Fourth test",
"requestParameters": [],
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
]
},
{
"name": "COPY_DATA",
"operation": "CHECK",
"timeout": 10,
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED",
"data": [
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
}
},
{
"name": "SUBTEST_PROCESS",
"operation": "SUBPROCESS",
"subRequest": {
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
]
},
{
"name": "VALIDATES",
"operation": "CANCEL",
"assertions": {
"status": "CLOSED",
"subStatus": "ABORTED"
}
}
]
},
"assertions": {
"status": "CLOSED",
"subStatus": "ABORTED"
}
}
],
"assertions": {
"completedActionCount": 3,
"requestStatus": "CLOSED",
"requestSubStatus": "ABORTED",
"requestData": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
},
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
}
}
],
"deleteRequest": false
}
subRequestFile
Ceci est le contenu du fichier de test subprocessjson.json
, utilisé dans le premier test pour l'action SUBTEST_PROCESS
:
{
"actions": [
{
"name": "INITIATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
}
]
},
{
"name": "VALIDATES",
"operation": "COMPLETE",
"parameters": [
{
"name": "APPROVAL_DECISION",
"textValue": "YES"
}
]
}
]
}
Dernière mise à jour