{"id":19453273,"url":"https://github.com/hantuzun/jetman","last_synced_at":"2025-04-25T04:30:47.904Z","repository":{"id":57280577,"uuid":"59385468","full_name":"hantuzun/jetman","owner":"hantuzun","description":"A better tool for testing APIs","archived":false,"fork":false,"pushed_at":"2018-03-27T21:33:12.000Z","size":73,"stargazers_count":26,"open_issues_count":5,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-11T05:47:35.331Z","etag":null,"topics":["api-test","api-testing","javascript-library","jetman-test","npm","postman","postman-collection","rest-api"],"latest_commit_sha":null,"homepage":"https://npmjs.com/package/jetman","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hantuzun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-21T23:10:31.000Z","updated_at":"2023-08-14T19:37:56.000Z","dependencies_parsed_at":"2022-09-19T17:14:09.853Z","dependency_job_id":null,"html_url":"https://github.com/hantuzun/jetman","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantuzun%2Fjetman","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantuzun%2Fjetman/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantuzun%2Fjetman/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hantuzun%2Fjetman/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hantuzun","download_url":"https://codeload.github.com/hantuzun/jetman/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250754586,"owners_count":21481838,"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-test","api-testing","javascript-library","jetman-test","npm","postman","postman-collection","rest-api"],"created_at":"2024-11-10T17:03:20.379Z","updated_at":"2025-04-25T04:30:47.193Z","avatar_url":"https://github.com/hantuzun.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://npmjs.com/package/jetman\"\u003e\n    \u003cimg alt=\"Jetman\" src=\"https://cloud.githubusercontent.com/assets/2770895/15573377/7d6b318a-22fb-11e6-9de6-743608466c14.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\", style=\"color:red;\"\u003e\n  \u003cb\u003eA better tool for testing APIs\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://npmjs.org/package/jetman\"\u003e\u003cimg alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/jetman.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://travis-ci.org/hantuzun/jetman\"\u003e\u003cimg alt=\"Build Status\" src=\"https://travis-ci.org/hantuzun/jetman.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://david-dm.org/hantuzun/jetman\"\u003e\u003cimg alt=\"Dependencies\" src=\"https://img.shields.io/david/hantuzun/jetman.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"http://standardjs.com/\"\u003e\u003cimg alt=\"JavaScript Standard Style\" src=\"https://img.shields.io/badge/code%20style-standard-brightgreen.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://gitter.im/hantuzun/jetman?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\"\u003e\u003cimg alt=\"Gitter\" src=\"https://badges.gitter.im/hantuzun/jetman.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"http://doge.mit-license.org\"\u003e\u003cimg alt=\"License\" src=\"http://img.shields.io/:license-mit-blue.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n------------------------------------------------------------------------------------------------------------------------\n\n## Why?\nJetman aspires to be the best tool for testing APIs.\n\n[Postman](https://www.getpostman.com), [Runscope](https://www.runscope.com/) or [SoapUI](https://www.soapui.org/) are nice tools for testing APIs; however, their tests can only be created from their graphical user interfaces. Writing and maintaining tests on these GUIs is a pain compared to text editors. Moreover, these tests cannot be secured and shared under version control systems or cannot be debugged easily.\n\nWith Jetman you can write your API tests in JavaScripts files and solve all these problems. Jetman can also execute your tests or save them as Postman collections.\n\n\n\n## How to Use Jetman?\n * Create a node project for testing your API and require Jetman: `jetman = require('jetman');`\n * Write your test modules in JavaScript files.\n * Call `jetman.execute(tests)` with your test modules.\n\nHere is a simple application for running one Jetman test:\n\n###### `index.js`\n```js\njetman = require('jetman');\nvar test = require('./test.js');\n\njetman.execute([test]);\n```\n\n\n\n## How to Write Jetman Tests?\nJetman tests are JavaScript files on your test project. They must expose a `run()` function and inside that they should call `jetman.send(request, testFunction)` method to use Postman.\nIn this function `request` is a Postman request object and `testFunction` is an optional test function.\n\nBelow is an example test module:\n\n###### `test.js`\n```js\nvar request =  {\n  'name': 'Root endpoint works',\n  'method': 'GET',\n  'url': 'localhost:9090'\n}\n\nfunction test() {\n  tests['Status code is 200'] = responseCode.code === 200;\n  tests['Response time is less than 500ms'] = responseTime \u003c 500;\n}\n\nexports.run = function () {\n  jetman.send(request, test);\n}\n```\n\n\n\n## Example Project\nAn example API test project using Jetman is at: [github.com/hantuzun/jetman-example](https://github.com/hantuzun/jetman-example).\n\n\n\n## Documentation\nJetman can execute tests with options and callback. It can also save your tests as Postman collections.\n\nFor full documentation refer to [docs](docs).\n\n\n\n## Development\nClone the repo and install dependencies with `npm install`.\nIt's recommended to use Jetman from another module with tests.\n\nWrite to us on our [Jetman Gitter Chat Room](https://gitter.im/hantuzun/jetman)!\n\n\n\n## Testing\nRun `npm test`. This command runs unit tests and tests the project for [JavaScript Standard Style](http://standardjs.com/) compatibility.\n\n\n\n## License\n[MIT](LICENSE)\n\n[![forthebadge](http://forthebadge.com/images/badges/built-with-love.svg)](http://forthebadge.com)\n\n[![Analytics](https://ga-beacon.appspot.com/UA-78341852-1/chromeskel_a/readme?pixel)](http://hantuzun.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhantuzun%2Fjetman","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhantuzun%2Fjetman","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhantuzun%2Fjetman/lists"}