npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

codeceptjs-rest-demo

v1.1.3

Published

CodeceptJS demo project with REST helper

Downloads

4

Readme

Codacy Badge"Buy Me A Coffee"

Introduction

This project demonstrates how to use CodeceptJS with REST helper.

How to use

This is done using CodeceptJS https://codecept.io/

Tech

This test uses a number of open source projects to work properly:

Installation

This requires Node.js v16+ to run.

Install the dependencies and devDependencies.

cd codeceptjs-rest-demo
npm i

How to trigger API tests

To run all api tests just simply type

npm test

Example output

CodeceptJS v3.4.1 #StandWithUkraine
Using test root "/Users/thanh.nguyen/Desktop/codeceptjs-rest-demo"

DELETE tests --
  ✔ Verify deleting a user in 136ms
GET tests --
  ✔ Verify a successful call in 126ms
  ✔ Verify a not found call in 124ms
  ✔ Verify getting a single user in 180ms
  ✔ Verify getting list of users in 65ms
POST tests --
  ✔ Verify creating new user in 131ms
  ✔ Verify uploading a file in 5789ms
PUT tests --
  ✔ Verify creating new user in 118ms

  OK  | 8 passed   // 7s

Report

Allure report: https://kobenguyent.github.io/codeceptjs-rest-demo/

E2E Dashboard using Grafana/Prometheus

After generating Allure report, it would also come with data which we could use to send to time series database Prometheus for example.

What do you need?

  • Docker installed
  • Basic knowledge on how to set up the Dashboard on Grafana, query with Prometheus

To start the Grafana/Prometheus, run this command

cd docker && docker-compose up

➜  docker git:(master) ✗ docker-compose up
[+] Running 3/0
 ✔ Container docker-pushgateway-1  Created                                                                                                                                                                                                                                                                    0.0s 
 ✔ Container docker-grafana-1      Created                                                                                                                                                                                                                                                                    0.0s 
 ✔ Container docker-prometheus-1   Created                                                                                                                                                                                                                                                                    0.0s 
Attaching to docker-grafana-1, docker-prometheus-1, docker-pushgateway-1
docker-pushgateway-1  | ts=2023-08-08T09:49:48.904Z caller=main.go:86 level=info msg="starting pushgateway" version="(version=1.6.0, branch=HEAD, revision=2b1a354b9e6f2cfab172767cd3e26d92efa9dccf)"
docker-pushgateway-1  | ts=2023-08-08T09:49:48.904Z caller=main.go:87 level=info build_context="(go=go1.20.4, platform=linux/arm64, user=root@b93562bc57fd, date=20230525-11:20:38, tags=netgo)"
docker-pushgateway-1  | ts=2023-08-08T09:49:48.907Z caller=tls_config.go:274 level=info msg="Listening on" address=[::]:9091
docker-pushgateway-1  | ts=2023-08-08T09:49:48.907Z caller=tls_config.go:277 level=info msg="TLS is disabled." http2=false address=[::]:9091
docker-grafana-1      | logger=settings t=2023-08-08T09:49:49.087865552Z level=info msg="Starting Grafana" version=10.0.3 commit=eb8dd72637 branch=HEAD compiled=2023-07-25T17:55:59Z

Grafana is now accessible via http://localhost:3000/

One command to run tests and sending data to Prometheus

npm run test && npm run allure-reports-generate && npm run processData && npm run sendData

Set up your dashboard as your preference, for example

Some query for your references:

TCs per build:

sum by (build) ({__name__=~"e2e_tests_status_(passed|failed|broken)", build!="unknown"})

Execution time per build:

sum by (build) ({__name__="e2e_tests_time_duration", build!="unknown"})

Screenshot 2023-08-09 at 10.30.37.png