Skip to content

Commit 66553b0

Browse files
authored
Merge pull request #26 from SoftwareAG/development
added more experimental features
2 parents 8eb13be + e6f26dd commit 66553b0

File tree

3 files changed

+282
-20
lines changed

3 files changed

+282
-20
lines changed

EndtoEndTests.sh

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pass_counter=0
1717
fail_counter=0
1818
running_counter=0
1919
omitted_counter=0
20-
total_tests=102
20+
total_tests=111
2121
executed_counter=0
2222

2323

@@ -229,6 +229,8 @@ cleanup_function() {
229229

230230
#---------------------------------------------------------------------------------------------------
231231

232+
233+
232234
printf "\n${COLOR_CYAN}* Projects\n${COLOR_RESET}"
233235
# Project Functions
234236
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' project" "grep -c CLITestProject" "1" "Project List"
@@ -429,14 +431,21 @@ printf "\n${COLOR_CYAN}* Experimental - Messaging${COLOR_RESET}\n"
429431
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-create queue testqueue fl425e0505dec7b426384550" "grep '\"queueName\":\"testqueue\"' | wc -l" "1" "Experimental - Create message queue"
430432
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-delete queue testqueue fl425e0505dec7b426384550" "grep '\"queueName\":\"testqueue\"' | wc -l" "1" "Experimental - Delete message queue"
431433
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-stats CLITestQueue fl1f48d9bb44098e5cedc1f4" "grep connectionRate | wc -l" "1" "Experimental - Messaging stats"
432-
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber CLITestQueueSubscriber enabled fl1f48d9bb44098e5cedc1f4" "grep 'Successfully enabled the subscriber' | wc -l" "1" "Experimental - Messaging Enable Subsciber"
433-
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber CLITestQueueSubscriber suspended fl1f48d9bb44098e5cedc1f4" "grep 'Successfully suspended the subscriber' | wc -l" "1" "Experimental - Messaging Suspend Subsciber"
434-
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber CLITestQueueSubscriber disabled fl1f48d9bb44098e5cedc1f4" "grep 'Successfully disabled the subscriber' | wc -l" "1" "Experimental - Messaging Disable Subsciber"
434+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber fl1f48d9bb44098e5cedc1f4" "grep CLITestQueueSubscriber | wc -l" "1" "Experimental - Messaging Subscriber List"
435+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber-state CLITestQueueSubscriber enabled fl1f48d9bb44098e5cedc1f4" "grep 'Successfully enabled the subscriber' | wc -l" "1" "Experimental - Messaging Enable Subsciber"
436+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber-state CLITestQueueSubscriber suspended fl1f48d9bb44098e5cedc1f4" "grep 'Successfully suspended the subscriber' | wc -l" "1" "Experimental - Messaging Suspend Subsciber"
437+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber-state CLITestQueueSubscriber disabled fl1f48d9bb44098e5cedc1f4" "grep 'Successfully disabled the subscriber' | wc -l" "1" "Experimental - Messaging Disable Subsciber"
438+
run_test_return_value "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber fl1f48d9bb44098e5cedc1f4 CLITestQueueSubscriber" "grep CLI | wc -l" "1" "cat" "Experimental - Messaging Subscriber Detail"
439+
subscriberJson=`echo $result | jq --arg new_name "CreatedSubscriber" '.name = $new_name'`
440+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber-create fl1f48d9bb44098e5cedc1f4 '$subscriberJson'" "grep CreatedSubscriber | wc -l" "1" "Experimental - Messaging Subscriber Create"
441+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-messaging-subscriber-delete fl1f48d9bb44098e5cedc1f4 CreatedSubscriber" "grep CreatedSubscriber | wc -l" "1" "Experimental - Messaging Subscriber Delete"
435442

436443
#---------------------------------------------------------------------------------------------------
437444

438445
printf "\n${COLOR_CYAN}* Experimental - User${COLOR_RESET}\n"
439446
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-user" "grep automation | wc -l" "1" "Experimental - User"
447+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-user-list" "grep output | wc -l" "1" "Experimental - Int User List Full"
448+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-user-list automation" "grep Automation | wc -l" "1" "Experimental - Int User List Search"
440449

441450
#---------------------------------------------------------------------------------------------------
442451

@@ -452,6 +461,10 @@ run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-
452461
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-project-connector-account-wf-config fl425e0505dec7b426384550" "grep webhook | wc -l" "1" "Experimental - Get Connector Account WF Config"
453462
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-project-search CLITestProject" "grep fl425e0505dec7b426384550 | wc -l" "1" "Experimental - Project Search"
454463
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-project-deployments fl425e0505dec7b426384550" "grep output | wc -l" "1" "Experimental - Project Deployments"
464+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-workflow fl425e0505dec7b426384550 fl835fe9b99489cc5c3dbdc8" "grep 'Hello Workflow' | wc -l" "1" "Experimental - Workflow Detail"
465+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-workflow-enabled fl425e0505dec7b426384550 fl835fe9b99489cc5c3dbdc8 false" "grep output | wc -l" "1" "Experimental - Workflow Disable"
466+
run_test "node wmiocli.js -d ${DEV_TENANT} -u ${USER} -p '${PASS}' experimental-workflow-enabled fl425e0505dec7b426384550 fl835fe9b99489cc5c3dbdc8 true" "grep output | wc -l" "1" "Experimental - Workflow Enable"
467+
455468

456469
#---------------------------------------------------------------------------------------------------
457470

experimental.js

Lines changed: 177 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ var csrf="";
2424
var filterUsername="";
2525
var projectId;
2626
var workflowId;
27+
var enableFlag;
2728
var projectName ;
2829
var executionStatus;
2930
var startDate;
@@ -33,6 +34,7 @@ var queueOrTopic;
3334
var messagingName;
3435
var subscriberName;
3536
var subscriberState;
37+
var subscriberJson;
3638
var nextUrl,formUrl;
3739
var finalCall;
3840
var loginStageCounter = 0;
@@ -48,6 +50,12 @@ var scheduleStatus;
4850
var optionEnable;
4951
var flowOptionType;
5052
var incEdgeFlows;
53+
var runtime={};
54+
runtime.limit=20;
55+
runtime.page=1;
56+
runtime.search="";
57+
runtime.id="";
58+
runtime.instanceId="";
5159

5260

5361
const maxRunningWorkflows = 20;
@@ -87,6 +95,65 @@ function init(inDomainName, inUsername, inPassword,inTimeout,inPrettyprint){
8795
logger.debug("<EXPERIMENTAL>Timeout [" + timeout + "]");
8896
}
8997

98+
function pingRuntime(id,instanceId){
99+
runtime.id=id;
100+
runtime.instanceId=instanceId;
101+
finalCall = doPingEdgeRuntimes;
102+
loginPhase1();
103+
}
104+
105+
function runtimeStatus(id,instanceId){
106+
runtime.id=id;
107+
runtime.instanceId=instanceId;
108+
finalCall = doRuntimeStatus;
109+
loginPhase1();
110+
}
111+
112+
function doRuntimeStatus(){
113+
114+
var body={"apiEndPoint":"/dashboard/current","agentID":runtime.id,"agentGroup":"Default","httpMethod":"GET","headers":{"X-wM-AdminUI":true,"Content-Type":"application/json"},"instanceID":runtime.instanceId};
115+
var endPoint = "https://" +domainName + "/integration/rest/edge/flow/admin-proxy/";
116+
117+
var headers = setHeaders();
118+
rest_fetch.custom(endPoint,undefined,undefined,timeout,body,undefined,"POST",processResponse,headers,true,false);
119+
}
120+
121+
function doPingEdgeRuntimes(){
122+
123+
var endPoint = "https://" +domainName + "/integration/rest/edge/runtimes/" + runtime.id + "/instances/" + runtime.instanceId + "/ping";
124+
if(runtime.search.length>0)endPoint+="&searchKey=" + runtime.search;
125+
126+
var headers = setHeaders();
127+
rest_fetch.custom(endPoint,undefined,undefined,timeout,undefined,undefined,"GET",processResponse,headers,true,false);
128+
}
129+
130+
131+
132+
function getRuntimeList(limit,page,searchTerm)
133+
{
134+
runtime.limit = limit;
135+
runtime.page = page;
136+
runtime.search = searchTerm;
137+
if(limit===undefined||limit===null||limit.length==0)runtime.limit="100";
138+
if(page===undefined||page===null||page.length==0)runtime.page="1";
139+
if(searchTerm===undefined||searchTerm===null||searchTerm.length==0)runtime.search="";
140+
141+
finalCall = listRuntimes;
142+
loginPhase1();
143+
}
144+
145+
function listRuntimes(){
146+
logger.debug("Listing runtimes [" + userUid + "]");
147+
//https://wmintanywhere.int-aw-au.webmethods.io/integration/rest/edge/runtimes?page=1&limit=19&searchKey=dave
148+
149+
var endPoint = "https://" +domainName + "/integration/rest/edge/runtimes";
150+
endPoint+="?page=" + runtime.page + "&limit=" + runtime.limit;
151+
if(runtime.search.length>0)endPoint+="&searchKey=" + runtime.search;
152+
153+
var headers = setHeaders();
154+
rest_fetch.custom(endPoint,undefined,undefined,timeout,undefined,undefined,"GET",processResponse,headers,true,false);
155+
}
156+
90157

91158
function getUserList(inUsername)
92159
{
@@ -285,15 +352,32 @@ function getMonitorInfo(inExecutionStatus,inStartDate,inEndDate,inProjectId,inWo
285352
loginPhase1();
286353
}
287354

355+
function enableDisableWorkflow(inProjectId, inWorkflowId,inEnableFlag)
356+
{
357+
projectId = inProjectId;
358+
workflowId = inWorkflowId;
359+
enableFlag = inEnableFlag;
360+
finalCall = setworkflowStatus;
361+
loginPhase1();
362+
}
363+
364+
function getWorkflowDetail(inProjectId, inWorkflowId)
365+
{
366+
projectId = inProjectId;
367+
workflowId = inWorkflowId;
368+
finalCall = getWorkflow;
369+
loginPhase1();
370+
}
371+
288372
function messagingSubscriberEnable(inProjectId,inSubscriberName){
289-
messagingSubscriber(inProjectId,inSubscriberName,"ENABLED")
373+
messagingSubscriberState(inProjectId,inSubscriberName,"ENABLED")
290374
}
291375

292376
function messagingSubscriberDisable(inProjectId,inSubscriberName){
293-
messagingSubscriber(inProjectId,inSubscriberName,"DISABLED")
377+
messagingSubscriberState(inProjectId,inSubscriberName,"DISABLED")
294378
}
295379

296-
function messagingSubscriber(inProjectId,inSubscriberName,state){
380+
function messagingSubscriberState(inProjectId,inSubscriberName,state){
297381
logger.debug("Starting subscriber state change");
298382
projectId = inProjectId;
299383
subscriberName = inSubscriberName;
@@ -328,6 +412,28 @@ function messagingStats(inProjectId,inMessagingName)
328412
loginPhase1();
329413
}
330414

415+
function messagingSubscriber(inProjectId,inSubscriberName)
416+
{
417+
projectId = inProjectId;
418+
subscriberName = inSubscriberName;
419+
finalCall = getMessagingSubscriber;
420+
loginPhase1();
421+
}
422+
423+
function messagingCreateSubscriber(inProjectId,inSubscriberJson){
424+
projectId = inProjectId;
425+
subscriberJson = inSubscriberJson;
426+
finalCall = addNewMessagingSubscriber;
427+
loginPhase1();
428+
}
429+
430+
function messagingDeleteSubscriber(inProjectId,inSubscriberName){
431+
projectId = inProjectId;
432+
subscriberName = inSubscriberName;
433+
finalCall = deleteMessagingSubscriber;
434+
loginPhase1();
435+
}
436+
331437

332438
function workflowResubmit(instartOrResume, inStartDate,inEndDate, inProjectId,inWorkflowId)
333439
{
@@ -824,6 +930,46 @@ function doMessagingDelete()
824930
rest_fetch.custom(endPoint,undefined,undefined,60,body,undefined,"DELETE",processResponse,headers,true,false);
825931
}
826932

933+
function addNewMessagingSubscriber()
934+
{
935+
//projectId
936+
//subscriberJson
937+
logger.debug("Create Messaging Subscriber");
938+
logger.debug("JSON is: " + subscriberJson);
939+
940+
var endPoint = "https://" +domainName + "/enterprise/v1/messaging/subscriber"
941+
endPoint += "?projectName=" + projectId ;
942+
logger.debug("Next URL [" + endPoint + "]");
943+
var headers = setHeaders();
944+
var subscr = JSON.parse(subscriberJson);
945+
subscr.status=undefined;
946+
var body = {};
947+
body.subscriber={};
948+
body.subscriber=subscr;
949+
rest_fetch.custom(endPoint,undefined,undefined,timeout,body,undefined,"POST",processResponse,headers,true,false);
950+
}
951+
952+
function getMessagingSubscriber()
953+
{
954+
955+
logger.debug("Messaging Subscriber");
956+
var endPoint = "https://" +domainName + "/integration/rest/messaging/subscribers"
957+
if(subscriberName!==undefined&&subscriberName!==null&&subscriberName.length>0)endPoint +="/" + subscriberName;
958+
endPoint += "?projectName=" + projectId ;
959+
logger.debug("Next URL [" + endPoint + "]");
960+
var headers = setHeaders();
961+
rest_fetch.custom(endPoint,undefined,undefined,timeout,undefined,undefined,"GET",processResponse,headers,true,false);
962+
}
963+
964+
function deleteMessagingSubscriber()
965+
{
966+
logger.debug("Messaging Subscriber");
967+
var endPoint = "https://" +domainName + "/enterprise/v1/messaging/subscriber?subscriberName=" +subscriberName + "&projectName=" + projectId
968+
logger.debug("Next URL [" + endPoint + "]");
969+
var headers = setHeaders();
970+
rest_fetch.custom(endPoint,undefined,undefined,timeout,undefined,undefined,"DELETE",processResponse,headers,true,false);
971+
}
972+
827973
function getMessagingStats()
828974
{
829975
logger.debug("Messaging Stats");
@@ -844,6 +990,29 @@ function getLogs()
844990
rest_fetch.custom(endPoint,undefined,undefined,timeout,body,undefined,"POST",processResponse,headers,true,false);
845991
}
846992

993+
function setworkflowStatus()
994+
{
995+
logger.debug("Setting workflow Status");
996+
var endPoint = "https://" + domainName + "/enterprise/v1/flows/" + workflowId + "/toggle";
997+
logger.debug("Next URL [" + endPoint + "]");
998+
var body={};
999+
body.data=enableFlag;
1000+
logger.debug("Data is: " + JSON.stringify(body));
1001+
var headers = setHeaders();
1002+
rest_fetch.custom(endPoint,undefined,undefined,timeout,body,undefined,"PUT",processResponse,headers,true,false);
1003+
}
1004+
1005+
function getWorkflow()
1006+
{
1007+
logger.debug("Getting workflow detail");
1008+
var endPoint = "https://" + domainName + "/enterprise/v1/flows/" + workflowId ;
1009+
logger.debug("Next URL [" + endPoint + "]");
1010+
//var body={};
1011+
//body.data=enableFlag;
1012+
var headers = setHeaders();
1013+
rest_fetch.custom(endPoint,undefined,undefined,timeout,undefined,undefined,"GET",processResponse,headers,true,false);
1014+
}
1015+
8471016

8481017
function searchProjectsByName()
8491018
{
@@ -1231,7 +1400,6 @@ function loginResponse(url,err,body,res){
12311400
logger.debug("tenantuid [" + uid +"]");
12321401
nextCall=loginUserPhase(7);
12331402
}
1234-
12351403
}
12361404

12371405

@@ -1255,7 +1423,9 @@ module.exports = {init, help,
12551423
projectDeployments,
12561424
projectWorkflows,projectFlowservices,
12571425
connectorAccounts,getProjectAccountConfig,
1258-
getMonitorInfo,workflowResubmit,
1259-
messagingCreate,messagingStats,messagingDelete, messagingSubscriber,
1260-
vbidAnalysis, flowserviceScheduler,flowserviceOption,flowserviceDetails};
1426+
getMonitorInfo,workflowResubmit,enableDisableWorkflow,getWorkflowDetail,
1427+
messagingCreate,messagingStats,messagingDelete, messagingSubscriberState,messagingSubscriber,messagingCreateSubscriber,messagingDeleteSubscriber,
1428+
vbidAnalysis, flowserviceScheduler,flowserviceOption,flowserviceDetails,
1429+
getRuntimeList,pingRuntime,runtimeStatus
1430+
};
12611431

0 commit comments

Comments
 (0)