Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/traceloop/jest-opentelemetry

Easily run integration tests for your backends
https://github.com/traceloop/jest-opentelemetry

api-testing e2e-testing integration-testing javascript jest open-telemetry otel reliability test-automation testing tracing typescript

Last synced: 2 months ago
JSON representation

Easily run integration tests for your backends

Awesome Lists containing this project

README

        






Jest OpenTelemetry



Integeration tests with 10 lines of code


Get started ยป




Slack |
Docs |
Examples |
Website



Jest OpenTelemetry is released under the Apache-2.0 License



PRs welcome!


git commit activity


Slack community channel


Traceloop Twitter

Jest OpenTelemetry allows you to write, build and run integration tests based on OpenTelemetry traces with [Jest-like](https://jestjs.io/) syntax. You can:

- ๐Ÿ•ต๏ธ Test any side-effect in your system: an email was sent, a database was updated, a BI event was reported, etc.
- ๐Ÿ‘ฉโ€๐Ÿ’ป Run your tests and connect to a local or remote test environment.

All with just a few lines of code.

It's built and maintained by Traceloop under the Apache 2.0 license.

## ๐Ÿš€ Getting Started

```js
npm i --save-dev @traceloop/jest-opentelemetry
```

Then, you can start testing your microservices:

```js
const traceloop = new TraceLoop();

await traceloop.axiosInstance.post('http://my.awesome.website/orders/create');
await traceloop.fetchTraces();

expectTrace(traceloop.serviceByName('emails-service'))
.toReceiveHttpRequest()
.ofMethod('POST')
.withBody({ emailTemplate: 'orderCreated', itemId: '123' });
```

More info can be found in our [docs](https://traceloop.com/docs/jest-otel/getting-started).

## What can you test?

Jest OpenTelemetry can be used to test anything that's happening in your system.
We're constantly adding more, and you're welcome to [suggest yours](https://github.com/traceloop/jest-opentelemetry/issues).

### Service Assertions

- [x] [REST](http://traceloop.com/docs/jest-otel/syntax/services-rest)
- [ ] GraphQL
- [x] [GRPC](http://traceloop.com/docs/jest-otel/syntax/services-grpc)

### Database Assertions

- [x] [PostgreSQL](http://traceloop.com/docs/jest-otel/syntax/db-pg)
- [ ] MongoDB
- [x] [Redis](http://traceloop.com/docs/jest-otel/syntax/db-redis)
- [ ] S3

### Analytics Reporting Assertions

- [ ] Segment
- [ ] Snowflake
- [ ] BigQuery
- [ ] Posthog

### External Systems Assertions

- [ ] SendGrid
- [ ] Stripe

## ๐ŸŒฑ Contributing

Whether it's big or small, we love contributions โค๏ธ Check out our guide to see how to [get started](https://traceloop.com/docs/contributing/overview).

Not sure where to get started? You can:

- [Book a free pairing session with one of our teammates](mailto:[email protected]?subject=Pairing%20session&body=I'd%20like%20to%20do%20a%20pairing%20session!)!
- Join our Slack, and ask us any questions there.

## ๐Ÿ’š Community & Support

- [Slack](https://join.slack.com/t/traceloopcommunity/shared_invite/zt-1plpfpm6r-zOHKI028VkpcWdobX65C~g) (For live discussion with the community and the Traceloop team)
- [GitHub Discussions](https://github.com/traceloop/jest-opentelemetry/discussions) (For help with building and deeper conversations about features)
- [GitHub Issues](https://github.com/traceloop/jest-opentelemetry/issues) (For any bugs and errors you encounter using Jest OpenTelemetry)
- [Twitter](https://twitter.com/traceloopdev) (Get news fast)