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: about 13 hours 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)