Les données utilisées pour le test ('work.somedata1' et 'work.somedata2') sont créées directement dans le script à l'aide d'une étape DATA. Aucune source de données externe n'est requise.
1 Bloc de code
DATA STEP
Explication : Ce bloc DATA _NULL_ écrit le code SAS qui constituera le corps du web service. Il utilise '%webout' pour préparer une sortie web. Une macro interne '%x' est définie pour itérer sur une liste de tables (provenant de 'sasjs_tables' ou des fichiers uploadés) et les écrire en tant qu'objets dans la réponse web, en convertissant les valeurs manquantes en chaînes de caractères.
Explication : Appel à la macro '%ms_createwebservice' pour créer et déployer le service web 'sendObj' dans le répertoire spécifié par '&mcTestAppLoc/services', en utilisant le code généré à l'étape précédente.
Copié !
%put creating web service: &mcTestAppLoc/services;
%ms_createwebservice(
path=&mcTestAppLoc/services,
name=sendObj,
mdebug=&sasjs_mdebug
)
%put created web service: &mcTestAppLoc/services;
1
%put creating web service: &mcTestAppLoc/services;
2
%ms_createwebservice(
3
path=&mcTestAppLoc/services,
4
name=sendObj,
5
mdebug=&sasjs_mdebug
6
)
7
%put created web service: &mcTestAppLoc/services;
3 Bloc de code
Macro Call
Explication : Appel à la macro '%mp_assert' pour vérifier que la création du service s'est déroulée sans erreur (condition 'syscc=0'). Le résultat du test est enregistré dans 'work.test_results'.
Copié !
%mp_assert(
iftrue=(&syscc=0),
desc=No errors after service creation,
outds=work.test_results
)
1
%mp_assert(
2
iftrue=(&syscc=0),
3
desc=No errors after service creation,
4
outds=work.test_results
5
)
4 Bloc de code
DATA STEP Data
Explication : Cette étape DATA crée deux tables SAS de test, 'work.somedata1' et 'work.somedata2', avec des données identiques contenant des valeurs numériques, une chaîne avec des guillemets et des espaces, et une valeur manquante spéciale.
Explication : Appel à la macro '%ms_testservice' pour exécuter le web service 'sendObj'. Les tables 'work.somedata1' et 'work.somedata2' sont passées en entrée. Les résultats du service seront stockés dans la bibliothèque 'testlib1'.
Explication : Ces deux étapes DATA _NULL_ vérifient le contenu des tables retournées par le service web ('testlib1.somedata1' et 'testlib1.somedata2'). Si les données sont conformes à ce qui est attendu (notamment la transformation de la valeur manquante '.z' en caractère 'Z'), les macro-variables 'test1' et 'test2' sont mises à 'PASS'.
Copié !
%let test1=FAIL;
data _null_;
set testlib1.somedata1;
if x=1 and y=' t"w"o' and z="Z" then call symputx('test1','PASS');
putlog (_all_)(=);
run;
%let test2=FAIL;
data _null_;
set testlib1.somedata2;
if x=1 and y=' t"w"o' and z="Z" then call symputx('test2','PASS');
putlog (_all_)(=);
run;
1
%let test1=FAIL;
2
DATA _null_;
3
SET testlib1.somedata1;
4
IF x=1 and y=' t"w"o' and z="Z"THEN call symputx('test1','PASS');
5
putlog (_all_)(=);
6
RUN;
7
8
%let test2=FAIL;
9
DATA _null_;
10
SET testlib1.somedata2;
11
IF x=1 and y=' t"w"o' and z="Z"THEN call symputx('test2','PASS');
12
putlog (_all_)(=);
13
RUN;
7 Bloc de code
Macro Call
Explication : Appels finaux à la macro '%mp_assert' pour valider formellement les résultats des vérifications précédentes. Si les macro-variables 'test1' et 'test2' sont à 'PASS', les tests sont considérés comme réussis.
Copié !
%mp_assert(
iftrue=(&test1=PASS),
desc=somedata1 created correctly,
outds=work.test_results
)
%mp_assert(
iftrue=(&test2=PASS),
desc=somedata2 created correctly,
outds=work.test_results
)
1
%mp_assert(
2
iftrue=(&test1=PASS),
3
desc=somedata1 created correctly,
4
outds=work.test_results
5
)
6
%mp_assert(
7
iftrue=(&test2=PASS),
8
desc=somedata2 created correctly,
9
outds=work.test_results
10
)
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Des informations de copyright (HMS Analytical Software GmbH, SAS Institute Inc.) sont détectées dans les commentaires faisant référence à d'autres fichiers.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.