X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=it%2Fotf.git;a=blobdiff_plain;f=otf-frontend%2Fserver%2Fsrc%2Ffeathers%2Fhooks%2FtestDefinitionIsDeployed.js;fp=otf-frontend%2Fserver%2Fsrc%2Ffeathers%2Fhooks%2FtestDefinitionIsDeployed.js;h=1ca50a1ad7394fc9a894508048ca5960bdb20400;hp=0000000000000000000000000000000000000000;hb=14f6f95c84a4a1fa8774190db4a03fd0214ec55f;hpb=f49bd1efeaaddd4891c1f329b18d8cfb28b3e75b diff --git a/otf-frontend/server/src/feathers/hooks/testDefinitionIsDeployed.js b/otf-frontend/server/src/feathers/hooks/testDefinitionIsDeployed.js new file mode 100644 index 0000000..1ca50a1 --- /dev/null +++ b/otf-frontend/server/src/feathers/hooks/testDefinitionIsDeployed.js @@ -0,0 +1,51 @@ +/* Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +##############################################################################*/ + + +module.exports = function (context) { + return async context => { + function hasDeployedBpmn(){ + return context.app.services[context.app.get('base-path') + 'test-definitions'] + .get(context.data.testDefinitionId, context.params) + .then(result => { + + if(!result.bpmnInstances){ + return false; + } + + for(let i = 0; i < result.bpmnInstances.length; i++){ + if(result.bpmnInstances[i].isDeployed){ + return true; + } + } + return false; + }) + .catch(err => { + console.log(err); + }); + + } + + if(context.data.processDefinitionId === '' && !context.data.useLatestTestDefinition){ + return false; + } + if(!hasDeployedBpmn()){ + return false; + } + if(hasDeployedBpmn() && (context.data.useLatestTestDefinition || context.data.processDefinitionId !== '') ){ + return true; + } + } +} \ No newline at end of file