0.2.17 • Published 4 years ago

test-results-notifier v0.2.17

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

Test Results Notifier

Installation

yarn add --dev test-results-notifier

Usage

import { ResultsReader, SlackNotifier } from "test-results-notifier";

const notifier = new SlackNotifier(
    'https://reports.com/reports',
    'https://gitlab.pipeline.url',
  );
  const hook = 'http://slack.chat.hook';
  const results = ResultsReader.readCustomResultsFile('path-to-results.json');
  const message = notifier.prepareMessage(
    'Tests name',
    results,
    'tests_folder_prefix',
    'pipeline_id',
  );
  notifier.post(hook, message);

Reference

ResultReader

readCustomResultsFile(path: string): Results

Reads JSON file and returns results as Results object. Accepts JSON:

{
  "finished": 1,
  "passed": 1,
  "retries": 0,
  "time": 0,
  "failed": 0,
  "exitCode": 0
}

readJunitResultFile(path: string): Promise<Results>

Reads jUnit type XML report file and returns results as Promise<Results>.

Results object:

interface Results{
  finished: number;
  passed: number;
  retries: number;
  failed: number;
  skipped: number;
  disabled: number;
  time: string;
  exitCode: number;
}

SlackNotifier

Accepts reportsDirUrl as root directory for reports and pipelineUrl as main page of project pipelines

prepareMessage

prepareMessage(name: string, 
results: Results, 
reportPrefix: string, 
pipelineNumber: string, 
environment?: string, 
featureBranch?: 
stringcallerProject?: string,
callerPipeline?: string): Message

Prepare message for further send. Returns Message object

sendToSlack

sendToSlack(hook: string, message: Message);

Send a message to the slack channel

Message object:

interface Message {
  title: string;
  body: string;
  exitCode: number;
}

MetricsToInfluxDb

Send test execution results to InfluxDb.

prepareMessage

prepareMessage(
      environment: string,
      measurement: string,
      project: string,
      results: Results
  ) : string;

Prepare message for further send. Returns String message.

sendMetrics

sendMetrics(url: string, username: string, password: string, message: string);

Sends metrics to InfluxDb. 'url' should contain ?db=dbName param

Tests

yarn test

Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.

0.2.17

4 years ago

0.2.16

4 years ago

0.2.15

4 years ago

0.2.14

4 years ago

0.2.13

4 years ago

0.2.12

4 years ago

0.2.11

4 years ago

0.2.10

4 years ago

0.2.9

4 years ago

0.2.8

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago