1
0
mirror of https://github.com/sasjs/core.git synced 2025-12-27 21:10:05 +00:00

Compare commits

...

8 Commits

Author SHA1 Message Date
Yury Shkoda
cc61e48868 Merge pull request #37 from sasjs/createfolderfix
fix: addressed issue when creating recursive folers in mv_createfolde…
2021-05-25 15:40:27 +03:00
Allan Bowe
62db83dcf6 fix: addressed issue when creating recursive folers in mv_createfolder.sas 2021-05-25 15:33:02 +03:00
Allan Bowe
7ea9e0f8e9 Merge pull request #36 from sasjs/filter_json_fixes
Filter json fixes
2021-05-21 16:30:53 +03:00
Allan Bowe
1c852515f5 fix: adding more tests to mp_filtervalidate 2021-05-21 16:27:10 +03:00
Allan Bowe
b7e677bd8e fix: adding utf8 to mp_jsonout 2021-05-21 16:26:53 +03:00
Allan Bowe
f47f0d2cee chore: removing ghooks reference from package.json 2021-05-20 11:56:41 +03:00
Allan Bowe
3d0f426a98 Merge pull request #35 from sasjs/issue33
fix: adding sysvlong to mp_abort also
2021-05-20 11:40:29 +03:00
Allan Bowe
2cb51f6164 fix: adding sysvlong to mp_abort also 2021-05-20 11:39:28 +03:00
9 changed files with 86 additions and 20 deletions

View File

@@ -1,5 +1,5 @@
tasks:
- init: npm i -g @sasjs/cli
- init: nvm install --latest-npm && npm i -g @sasjs/cli
image:
file: .gitpod.dockerfile

View File

@@ -99,7 +99,7 @@
/* send response in SASjs JSON format */
data _null_;
file _webout mod lrecl=32000;
file _webout mod lrecl=32000 encoding='utf-8';
length msg $32767 debug $8;
sasdatetime=datetime();
msg=cats(symget('msg'),'\n\nLog Extract:\n',symget('logmsg'));
@@ -133,6 +133,8 @@
put ",""SYSCC"" : ""&syscc"" ";
put ",""SYSERRORTEXT"" : ""&syserrortext"" ";
put ",""SYSJOBID"" : ""&sysjobid"" ";
sysvlong=quote(trim(symget('sysvlong')));
put ',"SYSVLONG" : ' sysvlong;
put ",""SYSWARNINGTEXT"" : ""&syswarningtext"" ";
put ',"END_DTTM" : "' "%sysfunc(datetime(),datetime20.3)" '" ';
put "}" @;

View File

@@ -78,7 +78,8 @@ run;
data &outds;
if &sqlrc or &syscc or &syserr then do;
REASON_CD=coalescec(symget('SYSERRORTEXT'),symget('SYSWARNINGTEXT'));
REASON_CD='VALIDATION_ERROR: '!!
coalescec(symget('SYSERRORTEXT'),symget('SYSWARNINGTEXT'));
output;
end;
else stop;
@@ -102,4 +103,4 @@ filename &fref1 clear;
%let syscc=1008;
%end;
%mend;
%mend mp_filtervalidate;

View File

@@ -147,7 +147,7 @@
run;
%let ds=&fmtds;
%end; /* &fmt=Y */
data _null_;file &jref mod ;
data _null_;file &jref mod encoding='utf-8';
put "["; call symputx('cols',0,'l');
proc sort
data=sashelp.vcolumn(where=(libname='WORK' & memname="%upcase(&ds)"))

View File

@@ -35,10 +35,5 @@
"devDependencies": {
"@sasjs/cli": "^2.22.2"
},
"config": {
"ghooks": {
"pre-commit": "sasjs lint"
}
},
"dependencies": {}
}

View File

@@ -6,6 +6,7 @@
@li mp_filtergenerate.sas
@li mp_filtervalidate.sas
@li mp_assertdsobs.sas
@li mp_assert.sas
**/
@@ -41,14 +42,14 @@ run;
%mp_filtergenerate(work.inds,outref=myfilter)
%mp_filtervalidate(myfilter,sashelp.class,outds=work.results,abort=NO)
%mp_assertdsobs(work.results,
desc=Valid filter,
desc=Empty filter,
test=EMPTY,
outds=work.test_results
)
/* invalid filter*/
/* invalid filter - char var, num val */
data work.inds;
infile datalines4 dsd;
input GROUP_LOGIC:$3. SUBGROUP_LOGIC:$3. SUBGROUP_ID:8. VARIABLE_NM:$32.
@@ -60,9 +61,40 @@ run;
%mp_filtergenerate(work.inds,outref=myfilter)
%mp_filtervalidate(myfilter,sashelp.class,outds=work.results,abort=NO)
%let syscc=0;
%mp_assertdsobs(work.results,
desc=Valid filter,
test=EQUALS 1,
%let test3=0;
data _null_;
set work.results;
if REASON_CD=:'VALIDATION_ERROR' then call symputx('test3',1);
putlog (_all_)(=);
stop;
run;
%mp_assert(
iftrue=(&test3=1),
desc=Checking char var could not receive num val,
outds=work.test_results
)
/* invalid filter - num var, char val */
data work.inds;
infile datalines4 dsd;
input GROUP_LOGIC:$3. SUBGROUP_LOGIC:$3. SUBGROUP_ID:8. VARIABLE_NM:$32.
OPERATOR_NM:$10. RAW_VALUE:$4000.;
datalines4;
AND,AND,1,age,NE,"'M'"
;;;;
run;
%mp_filtergenerate(work.inds,outref=myfilter)
%mp_filtervalidate(myfilter,sashelp.class,outds=work.results,abort=NO)
%let syscc=0;
%let test4=0;
data _null_;
set work.results;
if REASON_CD=:'VALIDATION_ERROR' then call symputx('test4',1);
putlog (_all_)(=);
stop;
run;
%mp_assert(
iftrue=(&test4=1),
desc=Checking num var could not receive char val,
outds=work.test_results
)

View File

@@ -0,0 +1,32 @@
/**
@file
@brief Testing mv_createfolder macro
<h4> SAS Macros </h4>
@li mf_uid.sas
@li mp_assert.sas
@li mv_createfolder.sas
@li mv_deleteviyafolder.sas
@li mv_getfoldermembers.sas
**/
%let folder=%mf_uid();
/* create a folder */
%mv_createfolder(path=&mcTestAppLoc/temp/&folder/&folder)
%mv_getfoldermembers(root=&mcTestAppLoc/temp/&folder, outds=work.folders)
%let test=0;
data _null_;
set work.folders;
putlog (_all_)(=);
if name="&folder" then call symputx('test',1);
run;
%mp_assert(
iftrue=(&test=1),
desc=Check if temp folder can be successfully created
)

View File

@@ -96,7 +96,7 @@ options noquotelenmax;
data _null_;
set &libref1..links;
if rel='createChild' then
call symputx('href',quote("&base_uri"!!trim(href)),'l');
call symputx('href',quote(cats("&base_uri",href)),'l');
run;
%end;
%else %if &SYS_PROCHTTP_STATUS_CODE=404 %then %do;
@@ -141,7 +141,7 @@ options noquotelenmax;
data _null_;
set &libref2..links;
if rel='createChild' then
call symputx('href',quote(trim(href)),'l');
call symputx('href',quote(cats("&base_uri",href)),'l');
run;
libname &libref2 clear;
@@ -150,4 +150,4 @@ options noquotelenmax;
filename &fname1 clear;
libname &libref1 clear;
%end;
%mend;
%mend mv_createfolder;

View File

@@ -8,7 +8,11 @@
@param root= The path for which to return the list of folders
@param outds= The output dataset to create (default is work.mv_getfolders)
@param outds= The output dataset to create (default is work.mv_getfolders). Format:
|ordinal_root|ordinal_items|creationTimeStamp| modifiedTimeStamp|createdBy|modifiedBy|id| uri|added| type|name|description|
|---|---|---|---|---|---|---|---|---|---|---|---|
|1|1|2021-05-25T11:15:04.204Z|2021-05-25T11:15:04.204Z|allbow|allbow|4f1e3945-9655-462b-90f2-c31534b3ca47|/folders/folders/ed701ff3-77e8-468d-a4f5-8c43dec0fd9e|2021-05-25T11:15:04.212Z|child|my_folder_name|My folder Description|
@param access_token_var= The global macro variable to contain the access token
@param grant_type= valid values are "password" or "authorization_code" (unquoted).
The default is authorization_code.
@@ -116,4 +120,4 @@ options noquotelenmax;
filename &fname1 clear;
libname &libref1 clear;
%mend;
%mend mv_getfoldermembers;