Les données (en-têtes HTTP) sont générées par la macro `%mfs_httpheader` qui les écrit dans un fichier temporaire (`header.txt`) au sein de la bibliothèque `WORK`. Le script lit ensuite ce fichier pour valider son contenu. Aucune source de données externe persistante n'est utilisée.
1 Bloc de code
MACRO CALLS and DATA STEP Data
Explication : Ce bloc initialise l'emplacement du fichier d'en-tête (`sasjs_stpsrv_header_loc`) vers un chemin temporaire dans la bibliothèque `WORK`. Il utilise `%mp_assertscope` pour marquer un point de référence avant d'appeler `%mfs_httpheader` pour écrire l'en-tête 'Content-Type: application/csv'. Un `DATA _NULL_` est ensuite utilisé pour lire la première ligne de ce fichier et stocker son contenu dans la macro-variable `test1`. Enfin, deux assertions avec `%mp_assert` vérifient que l'exécution a été sans erreur (`&syscc=0`) et que l'en-tête écrit est correct.
Copié !
%let orig_sasjs_stpsrv_header_loc=&sasjs_stpsrv_header_loc;
%let sasjs_stpsrv_header_loc=%sysfunc(pathname(work))/header.txt;
%mp_assertscope(SNAPSHOT)
%mfs_httpheader(Content-Type,application/csv)
%mp_assertscope(COMPARE,ignorelist=sasjs_stpsrv_header_loc)
data _null_;
infile "&sasjs_stpsrv_header_loc";
input;
if _n_=1 then call symputx('test1',_infile_);
run;
%mp_assert(
iftrue=(&syscc=0),
desc=Check code ran without errors,
outds=work.test_results
)
%mp_assert(
iftrue=("&test1"="Content-Type: application/csv"),
desc=Checking line was created,
outds=work.test_results
)
Explication : Ce second bloc de test répète le processus en appelant `%mfs_httpheader` avec 'Content-Type: application/text'. Un `DATA _NULL_` lit la deuxième ligne du fichier d'en-tête et son contenu est stocké dans `test2`. Deux assertions sont effectuées pour valider l'exécution et le contenu de l'en-tête mis à jour. Le bloc se termine par la réinitialisation de la variable `sasjs_stpsrv_header_loc` à sa valeur originale, nettoyant l'environnement pour les exécutions futures ou d'autres tests.
Copié !
%mfs_httpheader(Content-Type,application/text)
%let test2=0;
data _null_;
infile "&sasjs_stpsrv_header_loc";
input;
if _n_=2 then call symputx('test2',_infile_);
run;
%mp_assert(
iftrue=(&syscc=0),
desc=Check code ran without errors for test2,
outds=work.test_results
)
%mp_assert(
iftrue=("&test2"="Content-Type: application/text"),
desc=Checking line was created,
outds=work.test_results
)
/* reset header so the test will pass */
%let sasjs_stpsrv_header_loc=&orig_sasjs_stpsrv_header_loc;
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 : Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de. Ce fichier fait partie de SASUnit, le framework de tests unitaires pour les programmes SAS(R). Pour les informations de copyright et les conditions d'utilisation sous la licence GNU Lesser General Public License, voir le fichier inclus README.md ou https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.
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.