@amanat-qa/utils-backend 5.0.0 → 5.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
7
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
8
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
10
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
11
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
14
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
15
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
17
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
18
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
19
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ var fs = require('fs');
23
+ var moment = require('moment');
24
+ var JSONLoader = require('./JSONLoader');
25
+ var TimeUtils = require('../time/timeUtils');
26
+ var Randomizer = require('../random/randomizer');
27
+ var DataUtils = /*#__PURE__*/function () {
28
+ function DataUtils() {
29
+ _classCallCheck(this, DataUtils);
30
+ }
31
+ return _createClass(DataUtils, null, [{
32
+ key: "saveToJSON",
33
+ value: function saveToJSON(obj) {
34
+ var _Object$keys = Object.keys(obj),
35
+ _Object$keys2 = _slicedToArray(_Object$keys, 1),
36
+ name = _Object$keys2[0];
37
+ var data = obj[name];
38
+ var replacer = function replacer(key, value) {
39
+ return typeof value === 'undefined' ? null : value;
40
+ };
41
+ fs.writeFileSync("./test/artifacts/".concat(name, ".json"), JSON.stringify(data, replacer, 4));
42
+ }
43
+ }, {
44
+ key: "filterClients",
45
+ value: function filterClients(clients) {
46
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
47
+ var isResident = options.isResident;
48
+ var hasPassport = options.hasPassport;
49
+ var hasDriverLicence = options.hasDriverLicence;
50
+ var isUnderSixtyYearsOld = options.isUnderSixtyYearsOld;
51
+ var isJuridical = options.isJuridical;
52
+ var filteredClients = _toConsumableArray(clients);
53
+ filteredClients = filteredClients.filter(function (client) {
54
+ if (isResident !== undefined) {
55
+ return isResident ? client.resident_bool : !client.resident_bool;
56
+ }
57
+ return true;
58
+ });
59
+ filteredClients = filteredClients.filter(function (client) {
60
+ if (hasDriverLicence !== undefined) {
61
+ return hasDriverLicence ? client.driving_license : !client.driving_license;
62
+ }
63
+ return true;
64
+ });
65
+ filteredClients = filteredClients.filter(function (client) {
66
+ if (hasPassport !== undefined) {
67
+ var hasLetter = /[a-zA-Z]/.test(client.document_number);
68
+ return hasPassport ? client.document_type_id === 11 && hasLetter : client.document_type_id !== 11;
69
+ }
70
+ return true;
71
+ });
72
+ filteredClients = filteredClients.filter(function (client) {
73
+ if (isUnderSixtyYearsOld !== undefined) {
74
+ return isUnderSixtyYearsOld ? moment(client.born) > moment().subtract(60, 'years') : moment(client.born) <= moment().subtract(60, 'years');
75
+ }
76
+ return true;
77
+ });
78
+ filteredClients = filteredClients.filter(function (client) {
79
+ if (isJuridical !== undefined) {
80
+ return isJuridical ? !client.natural_person_bool : client.natural_person_bool;
81
+ }
82
+ return true;
83
+ });
84
+ return filteredClients;
85
+ }
86
+
87
+ /* eslint-disable camelcase */
88
+ }, {
89
+ key: "createRandomHolderAndInsuredStructures",
90
+ value: function createRandomHolderAndInsuredStructures(clientsArr) {
91
+ var randomHolderIndex = Randomizer.getRandomInteger(clientsArr.length - 1);
92
+ var randomInsuredIndex;
93
+ do {
94
+ randomInsuredIndex = Randomizer.getRandomInteger(clientsArr.length - 1);
95
+ } while (randomInsuredIndex === randomHolderIndex);
96
+ var tempHolder = clientsArr[randomHolderIndex];
97
+ var tempInsured = clientsArr[randomInsuredIndex];
98
+ var resultHolder = _objectSpread({}, tempHolder);
99
+ var resultInsured = _objectSpread({}, tempInsured);
100
+ var verify_bool = Number(JSONLoader.configData.verification);
101
+ var verify_type_id = Number(JSONLoader.configData.verification) || 3;
102
+ var pdl = Randomizer.getRandomInteger(1);
103
+ resultInsured.pdl = pdl;
104
+ resultInsured.verify_bool = verify_bool;
105
+ resultInsured.verify_type_id = verify_type_id;
106
+ resultInsured.esbd_id = tempInsured.client_id;
107
+ resultInsured.driver_certificate = tempInsured.driving_license;
108
+ resultInsured.born = TimeUtils.reformatDateFromYMDToDMY(tempInsured.born);
109
+ resultInsured.document_gived_date = TimeUtils.reformatDateFromYMDToDMY(tempInsured.document_gived_date);
110
+ resultInsured.driver_certificate_date = TimeUtils.reformatDateFromYMDToDMY(tempInsured.date_issue_license);
111
+ resultInsured.iin = tempInsured.iin.toString();
112
+ resultInsured.natural_person_bool = JSONLoader.testData.natural_person_bool;
113
+ resultInsured.economics_sector_id = JSONLoader.testData.economics_sector_id;
114
+ resultInsured.notification_type_id = JSONLoader.testData.notification_type_id;
115
+ resultInsured.driver_certificate_type_id = JSONLoader.testData.driver_certificate_type_id;
116
+ resultInsured.experience_less = JSONLoader.testData.experience_less;
117
+ resultInsured.pensioner_bool = JSONLoader.testData.pensioner_bool;
118
+ resultInsured.country_id = JSONLoader.testData.country_id;
119
+ resultInsured.is_new = JSONLoader.testData.is_new;
120
+ resultInsured.class_id = JSONLoader.testData.class_id;
121
+ resultInsured["class"] = JSONLoader.testData["class"];
122
+ resultInsured.document_gived_by = JSONLoader.testData.insured_document_gived_by;
123
+ resultInsured.email = JSONLoader.testData.insured_email;
124
+ resultInsured.mobile_phone = JSONLoader.testData.insured_mobile_phone;
125
+ resultInsured.address = JSONLoader.testData.insured_address;
126
+ resultInsured.is_insured = 1;
127
+ resultHolder.pdl = pdl;
128
+ resultHolder.verify_bool = verify_bool;
129
+ resultHolder.verify_type_id = verify_type_id;
130
+ resultHolder.esbd_id = tempHolder.client_id;
131
+ resultHolder.driver_certificate = tempHolder.driving_license;
132
+ resultHolder.born = TimeUtils.reformatDateFromYMDToDMY(tempHolder.born);
133
+ resultHolder.document_gived_date = TimeUtils.reformatDateFromYMDToDMY(tempHolder.document_gived_date);
134
+ resultHolder.driver_certificate_date = TimeUtils.reformatDateFromYMDToDMY(tempHolder.date_issue_license);
135
+ resultHolder.iin = tempHolder.iin.toString();
136
+ resultHolder.natural_person_bool = JSONLoader.testData.natural_person_bool;
137
+ resultHolder.economics_sector_id = JSONLoader.testData.economics_sector_id;
138
+ resultHolder.notification_type_id = JSONLoader.testData.notification_type_id;
139
+ resultHolder.driver_certificate_type_id = JSONLoader.testData.driver_certificate_type_id;
140
+ resultHolder.experience_less = JSONLoader.testData.experience_less;
141
+ resultHolder.pensioner_bool = JSONLoader.testData.pensioner_bool;
142
+ resultHolder.country_id = JSONLoader.testData.country_id;
143
+ resultHolder.is_new = JSONLoader.testData.is_new;
144
+ resultHolder.activity_kind_id = JSONLoader.testData.activity_kind_id;
145
+ resultHolder.document_gived_by = JSONLoader.testData.holder_document_gived_by;
146
+ resultHolder.email = JSONLoader.testData.holder_email;
147
+ resultHolder.mobile_phone = JSONLoader.testData.holder_mobile_phone;
148
+ resultHolder.address = JSONLoader.testData.holder_address;
149
+ resultHolder.is_insured = 0;
150
+ return {
151
+ holder: resultHolder,
152
+ insured: resultInsured
153
+ };
154
+ }
155
+ }, {
156
+ key: "createRandomCarStructure",
157
+ value: function createRandomCarStructure(carsArr) {
158
+ var randomCarIndex = Randomizer.getRandomInteger(carsArr.length - 1);
159
+ var tempCar = carsArr[randomCarIndex];
160
+ var resultCar = _objectSpread({}, tempCar);
161
+ resultCar.esbd_id = tempCar.tf_id;
162
+ resultCar.dt_reg_cert = TimeUtils.reformatDateFromYMDToDMY(tempCar.dt_reg_cert);
163
+ resultCar.verified_bool = 1;
164
+ return resultCar;
165
+ }
166
+ }]);
167
+ }();
168
+ module.exports = DataUtils;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
4
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
6
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
7
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
8
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
+ var fs = require('fs');
10
+ var path = require('path');
11
+ require('dotenv').config({
12
+ path: path.join(__dirname, '../../../../../', '.env.test'),
13
+ override: true
14
+ });
15
+ var envDirectory = path.join(__dirname, '../../../../../');
16
+ var loaderFileLocation = path.join(__dirname, '../../../../../test/main/utils/data/', 'JSONLoader.js');
17
+ var testClientsFileLocation = path.join(envDirectory, './test/resources/data/testClients.json');
18
+ var testCarsFileLocation = path.join(envDirectory, './test/resources/data/testCars.json');
19
+ var averageRBNSFileLocation = path.join(envDirectory, './test/resources/data/averageRBNS.json');
20
+ var JSONDirectory = path.join(envDirectory, './test/resources');
21
+ var _getFiles = function getFiles(directory, extension) {
22
+ var allFiles = fs.readdirSync(directory);
23
+ var selectedFiles = allFiles.filter(function (file) {
24
+ return file.endsWith(extension);
25
+ });
26
+ allFiles.forEach(function (file) {
27
+ var fullPath = path.join(directory, file);
28
+ if (fs.statSync(fullPath).isDirectory()) {
29
+ var nestedFiles = _getFiles(fullPath, extension);
30
+ selectedFiles.push.apply(selectedFiles, _toConsumableArray(nestedFiles.map(function (nestedFile) {
31
+ return path.join(file, nestedFile);
32
+ })));
33
+ }
34
+ });
35
+ return selectedFiles;
36
+ };
37
+ var generateClassInit = function generateClassInit(selectedFiles, directory) {
38
+ return "class JSONLoader {\n".concat(selectedFiles.map(function (file) {
39
+ var variableName = path.parse(file).name;
40
+ return "\tstatic get ".concat(variableName, "() {\n\t\tconst ").concat(variableName, " = require('").concat(path.join(directory, file), "');\n\t\treturn JSON.parse(JSON.stringify(").concat(variableName, "));\n\t}\n\n");
41
+ }).join(''));
42
+ };
43
+ var generateJSONLoader = function generateJSONLoader(filePath, directory, extension) {
44
+ var files = _getFiles(directory, extension);
45
+ var classInit = generateClassInit(files, directory);
46
+ var classExport = '}\n\nmodule.exports = JSONLoader;';
47
+ fs.writeFileSync(filePath, classInit + classExport);
48
+ };
49
+ var setConfigData = function setConfigData(directory, extension) {
50
+ var files = _getFiles(directory, extension);
51
+ var configFile = files.filter(function (file) {
52
+ return file.includes('config');
53
+ }).pop();
54
+ if (configFile) {
55
+ var filePath = "".concat(directory, "/").concat(configFile);
56
+ var data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
57
+ data.parallel = process.argv.includes('--parallel');
58
+ data.setPolicyWaitingTWB = process.argv.includes('--setPolicyWaitingTWB');
59
+ data.testOGPOClaim = process.argv.includes('--testOGPOClaim');
60
+ try {
61
+ var _process$env$VERIFICA;
62
+ data.verification = Boolean(JSON.parse((_process$env$VERIFICA = process.env.VERIFICATION) !== null && _process$env$VERIFICA !== void 0 ? _process$env$VERIFICA : data.verification));
63
+ } catch (error) {
64
+ // eslint-disable-next-line no-console
65
+ console.log(' [err] incorrect value of "VERIFICATION" .env variable!');
66
+ }
67
+ try {
68
+ var _process$env$SET_POLI;
69
+ var value = JSON.parse((_process$env$SET_POLI = process.env.SET_POLICY_WAITING_TWB) !== null && _process$env$SET_POLI !== void 0 ? _process$env$SET_POLI : data.setPolicyWaitingTWB);
70
+ data.setPolicyWaitingTWB = Boolean(value);
71
+ } catch (error) {
72
+ // eslint-disable-next-line no-console
73
+ console.log(' [err] incorrect value of "SET_POLICY_WAITING_TWB" .env variable!');
74
+ }
75
+ try {
76
+ var _process$env$GET_POLI;
77
+ data.getPolicyTWB = Boolean(JSON.parse((_process$env$GET_POLI = process.env.GET_POLICY_TWB) !== null && _process$env$GET_POLI !== void 0 ? _process$env$GET_POLI : data.getPolicyTWB));
78
+ } catch (error) {
79
+ // eslint-disable-next-line no-console
80
+ console.log(' [err] incorrect value of "GET_POLICY_TWB" .env variable!');
81
+ }
82
+ if (process.env.GATEWAY_URL) {
83
+ var _value = process.env.GATEWAY_URL.match(/\b(?:localhost|dev|staging|qa\d+)\b/g);
84
+ if (_value) {
85
+ data.environment = _value.pop();
86
+ } else {
87
+ // eslint-disable-next-line no-console
88
+ console.log(' [err] incorrect value of "GATEWAY_URL" .env variable!');
89
+ }
90
+ } else {
91
+ // eslint-disable-next-line no-console
92
+ console.log(' [err] "GATEWAY_URL" .env variable not exists!');
93
+ }
94
+ try {
95
+ var _process$env$TEST_OGP;
96
+ var _value2 = JSON.parse((_process$env$TEST_OGP = process.env.TEST_OGPO_CLAIM) !== null && _process$env$TEST_OGP !== void 0 ? _process$env$TEST_OGP : data.testOGPOClaim);
97
+ data.testOGPOClaim = Boolean(_value2);
98
+ } catch (error) {
99
+ // eslint-disable-next-line no-console
100
+ console.log(' [err] incorrect value of "TEST_OGPO_CLAIM" .env variable!');
101
+ }
102
+ fs.writeFileSync(filePath, JSON.stringify(data, null, 2), 'utf8');
103
+ }
104
+ };
105
+ var checkEnvExists = function checkEnvExists(directory, extension) {
106
+ var files = _getFiles(directory, extension);
107
+ if (!files.length) throw new Error('[err] .env.test file not exists in root directory!');
108
+ };
109
+ var generateTestDataFile = function generateTestDataFile(filePath) {
110
+ var emptyObj = {};
111
+ if (!fs.existsSync(filePath)) fs.writeFileSync(filePath, JSON.stringify(emptyObj, null, 2), 'utf8');
112
+ };
113
+ checkEnvExists(envDirectory, '.test');
114
+ setConfigData(JSONDirectory, '.json');
115
+ generateTestDataFile(testCarsFileLocation);
116
+ generateTestDataFile(testClientsFileLocation);
117
+ generateTestDataFile(averageRBNSFileLocation);
118
+ generateJSONLoader(loaderFileLocation, JSONDirectory, '.json');
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
5
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
7
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
8
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
9
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
+ var fs = require('fs');
16
+ var path = require('path');
17
+ var YAML = require('js-yaml');
18
+ var projectDirectory = path.join(__dirname, '../../../../../');
19
+ var specDirectory = path.join(projectDirectory, './test/tests/specs');
20
+ var specFiles = fs.readdirSync(specDirectory);
21
+ var jobs = specFiles.map(function (spec, index) {
22
+ return _defineProperty({}, "API tests ".concat(index + 1), {
23
+ image: 'node:latest',
24
+ stage: 'test',
25
+ variables: {
26
+ SPEC_PATTERN: index + 1
27
+ },
28
+ only: ['dev'],
29
+ tags: ['k8s'],
30
+ before_script: [
31
+ // eslint-disable-next-line no-template-curly-in-string
32
+ 'echo "${ENV_TEST}" | tr -d "\r" > ./.env.test', 'apt-get update && apt-get install -y default-jre', 'npm install'],
33
+ script: ['npm run lint', 'npm run test:split'],
34
+ artifacts: {
35
+ when: 'always',
36
+ expire_in: '1 month',
37
+ paths: ['test/artifacts', 'test/resources/data/configData.json']
38
+ }
39
+ });
40
+ });
41
+ var gitlabCIConfig = _objectSpread({}, Object.assign.apply(Object, [{}].concat(_toConsumableArray(jobs))));
42
+ fs.writeFileSync(path.join(projectDirectory, '.split-config.yml'), YAML.dump(gitlabCIConfig));
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var DateFormats = Object.freeze({
4
+ DMY: 'DD.MM.YYYY',
5
+ YMD: 'YYYY-MM-DD',
6
+ MDY: 'MM.DD.YYYY',
7
+ YMDHms: 'YYYY-MM-DD[T]HH:mm:ss'
8
+ });
9
+ module.exports = DateFormats;
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  // Auto-generated file
2
4
 
3
5
  exports.BaseAPI = require('./API/baseAPI');
@@ -11,4 +13,4 @@ exports.gitlabCIGenerator = require('./data/gitlabCIGenerator');
11
13
  exports.DateFormats = require('./enums/dateFormats');
12
14
  exports.Logger = require('./log/logger');
13
15
  exports.Randomizer = require('./random/randomizer');
14
- exports.TimeUtils = require('./time/timeUtils');
16
+ exports.TimeUtils = require('./time/timeUtils');
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
5
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
6
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ function _classPrivateFieldLooseBase(e, t) { if (!{}.hasOwnProperty.call(e, t)) throw new TypeError("attempted to use private field on non-instance"); return e; }
10
+ var id = 0;
11
+ function _classPrivateFieldLooseKey(e) { return "__private_" + id++ + "_" + e; }
12
+ var path = require('path');
13
+ var moment = require('moment');
14
+ var _require = require('fs'),
15
+ createWriteStream = _require.createWriteStream;
16
+ var allureMocha = require('allure-mocha/runtime');
17
+ var JSONLoader = require('../data/JSONLoader');
18
+ var filePath = path.join(path.resolve(), 'test', 'artifacts', 'log.txt');
19
+ var timeList = [];
20
+ var logList = [];
21
+ var _title = /*#__PURE__*/_classPrivateFieldLooseKey("title");
22
+ var Logger = /*#__PURE__*/function () {
23
+ function Logger() {
24
+ _classCallCheck(this, Logger);
25
+ }
26
+ return _createClass(Logger, null, [{
27
+ key: "log",
28
+ value: function log(step, title) {
29
+ logList.push(" ".concat(step));
30
+ var timeStamp = moment().format().slice(0, 19).replace('T', ' ');
31
+ timeList.push("".concat(timeStamp));
32
+ if (title) _classPrivateFieldLooseBase(this, _title)[_title] = title;
33
+ allureMocha.allure.logStep("".concat(timeStamp, " ").concat(step));
34
+ if (!JSONLoader.configData.parallel) {
35
+ var stream = createWriteStream(filePath, {
36
+ flags: 'a',
37
+ autoClose: true
38
+ });
39
+ if (!title) stream.write("".concat(timeStamp, " ").concat(step, "\n"));
40
+ this.hideLogBodies(step);
41
+ }
42
+ }
43
+ }, {
44
+ key: "hideLogBodies",
45
+ value: function hideLogBodies(step) {
46
+ if (JSONLoader.configData.hiddenLogBodies && step.includes('[req]')) {
47
+ var words = step.split(' ');
48
+ var firstPart = words.slice(0, 3).join(' ');
49
+ var secondPart = words.slice(words.length - 2).join(' ');
50
+ console.log(" ".concat(firstPart, " ").concat(secondPart)); // eslint-disable-line no-console
51
+ } else {
52
+ console.log(" ".concat(step)); // eslint-disable-line no-console
53
+ }
54
+ }
55
+ }, {
56
+ key: "logParallel",
57
+ value: function logParallel() {
58
+ var _this = this;
59
+ logList.forEach(function (step) {
60
+ return _this.hideLogBodies(step.trim());
61
+ });
62
+ }
63
+ }, {
64
+ key: "logToFileParallel",
65
+ value: function logToFileParallel() {
66
+ var _this2 = this;
67
+ var zip = function zip(a, b) {
68
+ return a.map(function (k, i) {
69
+ return [k, b[i]];
70
+ });
71
+ };
72
+ var summaryList = zip(timeList, logList);
73
+ summaryList.shift();
74
+ var fileName = filePath.split('/').map(function (part, index, array) {
75
+ return index === array.length - 1 ? "".concat(_classPrivateFieldLooseBase(_this2, _title)[_title], ".").concat(part) : part;
76
+ }).join('/');
77
+ var stream = createWriteStream(fileName, {
78
+ flags: 'a',
79
+ autoClose: true
80
+ });
81
+ summaryList.forEach(function (logString) {
82
+ return logString.forEach(function (logSubString, index) {
83
+ /* eslint no-unused-expressions: ["error", { "allowTernary": true }] */
84
+ index % 2 !== 0 ? stream.write("".concat(logSubString, "\n")) : stream.write("".concat(logSubString));
85
+ });
86
+ });
87
+ }
88
+ }]);
89
+ }();
90
+ Object.defineProperty(Logger, _title, {
91
+ writable: true,
92
+ value: void 0
93
+ });
94
+ module.exports = Logger;
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
5
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
6
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ var TimeUtils = require('../time/timeUtils');
10
+ var Randomizer = /*#__PURE__*/function () {
11
+ function Randomizer() {
12
+ _classCallCheck(this, Randomizer);
13
+ }
14
+ return _createClass(Randomizer, null, [{
15
+ key: "getRandomString",
16
+ value: function getRandomString() {
17
+ var hasLowerCase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
18
+ var hasUpperCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
19
+ var hasNumber = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
20
+ var hasCyrillic = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
21
+ var chosenLetter = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
22
+ var minLength = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;
23
+ var maxLength = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : 10;
24
+ var upperCaseLetters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
25
+ var lowerCaseLetters = 'abcdefghijklmnopqrstuvwxyz';
26
+ var numbers = '0123456789';
27
+ var cyrillicLetters = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
28
+ var length = this.getRandomInteger(maxLength, minLength);
29
+ var randomString = '';
30
+ if (chosenLetter) randomString += chosenLetter;
31
+ var requiredCharacters = '';
32
+ if (hasLowerCase) {
33
+ requiredCharacters += lowerCaseLetters.charAt(Math.floor(Math.random() * lowerCaseLetters.length));
34
+ }
35
+ if (hasUpperCase) {
36
+ requiredCharacters += upperCaseLetters.charAt(Math.floor(Math.random() * upperCaseLetters.length));
37
+ }
38
+ if (hasNumber) {
39
+ requiredCharacters += numbers.charAt(Math.floor(Math.random() * numbers.length));
40
+ }
41
+ if (hasCyrillic) {
42
+ requiredCharacters += cyrillicLetters.charAt(Math.floor(Math.random() * cyrillicLetters.length));
43
+ }
44
+ randomString += requiredCharacters;
45
+ var characters = (hasLowerCase ? lowerCaseLetters : '') + (hasUpperCase ? upperCaseLetters : '') + (hasNumber ? numbers : '') + (hasCyrillic ? cyrillicLetters : '');
46
+ var charactersLength = characters.length;
47
+ var randomLength = length - randomString.length;
48
+ for (var i = 0; i < randomLength; i += 1) {
49
+ randomString += characters.charAt(Math.floor(Math.random() * charactersLength));
50
+ }
51
+ return this.stringShuffler(randomString);
52
+ }
53
+ }, {
54
+ key: "stringShuffler",
55
+ value: function stringShuffler(inputString) {
56
+ var array = inputString.split('');
57
+ var currentIndex = array.length;
58
+ var temporaryValue;
59
+ var randomIndex;
60
+ while (currentIndex !== 0) {
61
+ randomIndex = Math.floor(Math.random() * currentIndex);
62
+ currentIndex -= 1;
63
+ temporaryValue = array[currentIndex];
64
+ array[currentIndex] = array[randomIndex];
65
+ array[randomIndex] = temporaryValue;
66
+ }
67
+ return array.join('');
68
+ }
69
+ }, {
70
+ key: "getRandomInteger",
71
+ value: function getRandomInteger() {
72
+ var max = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 9;
73
+ var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
74
+ return Math.floor(Math.random() * (max - min + 1)) + min;
75
+ }
76
+ }, {
77
+ key: "getRandomFloat",
78
+ value: function getRandomFloat(min, max) {
79
+ var precision = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 2;
80
+ var factor = Math.pow(10, precision);
81
+ var value = Math.random() * (max - min) + min;
82
+ return Math.round(value * factor) / factor;
83
+ }
84
+ }, {
85
+ key: "getRandomArrayElement",
86
+ value: function getRandomArrayElement(array) {
87
+ return array[Randomizer.getRandomInteger(array.length - 1)];
88
+ }
89
+ }, {
90
+ key: "getRandomDate",
91
+ value: function getRandomDate() {
92
+ var startDate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '2000-01-01';
93
+ var endDate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
94
+ var start = new Date(startDate);
95
+ var end = endDate ? new Date(endDate) : new Date();
96
+ if (start > end) {
97
+ throw new Error('startDate cannot be more than endDate (today)');
98
+ }
99
+ var randomTime = start.getTime() + Math.random() * (end.getTime() - start.getTime());
100
+ var randomDate = new Date(randomTime);
101
+ return TimeUtils.reformatDateFromMDYtoDMY(randomDate);
102
+ }
103
+ }]);
104
+ }();
105
+ module.exports = Randomizer;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
5
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
6
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
7
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
8
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
+ var moment = require('moment');
10
+ var DateFormats = require('../enums/dateFormats');
11
+ var TimeUtils = /*#__PURE__*/function () {
12
+ function TimeUtils() {
13
+ _classCallCheck(this, TimeUtils);
14
+ }
15
+ return _createClass(TimeUtils, null, [{
16
+ key: "getDatesInterval",
17
+ value: function getDatesInterval(count, unitOfTime) {
18
+ var _options$startNextDay, _options$isNotInclude, _options$reverseInter;
19
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
20
+ var dateBegin = options.dateBegin;
21
+ var startNextDay = (_options$startNextDay = options.startNextDay) !== null && _options$startNextDay !== void 0 ? _options$startNextDay : true;
22
+ var isNotIncluded = (_options$isNotInclude = options.isNotIncluded) !== null && _options$isNotInclude !== void 0 ? _options$isNotInclude : true;
23
+ var reverseInterval = (_options$reverseInter = options.reverseInterval) !== null && _options$reverseInter !== void 0 ? _options$reverseInter : false;
24
+ var startDate;
25
+ if (reverseInterval) {
26
+ startDate = startNextDay ? moment().subtract(1, 'days') : moment();
27
+ } else {
28
+ startDate = startNextDay ? moment().add(1, 'days') : moment();
29
+ }
30
+ var finishDate;
31
+ if (reverseInterval) {
32
+ finishDate = dateBegin ? moment(dateBegin, DateFormats.DMY).subtract(count, unitOfTime) : moment(startDate).subtract(count, unitOfTime);
33
+ if (isNotIncluded) {
34
+ finishDate = moment(finishDate).add(1, 'days');
35
+ }
36
+ } else {
37
+ finishDate = dateBegin ? moment(dateBegin, DateFormats.DMY).add(count, unitOfTime) : moment(startDate).add(count, unitOfTime);
38
+ if (isNotIncluded) {
39
+ finishDate = moment(finishDate).subtract(1, 'days');
40
+ }
41
+ }
42
+ startDate = moment(startDate).format(DateFormats.DMY);
43
+ finishDate = moment(finishDate).format(DateFormats.DMY);
44
+ return reverseInterval ? {
45
+ startDate: finishDate,
46
+ finishDate: dateBegin !== null && dateBegin !== void 0 ? dateBegin : startDate
47
+ } : {
48
+ startDate: dateBegin !== null && dateBegin !== void 0 ? dateBegin : startDate,
49
+ finishDate: finishDate
50
+ };
51
+ }
52
+ }, {
53
+ key: "reformatDateFromYMDToDMY",
54
+ value: function reformatDateFromYMDToDMY(date) {
55
+ return moment(date, DateFormats.YMD).format(DateFormats.DMY);
56
+ }
57
+ }, {
58
+ key: "reformatDateFromDMYToYMD",
59
+ value: function reformatDateFromDMYToYMD(date) {
60
+ return moment(date, DateFormats.DMY).format(DateFormats.YMD);
61
+ }
62
+ }, {
63
+ key: "reformatDateFromDMYToYMDHms",
64
+ value: function reformatDateFromDMYToYMDHms(date) {
65
+ return moment(date, DateFormats.DMY).format(DateFormats.YMDHms);
66
+ }
67
+ }, {
68
+ key: "reformatDateFromMDYtoDMY",
69
+ value: function reformatDateFromMDYtoDMY(date) {
70
+ return moment(date, DateFormats.MDY).format(DateFormats.DMY);
71
+ }
72
+ }, {
73
+ key: "dateFormats",
74
+ value: function dateFormats() {
75
+ return DateFormats;
76
+ }
77
+ }, {
78
+ key: "testMethod",
79
+ value: function testMethod() {
80
+ return DateFormats;
81
+ }
82
+ }]);
83
+ }();
84
+ module.exports = TimeUtils;