--- /dev/null
+/* Copyright (c) 2019 AT&T Intellectual Property. #\r
+# #\r
+# Licensed under the Apache License, Version 2.0 (the "License"); #\r
+# you may not use this file except in compliance with the License. #\r
+# You may obtain a copy of the License at #\r
+# #\r
+# http://www.apache.org/licenses/LICENSE-2.0 #\r
+# #\r
+# Unless required by applicable law or agreed to in writing, software #\r
+# distributed under the License is distributed on an "AS IS" BASIS, #\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #\r
+# See the License for the specific language governing permissions and #\r
+# limitations under the License. #\r
+##############################################################################*/\r
+\r
+\r
+const YAML = require('yamljs');\r
+\r
+module.exports = function () {\r
+ function convertTabs(str){\r
+ return str.replace(/\t/g, ' ');\r
+ }\r
+ return async context => {\r
+ \r
+ if (context.data.length) {\r
+ for (var i = 0; i < context.data.length; i++) {\r
+ if (context.data[i].testData && typeof '' === typeof context.data[i].testData) {\r
+ context.data[i].testData = convertTabs(context.data[i].testData);\r
+ context.data[i].testData = YAML.parse(context.data[i].testData);\r
+ }\r
+ if (context.data[i].testConfig) {\r
+ context.data[i].testConfig = convertTabs(context.data[i].testConfig);\r
+ context.data[i].testConfig = YAML.parse(context.data[i].testConfig);\r
+ }\r
+ if (context.data[i].testConfigTemplate) {\r
+ context.data[i].testConfigTemplate = convertTabs(context.data[i].testConfigTemplate);\r
+ context.data[i].testConfigTemplate = YAML.parse(context.data[i].testConfigTemplate);\r
+ }\r
+ if (context.data[i].vthInputTemplate && typeof '' === typeof context.data[i].vthInputTemplate) {\r
+ context.data[i].vthInputTemplate = convertTabs(context.data[i].vthInputTemplate);\r
+ context.data[i].vthInputTemplate = YAML.parse(context.data[i].vthInputTemplate);\r
+ }\r
+\r
+ //Set empty string as empty json\r
+ if (context.data[i].testData == ''){\r
+ context.data[i].testData = {};\r
+ }\r
+ if (context.data[i].testConfig == ''){\r
+ context.data[i].testConfig = {};\r
+ }\r
+ if (context.data[i].testConfigTemplate == '') {\r
+ context.data[i].testConfigTemplate = {};\r
+ }\r
+ if(context.data[i].bpmnInstances){\r
+ for(let k in context.data[i].bpmnInstances){\r
+ let key = context.data[i].bpmnInstances[k];\r
+ if(key.testHeads){\r
+ for(let h in key.testHeads){\r
+ let head = key.testHeads[h];\r
+ if(head.testHeadId.vthInputTemplate == ''){\r
+ head.testHeadId.vthInputTemplate = {};\r
+ }else if(head.testHeadId.vthInputTemplate && typeof '' === typeof head.testHeadId.vthInputTemplate){\r
+ head.testHeadId.vthInputTemplate = YAML.parse(head.testHeadId.vthInputTemplate);\r
+ }\r
+ }\r
+ }\r
+ if(key.testDataTemplate == ''){ \r
+ key.testDataTemplate = {};\r
+ }else if(typeof '' === typeof key.testDataTemplate){\r
+ key.testDataTemplate = YAML.parse(key.testDataTemplate);\r
+ } \r
+ }\r
+ }\r
+ }\r
+ } else {\r
+ if (context.data.testData && typeof '' === typeof context.data.testData) {\r
+ context.data.testData = convertTabs(context.data.testData);\r
+ context.data.testData = YAML.parse(context.data.testData);\r
+ }\r
+ if (context.data.testConfig) {\r
+ context.data.testConfig = convertTabs(context.data.testConfig);\r
+ context.data.testConfig = YAML.parse(context.data.testConfig);\r
+ }\r
+ if (context.data.testConfigTemplate) {\r
+ context.data.testConfigTemplate = convertTabs(context.data.testConfigTemplate);\r
+ context.data.testConfigTemplate = YAML.parse(context.data.testConfigTemplate);\r
+ }\r
+ if (context.data.vthInputTemplate && typeof '' === typeof context.data.vthInputTemplate) {\r
+ context.data.vthInputTemplate = convertTabs(context.data.vthInputTemplate);\r
+ context.data.vthInputTemplate = YAML.parse(context.data.vthInputTemplate);\r
+ }\r
+ if (context.data.vthInput){\r
+ for(let k in context.data.vthInput){\r
+ if(typeof context.data.vthInput[k] === typeof ''){\r
+ context.data.vthInput[k] = YAML.parse(context.data.vthInput[k]);\r
+ if(context.data.vthInput[k] === null)\r
+ context.data.vthInput[k] = {};\r
+ }\r
+ }\r
+ }\r
+ if(context.data.bpmnInstances){\r
+ for(let k in context.data.bpmnInstances){\r
+ let key = context.data.bpmnInstances[k];\r
+ if(key.testHeads){\r
+ for(let h in key.testHeads){\r
+ let head = key.testHeads[h];\r
+ if(head.testHeadId.vthInputTemplate == ''){\r
+ head.testHeadId.vthInputTemplate = {};\r
+ }else if(head.testHeadId.vthInputTemplate && typeof '' === typeof head.testHeadId.vthInputTemplate){\r
+ head.testHeadId.vthInputTemplate = YAML.parse(head.testHeadId.vthInputTemplate);\r
+ }\r
+ }\r
+ }\r
+ if(key.testDataTemplate == ''){ \r
+ key.testDataTemplate = {};\r
+ }else if(typeof '' === typeof key.testDataTemplate){\r
+ key.testDataTemplate = YAML.parse(key.testDataTemplate);\r
+ } \r
+ }\r
+ }\r
+ //Set empty string as empty json\r
+ if (context.data.testData == ''){\r
+ context.data.testData = {};\r
+ }\r
+ if (context.data.testConfig == ''){\r
+ context.data.testConfig = {};\r
+ }\r
+ if (context.data.testConfigTemplate == '') {\r
+ context.data.testConfigTemplate = {};\r
+ }\r
+ if (context.data.vthInputTemplate == '') {\r
+ context.data.vthInputTemplate = {};\r
+ }\r
+ }\r
+ // for(var j = 0; j < context.data.length; j++){\r
+ // for(var i = 0; i < context.data[j].testData.length; i++){\r
+ // context.data[j].testData[i].testData = YAML.parse(context.data[j].testData[i].testData);\r
+ // }\r
+ // }\r
+ return context;\r
+ };\r
+};\r