Scénario de test & Cas d'usage
Gestion de l'état de la session CAS.
Découvrir toutes les actions de sessionAucune préparation de données n'est requise. Ce scénario se concentre sur la gestion des erreurs et des statuts d'échec.
| 1 | /* Aucune création de données n'est nécessaire pour ce scénario de test. */ |
| 1 | PROC CAS; |
| 2 | /* Test avec un UUID qui n'existe pas */ |
| 3 | SESSION.actionstatus / uuid='FAKE-UUID-12345-ABCDE'; |
| 4 | RUN; |
| 1 | PROC CAS; |
| 2 | SESSION.startSession RESULT=r_sess name='failing_session'; |
| 3 | fail_job_uuid = r_sess['session']; |
| 4 | PRINT 'UUID de la session en échec: ' fail_job_uuid; |
| 5 | |
| 6 | /* Lancer l'action qui va échouer */ |
| 7 | TABLE.loadTable / |
| 8 | SESSION=fail_job_uuid, |
| 9 | async='failing_task', |
| 10 | caslib='CASUSER', |
| 11 | path='fichier_qui_n_existe_pas.csv' |
| 12 | ; |
| 13 | RUN; |
| 1 | PROC CAS; |
| 2 | /* Attendre un court instant pour que l'action échoue */ |
| 3 | res = sleep(3, 1); |
| 4 | /* La variable 'fail_job_uuid' doit contenir la valeur obtenue à l'étape 2 */ |
| 5 | SESSION.actionstatus / uuid=fail_job_uuid RESULT=r; |
| 6 | PRINT r; |
| 7 | RUN; |
L'étape 1 doit produire une erreur dans le log SAS indiquant que l'UUID est invalide. L'étape 3 doit retourner une table de statut pour l'action 'failing_task' où la disposition est 'failed' (ou un équivalent), avec un code d'erreur. Cela valide que `actionstatus` gère correctement les UUID invalides et rapporte fidèlement les échecs d'action.