mirror of
https://github.com/sasjs/core.git
synced 2025-12-11 06:24:35 +00:00
feat: ms_getfile service (and test). Closes #181
This commit is contained in:
32
all.sas
32
all.sas
@@ -18854,6 +18854,38 @@ run;
|
|||||||
)
|
)
|
||||||
|
|
||||||
%mend ms_createfile;
|
%mend ms_createfile;
|
||||||
|
/**
|
||||||
|
@file
|
||||||
|
@brief Gets a file from SASjs Drive
|
||||||
|
@details Fetches a file on SASjs Drive and stores it in the output fileref.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
%ms_getfile(/some/stored/file.ext, outref=myfile)
|
||||||
|
|
||||||
|
@param [in] driveloc The full path to the file in SASjs Drive
|
||||||
|
@param [out] outref= (msgetfil) The fileref to contain the file.
|
||||||
|
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
|
||||||
|
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
%macro ms_getfile(driveloc
|
||||||
|
,outref=msgetfil
|
||||||
|
,mdebug=0
|
||||||
|
);
|
||||||
|
|
||||||
|
filename &outref temp;
|
||||||
|
|
||||||
|
proc http method='GET' out=&outref
|
||||||
|
url="&_sasjs_apiserverurl/SASjsApi/drive/file?filePath=&driveloc";
|
||||||
|
%if &mdebug=1 %then %do;
|
||||||
|
debug level=2;
|
||||||
|
%end;
|
||||||
|
run;
|
||||||
|
|
||||||
|
|
||||||
|
%mend ms_getfile;
|
||||||
/**
|
/**
|
||||||
@file
|
@file
|
||||||
@brief Executes a SASjs Server Stored Program
|
@brief Executes a SASjs Server Stored Program
|
||||||
|
|||||||
32
server/ms_getfile.sas
Normal file
32
server/ms_getfile.sas
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
/**
|
||||||
|
@file
|
||||||
|
@brief Gets a file from SASjs Drive
|
||||||
|
@details Fetches a file on SASjs Drive and stores it in the output fileref.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
%ms_getfile(/some/stored/file.ext, outref=myfile)
|
||||||
|
|
||||||
|
@param [in] driveloc The full path to the file in SASjs Drive
|
||||||
|
@param [out] outref= (msgetfil) The fileref to contain the file.
|
||||||
|
@param [in] mdebug= (0) Set to 1 to enable DEBUG messages
|
||||||
|
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
%macro ms_getfile(driveloc
|
||||||
|
,outref=msgetfil
|
||||||
|
,mdebug=0
|
||||||
|
);
|
||||||
|
|
||||||
|
filename &outref temp;
|
||||||
|
|
||||||
|
proc http method='GET' out=&outref
|
||||||
|
url="&_sasjs_apiserverurl/SASjsApi/drive/file?filePath=&driveloc";
|
||||||
|
%if &mdebug=1 %then %do;
|
||||||
|
debug level=2;
|
||||||
|
%end;
|
||||||
|
run;
|
||||||
|
|
||||||
|
|
||||||
|
%mend ms_getfile;
|
||||||
45
tests/serveronly/ms_getfile.test.sas
Normal file
45
tests/serveronly/ms_getfile.test.sas
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
/**
|
||||||
|
@file
|
||||||
|
@brief Testing ms_getfile.sas macro
|
||||||
|
|
||||||
|
<h4> SAS Macros </h4>
|
||||||
|
@li ms_createfile.sas
|
||||||
|
@li ms_getfile.sas
|
||||||
|
@li mp_assert.sas
|
||||||
|
@li mp_assertscope.sas
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
|
||||||
|
/* first make a remote file */
|
||||||
|
filename stpcode temp;
|
||||||
|
%let fname=%mf_getuniquename();
|
||||||
|
data _null_;
|
||||||
|
file stpcode;
|
||||||
|
put "data &fname;run;";
|
||||||
|
run;
|
||||||
|
%ms_createfile(/sasjs/tests/&fname..sas
|
||||||
|
,inref=stpcode
|
||||||
|
,mdebug=1
|
||||||
|
)
|
||||||
|
|
||||||
|
%mp_assertscope(SNAPSHOT)
|
||||||
|
%ms_getfile(/sasjs/tests/&fname..sas,outref=testref)
|
||||||
|
%mp_assertscope(COMPARE)
|
||||||
|
|
||||||
|
%let test1=0;
|
||||||
|
data _null_;
|
||||||
|
infile testref;
|
||||||
|
input;
|
||||||
|
call symputx('test1',_infile_);
|
||||||
|
run;
|
||||||
|
|
||||||
|
%mp_assert(
|
||||||
|
iftrue=("&test1"="data &fname;run;"),
|
||||||
|
desc=Checking file was created with the same content,
|
||||||
|
outds=work.test_results
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user