Categorygithub.com/Lord-Y/cypress-parallel-api
repositorypackage
0.0.1
Repository: https://github.com/lord-y/cypress-parallel-api.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

cypress-parallel-api CircleCI

cypress-parallel-api is the api used by cypress-parallel frontend UI. The api permit to create pods inside your kubernetes cluster triggered by curl commands or via UI.

API url

By default, the api url is http://127.0.0.1:8080 but it can be override with os environment variable CYPRESS_PARALLEL_API_URL.

Database

Our api is developped with PostgresSQL database so the environment variable CYPRESS_PARALLEL_API_DB_URI must be set:

export CYPRESS_PARALLEL_API_DB_URI="postgres://USERNAME:PASSWORD@HOST:PORT/DB_NAME?sslmode=disable"

Development

Kind

During you local development, you must set the variable CYPRESS_PARALLEL_API_K8S_CLIENT_OUTSIDE in order to create to make the api loggued in with your .kube/config

export CYPRESS_PARALLEL_API_K8S_CLIENT_OUTSIDE=true

Please read Kind setup here

Start your postgres sql instance

sudo docker-compose up -d -f docker-compose.yml.yaml

Debugging

To enable the debug mode on the api:

export CYPRESS_PARALLEL_API_LOG_LEVEL=debug

To enable the debug mode on the cli:

export CYPRESS_PARALLEL_CLI_LOG_LEVEL=debug

Content types

Supported content types are:

  • application/x-www-form-urlencoded
  • application/json

Unit testing

Make sure to add unit testing for almost every new features in order to ensure the quality of the api.

Run tests with:

go test -v ./... -coverprofile=coverage.out

See covering in the browser with:

go tool cover -html=coverage.out

See covering in the shell with:

go tool cover -func=coverage.out

Linter

# https://freshman.tech/linting-golang/
go install github.com/nametake/golangci-lint-langserver@latest