Links

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.
assertions
Vérifications à effectuer sur la demande créée lors du test

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

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.
subRequest
Éléments de la sous requête
assertions
Vérifications à effectuer sur l'action
exception
Lancement d'une exception lors de l'exécution d'une action

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

Paramètre
Type
Description
actions
Action
Liste d’actions qui sera parcourue par le test
Vous pouvez définir une ou plusieurs actions dans ce tableau.
assertions
Vérifications à effectuer sur la sous-demande créée lors du test

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
fileValue
Valeur du type de fichier 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.
data
Data
Liste de données à verifier pour l’action testée
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

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
data
Data
Liste des données à vérifier pour la demande créée lors du test
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

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 2mo ago