Publicado el :
Prueba CREATION_INTERNE

Prueba de la macro mfs_httpheader

Este código también está disponible en: Deutsch English Français
En espera de validación
El script inicializa una ubicación temporal (`header.txt` en la biblioteca `WORK`) para que la macro `%mfs_httpheader` escriba allí los encabezados HTTP. Utiliza la macro `%mp_assertscope` para gestionar el contexto de ejecución y tomar instantáneas. La macro `%mfs_httpheader` se llama dos veces con valores diferentes para el 'Content-Type'. Después de cada llamada, se utiliza un `DATA _NULL_` para leer el contenido del archivo temporal. Las macros `%mp_assert` se emplean luego para verificar que la ejecución se realizó sin errores (`&syscc=0`) y que las líneas escritas en el archivo corresponden a los encabezados esperados. Finalmente, se restaura la ubicación original del encabezado para asegurar una limpieza adecuada del entorno de prueba. Este script implementa principios de pruebas unitarias para la macro `mfs_httpheader` en un entorno SAS©.
Análisis de datos

Type : CREATION_INTERNE


Los datos (encabezados HTTP) son generados por la macro `%mfs_httpheader` que los escribe en un archivo temporal (`header.txt`) dentro de la biblioteca `WORK`. El script luego lee este archivo para validar su contenido. No se utiliza ninguna fuente de datos externa persistente.

1 Bloque de código
MACRO CALLS and DATA STEP Data
Explicación :
Este bloque inicializa la ubicación del archivo de encabezado (`sasjs_stpsrv_header_loc`) a una ruta temporal en la biblioteca `WORK`. Utiliza `%mp_assertscope` para marcar un punto de referencia antes de llamar a `%mfs_httpheader` para escribir el encabezado 'Content-Type: application/csv'. Un `DATA _NULL_` se utiliza luego para leer la primera línea de este archivo y almacenar su contenido en la macro-variable `test1`. Finalmente, dos aserciones con `%mp_assert` verifican que la ejecución se realizó sin errores (`&syscc=0`) y que el encabezado escrito es correcto.
¡Copiado!
1%let orig_sasjs_stpsrv_header_loc=&sasjs_stpsrv_header_loc;
2%let sasjs_stpsrv_header_loc=%sysfunc(pathname(work))/header.txt;
3 
4%mp_assertscope(SNAPSHOT)
5%mfs_httpheader(Content-Type,application/csv)
6%mp_assertscope(COMPARE,ignorelist=sasjs_stpsrv_header_loc)
7 
8DATA _null_;
9 INFILE "&sasjs_stpsrv_header_loc";
10 INPUT;
11 IF _n_=1 THEN call symputx('test1',_infile_);
12RUN;
13 
14%mp_assert(
15 iftrue=(&syscc=0),
16 desc=Check code ran without errors,
17 outds=work.test_results
18)
19%mp_assert(
20 iftrue=("&test1"="Content-Type: application/csv"),
21 desc=Checking line was created,
22 outds=work.test_results
23)
2 Bloque de código
MACRO CALLS and DATA STEP Data
¡Copiado!
1%mfs_httpheader(Content-Type,application/text)
2%let test2=0;
3DATA _null_;
4 INFILE "&sasjs_stpsrv_header_loc";
5 INPUT;
6 IF _n_=2 THEN call symputx('test2',_infile_);
7RUN;
8 
9%mp_assert(
10 iftrue=(&syscc=0),
11 desc=Check code ran without errors for test2,
12 outds=work.test_results
13)
14%mp_assert(
15 iftrue=("&test2"="Content-Type: application/text"),
16 desc=Checking line was created,
17 outds=work.test_results
18)
19 
20/* reset header so the test will pass */
21%let sasjs_stpsrv_header_loc=&orig_sasjs_stpsrv_header_loc;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Copyright 2010-2023 HMS Analytical Software GmbH, http://www.analytical-software.de. Este archivo forma parte de SASUnit, el framework de pruebas unitarias para programas SAS(R). Para obtener información sobre derechos de autor y condiciones de uso bajo la licencia GNU Lesser General Public License, consulte el archivo README.md incluido o https://github.com/HMS-Analytical-Software/SASUnit/wiki/readme/.