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

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

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

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

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

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

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

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