1
0
mirror of https://github.com/sasjs/core.git synced 2026-01-08 01:50:05 +00:00

fix: adding (and fixing) tests for ms_* macro suite

This commit is contained in:
munja
2022-04-21 23:51:47 +01:00
parent 6b2574947a
commit 63bf00e28f
7 changed files with 117 additions and 23 deletions

View File

@@ -65,7 +65,7 @@
}, },
{ {
"name": "server", "name": "server",
"serverUrl": "https://sas.analytium.co.uk:5000", "serverUrl": "https://sas.analytium.co.uk:5006",
"serverType": "SASJS", "serverType": "SASJS",
"httpsAgentOptions": { "httpsAgentOptions": {
"allowInsecureRequests": false "allowInsecureRequests": false
@@ -74,13 +74,7 @@
"macroFolders": [ "macroFolders": [
"server", "server",
"tests/serveronly" "tests/serveronly"
], ]
"programFolders": [],
"binaryFolders": [],
"deployConfig": {
"deployServicePack": true,
"deployScripts": []
}
}, },
{ {
"name": "docsonly", "name": "docsonly",

View File

@@ -20,19 +20,24 @@
@param [in] isadmin= (false) Set to true to give the user admin rights @param [in] isadmin= (false) Set to true to give the user admin rights
@param [in] displayName= (0) Set a friendly name (spaces & special characters @param [in] displayName= (0) Set a friendly name (spaces & special characters
are ok). If not provided, username will be used instead. are ok). If not provided, username will be used instead.
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
@param [out] outds= (work.ms_createuser) This output dataset will contain the @param [out] outds= (work.ms_createuser) This output dataset will contain the
values from the JSON response (such as the id of the new user) values from the JSON response (such as the id of the new user)
|ID:best.|DISPLAYNAME:$8.|USERNAME:$8.|ISACTIVE:best.|ISADMIN:best.| |ID:best.|DISPLAYNAME:$8.|USERNAME:$8.|ISACTIVE:best.|ISADMIN:best.|
|---|---|---|---|---| |---|---|---|---|---|
|`6 `|`New User `|`newuser `|`1 `|`0 `| |`6 `|`New User `|`newuser `|`1 `|`0 `|
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
<h4> SAS Macros </h4> <h4> SAS Macros </h4>
@li mf_getuniquefileref.sas @li mf_getuniquefileref.sas
@li mf_getuniquelibref.sas @li mf_getuniquelibref.sas
@li mp_abort.sas @li mp_abort.sas
<h4> Related Files </h4>
@li ms_createuser.test.sas
@li ms_getusers.sas
**/ **/
%macro ms_createuser(username,password %macro ms_createuser(username,password

View File

@@ -1,12 +1,14 @@
/** /**
@file @file
@brief Fetches the list of users from SASjs Server @brief Fetches the list of users from SASjs Server
@details Fetches the list of users from SASjs Server. @details Fetches the list of users from SASjs Server and writes them to an
output dataset.
Example: Example:
%ms_getusers(outds=userlist) %ms_getusers(outds=userlist)
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
@param [out] outds= (work.ms_getusers) This output dataset will contain the @param [out] outds= (work.ms_getusers) This output dataset will contain the
list of user accounts. Format: list of user accounts. Format:
|DISPLAYNAME:$18.|USERNAME:$10.|ID:best.| |DISPLAYNAME:$18.|USERNAME:$10.|ID:best.|
@@ -17,13 +19,17 @@
|`Ivor Townsend `|`ivor `|`4`| |`Ivor Townsend `|`ivor `|`4`|
|`New User `|`newuser `|`5`| |`New User `|`newuser `|`5`|
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
<h4> SAS Macros </h4> <h4> SAS Macros </h4>
@li mf_getuniquefileref.sas @li mf_getuniquefileref.sas
@li mf_getuniquelibref.sas @li mf_getuniquelibref.sas
@li mp_abort.sas @li mp_abort.sas
<h4> Related Files </h4>
@li ms_createuser.sas
@li ms_getusers.test.sas
**/ **/
%macro ms_getusers( %macro ms_getusers(

View File

@@ -0,0 +1,50 @@
/**
@file
@brief Testing ms_createuser.sas macro
<h4> SAS Macros </h4>
@li mf_getuniquename.sas
@li mp_assert.sas
@li mp_assertscope.sas
@li ms_createuser.sas
@li ms_getusers.sas
**/
%let user=%substr(%mf_getuniquename(),1,8);
%mp_assertscope(SNAPSHOT)
%ms_createuser(&user,passwrd,outds=test1,mdebug=&sasjs_mdebug)
%mp_assertscope(COMPARE
,ignorelist=MCLIB0_JADP1LEN MCLIB0_JADPNUM MCLIB0_JADVLEN
)
%let id=0;
data _null_;
set work.test1;
call symputx('id',id);
run;
%mp_assert(
iftrue=(&id>0),
desc=Checking that user was created with an ID,
outds=work.test_results
)
/* double check by querying the list of users */
%ms_getusers(outds=work.test2)
%let checkid=0;
data _null_;
set work.test2;
where username="&user";
call symputx('checkid',id);
run;
%mp_assert(
iftrue=(&checkid=&id),
desc=Checking that fetched user exists and has the same ID,
outds=work.test_results
)

View File

@@ -0,0 +1,23 @@
/**
@file
@brief Testing ms_getusers.sas macro
<h4> SAS Macros </h4>
@li ms_getusers.sas
@li mp_assertdsobs.sas
@li mp_assertscope.sas
**/
%mp_assertscope(SNAPSHOT)
%ms_getusers(outds=work.test1,mdebug=&sasjs_mdebug)
%mp_assertscope(COMPARE
,ignorelist=MCLIB0_JADP1LEN MCLIB0_JADPNUM MCLIB0_JADVLEN
)
%mp_assertdsobs(work.test1,test=ATLEAST 1)

View File

@@ -3,14 +3,31 @@
@brief Testing ms_runstp.sas macro @brief Testing ms_runstp.sas macro
<h4> SAS Macros </h4> <h4> SAS Macros </h4>
@li ms_runstp.sas @li mf_getuniquename.sas
@li mp_assert.sas @li mp_assert.sas
@li mp_assertscope.sas @li mp_assertscope.sas
@li ms_createfile.sas
@li ms_runstp.sas
**/ **/
/* first, create an STP to run */
filename stpcode temp;
data _null_;
file stpcode;
put '%put hello world;';
run;
options mprint;
%let fname=%mf_getuniquename();
%ms_createfile(/sasjs/tests/&fname..sas
,inref=stpcode
,mdebug=1
)
%mp_assertscope(SNAPSHOT) %mp_assertscope(SNAPSHOT)
%ms_runstp(/Public/app/frs/allan/services/common/appinit %ms_runstp(/sasjs/tests/&fname
,debug=131 ,debug=131
,outref=weboot ,outref=weboot
) )
@@ -24,20 +41,16 @@ data _null_;
putlog _infile_; putlog _infile_;
run; run;
data work.httpheaders; %let test1=0;
set webeen.httpheaders;
call symputx('test1',content_type);
run;
data work.log; data work.log;
set webeen.log; set webeen.log;
put (_all_)(=); put (_all_)(=);
if _n_>10 then stop; if _n_>10 then call symputx('test1',1);
run; run;
%mp_assert( %mp_assert(
iftrue=("&test1"="application/json"), iftrue=("&test1"="1"),
desc=Checking line was created, desc=Checking log was returned,
outds=work.test_results outds=work.test_results
) )

View File

@@ -14,16 +14,19 @@
/* set defaults */ /* set defaults */
%mp_init() %mp_init()
%global _debug; %global _debug sasjs_mdebug;
%let sasjs_mdebug=0;
%macro loglevel(); %macro loglevel();
%if "&_debug"="2477" or "&_debug"="fields,log,trace" %then %do; %if "&_debug"="2477" or "&_debug"="fields,log,trace" %then %do;
%put debug mode activated; %put debug mode activated;
options mprint mprintnest; options mprint mprintnest;
%let sasjs_mdebug=1;
%end; %end;
%mend loglevel; %mend loglevel;
%loglevel() %loglevel()
%put Initialised &_program; %put Initialised &_program;
%put _all_; %put _all_;