Prueba de la macro ms_getusers

Este código también está disponible en: Deutsch English Français
Nivel de dificultad
Principiante
Publicado el :
Attention : Este código requiere privilegios de administrador.
Este script realiza una prueba completa de la macro `ms_getusers`. Comienza verificando la estanqueidad de las variables (scope) para asegurar que la macro no contamine el entorno global. Luego, simula un escenario de administración creando un grupo único a través de `ms_creategroup`, añadiendo un usuario a él a través de `ms_adduser2group`, y verificando que `ms_getusers` extrae correctamente este nuevo miembro.
Análisis de datos

Type : MIXTE


El script genera sus propios datos de prueba (creación de grupo) a través de macros de administración e interroga los metadatos del sistema (usuarios/grupos) a través de la macro probada.

1 Bloque de código
MACRO CALL Data
Explicación :
Inicialización de la prueba de alcance (scope snapshot), ejecución de la macro `ms_getusers` para recuperar todos los usuarios, verificación de que ninguna variable se ha filtrado (salvo excepciones listadas), y aserción de que la tabla de salida contiene al menos una observación.
¡Copiado!
1%mp_assertscope(SNAPSHOT)
2%ms_getusers(outds=work.test1,mdebug=&sasjs_mdebug)
3%mp_assertscope(COMPARE
4 ,ignorelist=MCLIB0_JADP1LEN MCLIB0_JADPNUM MCLIB0_JADVLEN
5)
6 
7%mp_assertdsobs(work.test1,test=ATLEAST 1)
2 Bloque de código
DATA STEP Data
Explicación :
Generación de un nombre de grupo único y creación de este grupo a través de `ms_creategroup`. El identificador del grupo generado (groupid) se recupera en una macrovariable `gid` a través de un Data Step.
¡Copiado!
1/* create a group */
2%let group=%substr(%mf_getuniquename(),1,8);
3%ms_creategroup(&group, desc=some desc,mdebug=&sasjs_mdebug,outds=work.group)
4%let gid=0;
5DATA _null_;
6 SET work.group;
7 call symputx('gid',groupid);
8RUN;
3 Bloque de código
MACRO CALL
Explicación :
Adición del usuario con ID 1 al grupo recién creado a través de `ms_adduser2group`, y luego extracción de los miembros de este grupo específico en la tabla `test2`.
¡Copiado!
1/* add a member */
2%ms_adduser2group(uid=1,gid=&gid)
3 
4/* extract the members */
5%ms_getusers(group=&group,outds=test2)
4 Bloque de código
MACRO CALL
Explicación :
Verificación final: el script recorre la tabla resultante para confirmar la presencia del usuario (ID 1) y utiliza `mp_assert` para validar el éxito de la prueba en los resultados.
¡Copiado!
1/* check the user is in the output list */
2%let checkid=0;
3DATA _null_;
4 SET work.test2;
5 IF id=1 THEN call symputx('checkid',1);
6RUN;
7%mp_assert(
8 iftrue=(&checkid=1),
9 desc=Checking that admin user was created in the new group,
10 outds=work.test_results
11)
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.

Documentación relacionada

Aucune documentation spécifique pour cette catégorie.