Test des Makros ms_getusers

Dieser Code ist auch verfügbar auf: English Español Français
Schwierigkeitsgrad
Anfänger
Veröffentlicht am :
Attention : Dieser Code erfordert Administratorrechte.
Dieses Skript führt einen vollständigen Test des Makros `ms_getusers` durch. Es beginnt mit der Überprüfung der Variablenisolierung (Scope), um sicherzustellen, dass das Makro die globale Umgebung nicht verunreinigt. Anschließend wird ein Administrationsszenario simuliert, indem eine eindeutige Gruppe über `ms_creategroup` erstellt, ein Benutzer über `ms_adduser2group` hinzugefügt und überprüft wird, ob `ms_getusers` dieses neue Mitglied korrekt extrahiert.
Datenanalyse

Type : MIXTE


Das Skript generiert seine eigenen Testdaten (Gruppenerstellung) über Administrationsmakros und fragt die Systemmetadaten (Benutzer/Gruppen) über das getestete Makro ab.

1 Codeblock
MACRO CALL Data
Erklärung :
Initialisierung des Bereichstests (Scope Snapshot), Ausführung des Makros `ms_getusers` zur Abfrage aller Benutzer, Überprüfung, dass keine Variablen ausgelaufen sind (außer den gelisteten Ausnahmen), und Assertion, dass die Ausgabetabelle mindestens eine Beobachtung enthält.
Kopiert!
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 Codeblock
DATA STEP Data
Erklärung :
Generierung eines eindeutigen Gruppennamens und Erstellung dieser Gruppe über `ms_creategroup`. Die generierte Gruppen-ID (groupid) wird über einen Data Step in einer Makrovariable `gid` gespeichert.
Kopiert!
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 Codeblock
MACRO CALL
Erklärung :
Hinzufügen des Benutzers mit der ID 1 zur neu erstellten Gruppe über `ms_adduser2group` und anschließende Extraktion der Mitglieder dieser spezifischen Gruppe in die Tabelle `test2`.
Kopiert!
1/* add a member */
2%ms_adduser2group(uid=1,gid=&gid)
3 
4/* extract the members */
5%ms_getusers(group=&group,outds=test2)
4 Codeblock
MACRO CALL
Erklärung :
Abschließende Überprüfung: Das Skript durchläuft die resultierende Tabelle, um die Anwesenheit des Benutzers (ID 1) zu bestätigen, und verwendet `mp_assert`, um den Testerfolg in den Ergebnissen zu validieren.
Kopiert!
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)
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.

Zugehörige Dokumentation

Aucune documentation spécifique pour cette catégorie.