Fichier JSON de test
Collection de tests
Paramètres
Paramètre
Type
Description
processName
Chaîne
Nom du processus dont vous voulez effectuer un test
processVersion
Int
Version du processus dont vous voulez effectuer un test
tests
Tableau de Test
Liste de tests qui sera exécutée
Vous pouvez définir un ou plusieurs tests dans ce tableau
deleteRequest
Booléen
Indique si vous souhaitez effectuer la suppression des demandes qui seront lancées après l’exécution de tous les tests
Exemple
{
"processName": "TEST_PROCESS",
"processVersion": 1,
"tests": [...],
"deleteRequest": false
}
Test
Paramètres
Paramètre
Type
Description
describe
Chaîne
Description du test
requestParameters
Tableau de Parameter
Liste des paramètres qui sera communiquée au lancement de la demande
Vous pouvez définir un ou plusieurs paramètres dans ce tableau.
actions
Tableau d'Action
Liste d’actions qui sera parcourue par le test
Vous pouvez définir une ou plusieurs actions
dans ce tableau.
Exemple
"tests": [
{
"describe": "First test",
"requestParameters": [...],
"actions": [...],
"assertions": {...}
},
{
"describe": "First test",
"requestParameters": [...],
"actions": [...],
"assertions": {...}
}
]
Action
Paramètres
Paramètre
Type
Description
name
Chaîne
Identifiant de l'action
operation
Enum
Type de l’action qui sera exécutée
Valeurs possibles : COMPLETE
, CHECK
, SUBPROCESS
ouCANCEL
.
timeout
Int
Délai maximal pour l’exécution de l’action
parameters
Tableau de Parameter
Liste des paramètres qui sera communiquée au lancement de la demande
Vous pouvez définir un ou plusieurs paramètres dans ce tableau.
subRequestFile
Chaîne
Chemin vers le fichier JSON de test de la sous requête.
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": {...}
}
]
Sub request
Paramètres
Paramètre
Type
Description
actions
Liste d’actions qui sera parcourue par le test
Vous pouvez définir une ou plusieurs actions dans ce tableau.
Exemple
"subRequest": {
"actions": [...]
},
"assertions": {...}
Parameter
Paramètres
Paramètre
Type
Description
name
Chaîne
Nom de la donnée
numericValue
Flottant
Valeur numérique de la donnée
textValue
Chaîne
Valeur texte de la donnée
dateTimeValue
Chaîne
Valeur date/heure de la donnée
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
Paramètre
Type
Description
status
Enum
Statut de complétion attendu de l'action qui sera exécutée
Valeurs possibles : OPEN
ou CLOSED
substatus
Enum
Sous statut de complétion attendu de l'action qui sera exécutée
Valeurs possibles : COMPLETED
, ABORTED
, RUNNING
, ou NOT_RUNNING_NOT_STARTED
.
Exemple
"assertions": {
"status": "CLOSED",
"subStatus": "COMPLETED",
"data": [...]
}
Request assertions
Paramètres
Paramètre
Type
Description
completedActionCount
Int
Nombre d'actions complétées attendues
status
Enum
Statut de complétion attendu de la demande créée lors du test
Types possibles : OPEN
ou CLOSED
.
substatus
Enum
Statut de complétion attendu de la demande créée lors du test
Types possibles : COMPLETED
, ABORTED
, RUNNING
ou NOT_RUNNING_NOT_STARTED
Exemple
"assertions": {
"completedActionCount": 3,
"requestStatus": "CLOSED",
"requestSubStatus": "ABORTED",
"requestData": [...]
}
Data
Paramètres
Paramètre
Type
Description
name
Chaîne
Nom de la donnée
numericValue
Flottant
Valeur numérique de la donnée
textValue
Chaîne
Valeur texte de la donnée
dateTimeValue
Chaîne
Valeur date/heure de la donnée
Exemple
"requestData": [
{
"name": "REQUEST_SUBJECT",
"textValue": "OK"
},
{
"name": "COPYDATA_VALUE",
"textValue": "OK"
}
]
File value
Paramètres
Paramètre
Type
Description
name
Chaîne
Nom du fichier incluant l'extension de celui-ci
description
Chaîne
Description du fichier
content
Chaîne
Contenu du fichier encodé en base64
contentType
Chaîne
Type de contenu du fichier
size
Int
Taille du fichier en Mo
Exemple
"fileValue": {
"content": "R3JhcGhRTCBGaWxl",
"contentType": "plain/text",
"description": "desc",
"name": "test.txt",
"size": 12
}
Action exception
Paramètres
Paramètre
Type
Description
type
Enum
Type de l'exception à envoyer
Valeurs possibles : ERROR
ou CANCEL
message
Chaîne
Message d'erreur à envoyer à l'action
source
Chaîne
Source de l'exception à envoyer à l'action
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