?>Array ( [lang] => fr [id] => 21 ) Scénario Cas Limite : Gestion des Erreurs de Restauration - WeAreCAS
builtins actionSetFromTable

Scénario Cas Limite : Gestion des Erreurs de Restauration

Scénario de test & Cas d'usage

Contexte Métier

Un utilisateur tente de restaurer un jeu d'actions mais rencontre plusieurs problèmes : la table source est introuvable, ou elle a un format incorrect, ou le nom du jeu d'actions de destination est déjà pris. Ce scénario vise à vérifier que l'action `actionSetFromTable` retourne des erreurs claires et prévisibles.
Préparation des Données

Préparation de l'environnement pour les tests d'erreur. On crée un jeu d'actions 'dummySet' et on le sauvegarde. On crée aussi une table 'badFormatTable' qui n'a pas la structure attendue par 'actionSetFromTable'.

Copié !
1PROC CAS;
2 BUILTINS.defineActionSet name='dummySet', actions={{name='dummyAction', script='print(1)'}};
3 BUILTINS.actionSetToTable name='dummySet', TABLE={name='dummySetTable', caslib='CASUSER', replace=true};
4 
5 DATA CASUSER.badFormatTable;
6 col1='abc';
7 col2=123;
8 RUN;
9QUIT;

Étapes de réalisation

1
Test 1 : Tentative de restauration à partir d'une table inexistante ('nonExistentTable').
Copié !
1PROC CAS;
2 BUILTINS.actionSetFromTable
3 name='errorTest1'
4 TABLE={caslib='CASUSER', name='nonExistentTable'};
5RUN;
2
Test 2 : Tentative de restauration à partir d'une table au format incorrect ('badFormatTable').
Copié !
1 BUILTINS.actionSetFromTable
2 name='errorTest2'
3 TABLE={caslib='CASUSER', name='badFormatTable'};
4RUN;
3
Test 3 : Tentative de restauration avec un nom de jeu d'actions déjà chargé ('dummySet').
Copié !
1 BUILTINS.actionSetFromTable
2 name='dummySet'
3 TABLE={caslib='CASUSER', name='dummySetTable'};
4RUN;
5QUIT;

Résultat Attendu


Chacune des trois étapes doit échouer et produire une erreur spécifique dans le log SAS :\n1. Étape 1 : Une erreur indiquant que la table 'nonExistentTable' n'a pas pu être chargée.\n2. Étape 2 : Une erreur indiquant que la table 'badFormatTable' n'a pas le format requis pour définir un jeu d'actions.\n3. Étape 3 : Une erreur indiquant que le jeu d'actions 'dummySet' est déjà chargé sur le serveur.