|
1 | 1 | const fs = require("fs"); |
2 | 2 | const constants = require("./constants.js"); |
3 | | -module.exports = validate_config = function (lt_config) { |
| 3 | +module.exports = validate_config = function (lt_config, validation_configs) { |
4 | 4 | return new Promise(function (resolve, reject) { |
5 | 5 | //validate auth keys are present |
6 | 6 | if ( |
@@ -168,15 +168,40 @@ module.exports = validate_config = function (lt_config) { |
168 | 168 | for (folder in download_folders) { |
169 | 169 | console.log(download_folders[folder]); |
170 | 170 | if (download_folders[folder][0] != ".") { |
171 | | - reject("Error!! dowloads folder path is not relative ", folder); |
| 171 | + reject("Error!! dowloads folder path is not relative " + folder); |
172 | 172 | } |
173 | 173 | } |
174 | 174 | } |
| 175 | + |
| 176 | + if (lt_config["run_settings"]["cypress_settings"] != "") { |
| 177 | + let settings = lt_config["run_settings"]["cypress_settings"].split(";"); |
| 178 | + //let setting_names = []; |
| 179 | + let settings_flag = true; |
| 180 | + let setting_param = ""; |
| 181 | + for (let i = 0; i < settings.length; i++) { |
| 182 | + if ( |
| 183 | + validation_configs.blacklistCommands.includes( |
| 184 | + settings[i].split(" ")[0] |
| 185 | + ) |
| 186 | + ) { |
| 187 | + settings_flag = false; |
| 188 | + setting_param = settings[i].split(" ")[0]; |
| 189 | + break; |
| 190 | + } |
| 191 | + } |
| 192 | + if (settings_flag == false) { |
| 193 | + reject( |
| 194 | + "Error!! Following cypress param is not allowed " + setting_param |
| 195 | + ); |
| 196 | + } |
| 197 | + } |
| 198 | + |
175 | 199 | if ("smart_ui" in lt_config.run_settings) { |
176 | 200 | if (!("project" in lt_config.run_settings.smart_ui)) { |
177 | 201 | reject("Smart UI project name is missing"); |
178 | 202 | } else if (lt_config.run_settings.smart_ui.project == "") { |
179 | 203 | reject("Smart UI porject name can not be blank"); |
| 204 | + |
180 | 205 | } |
181 | 206 | } |
182 | 207 | resolve("Validated the Config"); |
|
0 commit comments