1
0
mirror of https://github.com/sasjs/core.git synced 2026-01-05 08:30:06 +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",
"serverUrl": "https://sas.analytium.co.uk:5000",
"serverUrl": "https://sas.analytium.co.uk:5006",
"serverType": "SASJS",
"httpsAgentOptions": {
"allowInsecureRequests": false
@@ -74,13 +74,7 @@
"macroFolders": [
"server",
"tests/serveronly"
],
"programFolders": [],
"binaryFolders": [],
"deployConfig": {
"deployServicePack": true,
"deployScripts": []
}
]
},
{
"name": "docsonly",

View File

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

View File

@@ -1,12 +1,14 @@
/**
@file
@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:
%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
list of user accounts. Format:
|DISPLAYNAME:$18.|USERNAME:$10.|ID:best.|
@@ -17,13 +19,17 @@
|`Ivor Townsend `|`ivor `|`4`|
|`New User `|`newuser `|`5`|
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
<h4> SAS Macros </h4>
@li mf_getuniquefileref.sas
@li mf_getuniquelibref.sas
@li mp_abort.sas
<h4> Related Files </h4>
@li ms_createuser.sas
@li ms_getusers.test.sas
**/
%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
<h4> SAS Macros </h4>
@li ms_runstp.sas
@li mf_getuniquename.sas
@li mp_assert.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)
%ms_runstp(/Public/app/frs/allan/services/common/appinit
%ms_runstp(/sasjs/tests/&fname
,debug=131
,outref=weboot
)
@@ -24,20 +41,16 @@ data _null_;
putlog _infile_;
run;
data work.httpheaders;
set webeen.httpheaders;
call symputx('test1',content_type);
run;
%let test1=0;
data work.log;
set webeen.log;
put (_all_)(=);
if _n_>10 then stop;
if _n_>10 then call symputx('test1',1);
run;
%mp_assert(
iftrue=("&test1"="application/json"),
desc=Checking line was created,
iftrue=("&test1"="1"),
desc=Checking log was returned,
outds=work.test_results
)

View File

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