{"id":13769077,"url":"https://github.com/traceloop/jest-opentelemetry","last_synced_at":"2025-04-06T01:08:26.760Z","repository":{"id":65948575,"uuid":"602739740","full_name":"traceloop/jest-opentelemetry","owner":"traceloop","description":"Easily run integration tests for your backends","archived":false,"fork":false,"pushed_at":"2023-11-16T18:07:22.000Z","size":3404,"stargazers_count":256,"open_issues_count":11,"forks_count":9,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T00:07:46.840Z","etag":null,"topics":["api-testing","e2e-testing","integration-testing","javascript","jest","open-telemetry","otel","reliability","test-automation","testing","tracing","typescript"],"latest_commit_sha":null,"homepage":"https://www.traceloop.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/traceloop.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null}},"created_at":"2023-02-16T20:59:01.000Z","updated_at":"2024-12-09T15:26:45.000Z","dependencies_parsed_at":"2023-09-25T06:48:17.372Z","dependency_job_id":"fc82ab3e-910d-415c-a4f5-91d20827de7b","html_url":"https://github.com/traceloop/jest-opentelemetry","commit_stats":{"total_commits":154,"total_committers":8,"mean_commits":19.25,"dds":0.487012987012987,"last_synced_commit":"fea70d0719085318e9a4468a1d7616e51148dfab"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fjest-opentelemetry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fjest-opentelemetry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fjest-opentelemetry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traceloop%2Fjest-opentelemetry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/traceloop","download_url":"https://codeload.github.com/traceloop/jest-opentelemetry/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419860,"owners_count":20936012,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api-testing","e2e-testing","integration-testing","javascript","jest","open-telemetry","otel","reliability","test-automation","testing","tracing","typescript"],"created_at":"2024-08-03T17:00:16.780Z","updated_at":"2025-04-06T01:08:26.731Z","avatar_url":"https://github.com/traceloop.png","language":"JavaScript","funding_links":[],"categories":["Packages"],"sub_categories":["Matchers"],"readme":"\u003cp align=\"center\"\u003e\n\u003ca href=\"https://www.traceloop.com/\"\u003e\n\u003cimg width=\"300\" src=\"https://raw.githubusercontent.com/traceloop/jest-opentelemetry/main/img/logo.png\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eJest OpenTelemetry\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cp align=\"center\"\u003eIntegeration tests with 10 lines of code\u003c/p\u003e\n\u003c/p\u003e\n\u003ch4 align=\"center\"\u003e\n    \u003ca href=\"https://traceloop.com/docs/jest-otel/getting-started\"\u003e\u003cstrong\u003eGet started »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n  \u003ca href=\"https://join.slack.com/t/traceloopcommunity/shared_invite/zt-1plpfpm6r-zOHKI028VkpcWdobX65C~g\"\u003eSlack\u003c/a\u003e |\n  \u003ca href=\"https://traceloop.com/docs/jest-otel/introduction\"\u003eDocs\u003c/a\u003e |\n  \u003ca href=\"https://traceloop.com/docs/jest-otel/syntax/overview\"\u003eExamples\u003c/a\u003e |\n  \u003ca href=\"https://www.traceloop.com\"\u003eWebsite\u003c/a\u003e\n\u003c/h4\u003e\n\n\u003ch4 align=\"center\"\u003e\n   \u003ca href=\"https://github.com/traceloop/jest-opentelemetry/blob/main/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-Apache 2.0-blue.svg\" alt=\"Jest OpenTelemetry is released under the Apache-2.0 License\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.ycombinator.com/companies/traceloop\"\u003e\u003cimg src=\"https://img.shields.io/website?color=%23f26522\u0026down_message=Y%20Combinator\u0026label=Backed\u0026logo=ycombinator\u0026style=flat-square\u0026up_message=Y%20Combinator\u0026url=https%3A%2F%2Fwww.ycombinator.com\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/traceloop/jest-opentelemetry/blob/main/CONTRIBUTING.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-Welcome-brightgreen\" alt=\"PRs welcome!\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/traceloop/jest-opentelemetry/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/commit-activity/m/traceloop/jest-opentelemetry\" alt=\"git commit activity\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://join.slack.com/t/traceloopcommunity/shared_invite/zt-1plpfpm6r-zOHKI028VkpcWdobX65C~g\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/chat-on%20Slack-blueviolet\" alt=\"Slack community channel\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/traceloopdev\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/follow-%40traceloopdev-1DA1F2?logo=twitter\u0026style=social\" alt=\"Traceloop Twitter\" /\u003e\n  \u003c/a\u003e\n\u003c/h4\u003e\n\nJest OpenTelemetry allows you to write, build and run integration tests based on OpenTelemetry traces with [Jest-like](https://jestjs.io/) syntax. You can:\n\n- 🕵️ Test any side-effect in your system: an email was sent, a database was updated, a BI event was reported, etc.\n- 👩‍💻 Run your tests and connect to a local or remote test environment.\n\nAll with just a few lines of code.\n\nIt's built and maintained by Traceloop under the Apache 2.0 license.\n\n## 🚀 Getting Started\n\n```js\nnpm i --save-dev @traceloop/jest-opentelemetry\n```\n\nThen, you can start testing your microservices:\n\n```js\nconst traceloop = new TraceLoop();\n\nawait traceloop.axiosInstance.post('http://my.awesome.website/orders/create');\nawait traceloop.fetchTraces();\n\nexpectTrace(traceloop.serviceByName('emails-service'))\n  .toReceiveHttpRequest()\n  .ofMethod('POST')\n  .withBody({ emailTemplate: 'orderCreated', itemId: '123' });\n```\n\nMore info can be found in our [docs](https://traceloop.com/docs/jest-otel/getting-started).\n\n## What can you test?\n\nJest OpenTelemetry can be used to test anything that's happening in your system.\nWe're constantly adding more, and you're welcome to [suggest yours](https://github.com/traceloop/jest-opentelemetry/issues).\n\n### Service Assertions\n\n- [x] [REST](http://traceloop.com/docs/jest-otel/syntax/services-rest)\n- [ ] GraphQL\n- [x] [GRPC](http://traceloop.com/docs/jest-otel/syntax/services-grpc)\n\n### Database Assertions\n\n- [x] [PostgreSQL](http://traceloop.com/docs/jest-otel/syntax/db-pg)\n- [ ] MongoDB\n- [x] [Redis](http://traceloop.com/docs/jest-otel/syntax/db-redis)\n- [ ] S3\n\n### Analytics Reporting Assertions\n\n- [ ] Segment\n- [ ] Snowflake\n- [ ] BigQuery\n- [ ] Posthog\n\n### External Systems Assertions\n\n- [ ] SendGrid\n- [ ] Stripe\n\n## 🌱 Contributing\n\nWhether it's big or small, we love contributions ❤️ Check out our guide to see how to [get started](https://traceloop.com/docs/contributing/overview).\n\nNot sure where to get started? You can:\n\n- [Book a free pairing session with one of our teammates](mailto:nir@traceloop.com?subject=Pairing%20session\u0026body=I'd%20like%20to%20do%20a%20pairing%20session!)!\n- Join our \u003ca href=\"https://join.slack.com/t/traceloopcommunity/shared_invite/zt-1plpfpm6r-zOHKI028VkpcWdobX65C~g\"\u003eSlack\u003c/a\u003e, and ask us any questions there.\n\n## 💚 Community \u0026 Support\n\n- [Slack](https://join.slack.com/t/traceloopcommunity/shared_invite/zt-1plpfpm6r-zOHKI028VkpcWdobX65C~g) (For live discussion with the community and the Traceloop team)\n- [GitHub Discussions](https://github.com/traceloop/jest-opentelemetry/discussions) (For help with building and deeper conversations about features)\n- [GitHub Issues](https://github.com/traceloop/jest-opentelemetry/issues) (For any bugs and errors you encounter using Jest OpenTelemetry)\n- [Twitter](https://twitter.com/traceloopdev) (Get news fast)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftraceloop%2Fjest-opentelemetry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftraceloop%2Fjest-opentelemetry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftraceloop%2Fjest-opentelemetry/lists"}