testilo 3.1.2 → 3.1.3

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.
package/digest.js CHANGED
@@ -14,7 +14,7 @@ const fs = require('fs').promises;
14
14
 
15
15
  const reportDirScored = process.env.REPORTDIR_SCORED || 'reports/scored';
16
16
  const reportDirDigested = process.env.REPORTDIR_DIGESTED || 'reports/digested';
17
- const reportID = process.argv[2];
17
+ const reportIDStart = process.argv[2];
18
18
  const digesterID = process.argv[3];
19
19
 
20
20
  // ########## FUNCTIONS
@@ -24,15 +24,23 @@ const replaceHolders = (content, query) => content
24
24
  .replace(/__([a-zA-Z]+)__/g, (ph, qp) => query[qp]);
25
25
  // Creates a digest.
26
26
  const digest = async () => {
27
- const reportJSON = await fs.readFile(`${__dirname}/${reportDirScored}/${reportID}.json`, 'utf8');
28
- const report = JSON.parse(reportJSON);
27
+ const reportDirScoredAbs = `${__dirname}/${reportDirScored}`;
28
+ const allReportFileNames = await fs.readdir(reportDirScoredAbs);
29
+ const sourceReportFileNames = allReportFileNames
30
+ .filter(fileName => fileName.startsWith(reportIDStart) && fileName.endsWith('.json'));
29
31
  const {makeQuery} = require(`${__dirname}/procs/digest/${digesterID}/index.js`);
30
- const query = {};
31
- makeQuery(report, query);
32
- const template = await fs.readFile(`${__dirname}/procs/digest/${digesterID}/index.html`, 'utf8');
33
- const digest = replaceHolders(template, query);
34
- await fs.writeFile(`${__dirname}/${reportDirDigested}/${reportID}.html`, digest);
35
- console.log(`Report ${reportID} digested and saved`);
32
+ for (const fileName of sourceReportFileNames) {
33
+ const reportJSON = await fs.readFile(`${reportDirScoredAbs}/${fileName}`, 'utf8');
34
+ const report = JSON.parse(reportJSON);
35
+ const query = {};
36
+ makeQuery(report, query);
37
+ const template = await fs
38
+ .readFile(`${__dirname}/procs/digest/${digesterID}/index.html`, 'utf8');
39
+ const digest = replaceHolders(template, query);
40
+ const fileNameBase = fileName.slice(0, -5);
41
+ await fs.writeFile(`${__dirname}/${reportDirDigested}/${fileNameBase}.html`, digest);
42
+ console.log(`Report ${fileNameBase} digested and saved`);
43
+ };
36
44
  };
37
45
 
38
46
  // ########## OPERATION
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testilo",
3
- "version": "3.1.2",
3
+ "version": "3.1.3",
4
4
  "description": "Client that scores and digests Testaro reports",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -8974,4 +8974,4 @@
8974
8974
  "zIndex": 33
8975
8975
  }
8976
8976
  }
8977
- }
8977
+ }
package/score.js CHANGED
@@ -14,20 +14,27 @@ const fs = require('fs').promises;
14
14
 
15
15
  const reportDirRaw = process.env.REPORTDIR_RAW || 'reports/raw';
16
16
  const reportDirScored = process.env.REPORTDIR_SCORED || 'reports/scored';
17
- const reportID = process.argv[2];
17
+ const reportIDStart = process.argv[2];
18
18
  const scoreProcID = process.argv[3];
19
19
 
20
20
  // ########## FUNCTIONS
21
21
 
22
22
  const score = async () => {
23
- const reportJSON = await fs.readFile(`${__dirname}/${reportDirRaw}/${reportID}.json`, 'utf8');
24
- const report = JSON.parse(reportJSON);
23
+ const reportDirRawAbs = `${__dirname}/${reportDirRaw}`;
24
+ const allReportFileNames = await fs.readdir(reportDirRawAbs);
25
+ const sourceReportFileNames = allReportFileNames
26
+ .filter(fileName => fileName.startsWith(reportIDStart) && fileName.endsWith('.json'));
25
27
  const {scorer} = require(`./procs/score/${scoreProcID}`);
26
- scorer(report);
27
- report.score.scoreProcID = scoreProcID;
28
- const scoredReportJSON = JSON.stringify(report, null, 2);
29
- await fs.writeFile(`${__dirname}/${reportDirScored}/${reportID}.json`, scoredReportJSON);
30
- console.log(`Report ${reportID} scored and saved`);
28
+ for (const fileName of sourceReportFileNames) {
29
+ const reportJSON = await fs
30
+ .readFile(`${reportDirRawAbs}/${fileName}`, 'utf8');
31
+ const report = JSON.parse(reportJSON);
32
+ scorer(report);
33
+ report.score.scoreProcID = scoreProcID;
34
+ const scoredReportJSON = JSON.stringify(report, null, 2);
35
+ await fs.writeFile(`${__dirname}/${reportDirScored}/${fileName}`, scoredReportJSON);
36
+ console.log(`Report ${fileName.slice(0, -5)} scored and saved`);
37
+ };
31
38
  };
32
39
 
33
40
  // ########## OPERATION