export async function writeJsonReport()

in src/helpers.ts [147:184]


export async function writeJsonReport(
  clusterData: any, 
  testInfo: TestInfo, 
  testStartTime: number,
  stepData?: object[],
  hostsMeasurements?: any
  ) {
  let build_flavor: any = clusterData.version.build_flavor;
  let cluster_name: any = clusterData.cluster_name;
  let version: any = clusterData.version.number;
  let hostsObject: {} = {};

  const fileName = `${new Date(testStartTime).toISOString().replace(/:/g, '_')}_${testInfo.title.replace(/\s/g, "_").toLowerCase()}.json`;
  const outputPath = path.join(outputDirectory, fileName);

  if (hostsMeasurements) {
    hostsObject = hostsMeasurements.reduce((acc, obj) => {
      return { ...acc, ...obj };
    }, {});
  }

  const reportData = {
    title: testInfo.title,
    startTime: testStartTime,
    period: `Last ${TIME_VALUE} ${TIME_UNIT}`,
    status: testInfo.status,
    duration: testInfo.duration,
    errors: testInfo.errors,
    timeout: testInfo.timeout,
    cluster_name: cluster_name,
    version: version,
    build_flavor: build_flavor,
    steps: stepData ? stepData : null,
    measurements: hostsMeasurements ? hostsObject : null,
  };
    
  fs.writeFileSync(outputPath, JSON.stringify(reportData, null, 2));
}