🚂Setup

Setting up handshake in your system

Different Frameworks would have their terminology and notation, though some of which could be common across, so the idea is to transform the values provided by the test runner and then display it with a similar dashboard so that anyone can understand the results easily.

Handshake (python-build)


Handshake (Python Build) is responsible for processing our Test Results into a common format, it calculates the results and ensures that the reports so generated look similar to the ones with the same tests but with different runners.

Steps
  • Clone this repo.

  • Visit these requirements for double checking

  • pip install poetry nox

  • in the root path, perform: python -m venv venv

  • Activate Virtual Environment,

    • source ./venv/bin/activate if Linux or MacOS

    • else if Windows, ./venv/scripts/activate

  • In the root of the project directory, execute: poetry install

you can refer to this blog to set up Python 3.11 from a source in Ubuntu. (if required)

After setup, you can check if it is working or not with handshake v or handshake --version

Testing

Pytest

pytest runs our test cases you can it under __test__ present in the root directory, we have tests written for the

  • server

  • CLI

  • migrator

  • scheduler

  • exporter.

to execute them you can run pytest __test__

Nox

since we support to run in py-3.11 and py-3.12. with nox -s test we can test it under those versions of Python as well.

Dashboard


The dashboard is built using React and Next.JS

The AIM of the Dashboard repo. is to generate a skeleton dashboard export that utilizes the export generated by the handshake scheduler for displaying beautiful (Should be) reports.

Steps
  • After cloning the repo.

  • Move to handshake-nodejs-reporters/packages/handshake-dashboard

  • Execute npm install - Takes some time.

  • To start the dev server: npm run dev

  • To start the storybook dev server: npm run storybook

With these, we would be able to run the dev. version. you can explore the rest. 😊

Testing

Component Tests

we have written interactive tests inside the storybook to run it please execute: npm run test

Make sure to start the storybook dev server to run tests.

In the pipeline, we use: this command

Build

Make sure to run npm run build to check if we can generate the static export successfully.

Last updated