Skip to content

Commit 278c76f

Browse files
authored
Merge pull request #723 from gemini-testing/TESTPLANE-718.fix_merge_reports
fix: correctly merge report even if request for databaseUrls.json failed
2 parents f3a857b + 9d0beaf commit 278c76f

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

lib/merge-reports/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ export const mergeReports = async (toolAdapter: ToolAdapter, srcPaths: string[],
4040
const parsedHeaders = {...headersFromCli, ...headersFromEnv};
4141

4242
const resolvedUrls = await tryResolveUrls(srcPaths, parsedHeaders);
43-
const resolvedDbFiles = resolvedUrls.filter(serverUtils.isDbFile);
43+
const {true: resolvedDbFiles = [], false: resolvedJsonUrls = []} = _.groupBy(resolvedUrls, serverUtils.isDbFile);
4444

4545
const {true: remoteDbUrls = [], false: localDbPaths = []} = _.groupBy(resolvedDbFiles, isUrl);
4646
const dbPaths: DbPath[] = localDbPaths.map((db: string, ind: number, arr: string[]) => {
4747
const dbName = arr.length > 1 ? genUniqDbName(db, ind + 1) : path.basename(db);
4848
return {src: path.resolve(process.cwd(), db), dest: path.resolve(destPath, dbName)};
4949
});
5050

51-
const allDbPaths = [...remoteDbUrls, ...dbPaths.map(({dest}) => path.parse(dest).base)];
51+
const dbAndJsonUrls = [...resolvedJsonUrls, ...remoteDbUrls, ...dbPaths.map(({dest}) => path.parse(dest).base)];
5252
const copyFilePromises: Promise<void>[] = [];
5353

5454
await fs.ensureDir(destPath);
@@ -66,7 +66,7 @@ export const mergeReports = async (toolAdapter: ToolAdapter, srcPaths: string[],
6666

6767
await Promise.all([
6868
serverUtils.saveStaticFilesToReportDir(htmlReporter, reporterConfig, destPath),
69-
serverUtils.writeDatabaseUrlsFile(destPath, allDbPaths),
69+
serverUtils.writeDatabaseUrlsFile(destPath, dbAndJsonUrls),
7070
...copyFilePromises
7171
]);
7272

test/unit/lib/merge-reports/index.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,18 @@ describe('lib/merge-reports', () => {
226226
});
227227
});
228228

229+
it('should add json url to merged report even if request for it is failed', async () => {
230+
const toolAdapter = stubToolAdapter({htmlReporter});
231+
const paths = ['https://ci.ru'];
232+
const destPath = 'dest-report/path';
233+
234+
axiosStub.get.withArgs('https://ci.ru/databaseUrls.json').rejects(new Error('o.O'));
235+
236+
await execMergeReports_({toolAdapter, paths, opts: {destPath, headers: []}});
237+
238+
assert.calledOnceWith(serverUtils.writeDatabaseUrlsFile, destPath, ['https://ci.ru/databaseUrls.json']);
239+
});
240+
229241
it('should merge reports with folder paths', async () => {
230242
const toolAdapter = stubToolAdapter({htmlReporter});
231243
const paths = ['https://ci.ru', 'src-report-1'];

0 commit comments

Comments
 (0)