{"id":13610921,"url":"https://github.com/bbyars/mountebank","last_synced_at":"2025-04-13T01:33:31.918Z","repository":{"id":11437710,"uuid":"13893582","full_name":"bbyars/mountebank","owner":"bbyars","description":"Over the wire test doubles","archived":false,"fork":false,"pushed_at":"2024-05-03T20:12:41.000Z","size":54510,"stargazers_count":1974,"open_issues_count":74,"forks_count":258,"subscribers_count":56,"default_branch":"master","last_synced_at":"2024-05-03T21:29:59.925Z","etag":null,"topics":["microservices-testing","mocking","mountebank","service-virtualization","stubbing","test-automation","test-framework","testing"],"latest_commit_sha":null,"homepage":"http://www.mbtest.org","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/bbyars.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-10-27T00:48:22.000Z","updated_at":"2024-05-03T21:30:04.135Z","dependencies_parsed_at":"2024-01-13T10:41:52.828Z","dependency_job_id":"c2982645-4159-4026-93ea-ea167135b904","html_url":"https://github.com/bbyars/mountebank","commit_stats":{"total_commits":3196,"total_committers":106,"mean_commits":"30.150943396226417","dds":"0.14048811013767204","last_synced_commit":"37ca505fc1019187e522c19c35215e3b172fa7d0"},"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbyars%2Fmountebank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbyars%2Fmountebank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbyars%2Fmountebank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bbyars%2Fmountebank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bbyars","download_url":"https://codeload.github.com/bbyars/mountebank/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223545870,"owners_count":17163032,"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":["microservices-testing","mocking","mountebank","service-virtualization","stubbing","test-automation","test-framework","testing"],"created_at":"2024-08-01T19:01:49.460Z","updated_at":"2025-04-13T01:33:31.901Z","avatar_url":"https://github.com/bbyars.png","language":"JavaScript","readme":"# bbyars/mountebank is no longer maintained\n\nUnfortunately, there are no easy exit ramps for hobbyist open source. I've greatly enjoyed building and maintaining mountebank, but after a decade, I find myself no longer having the energy or passion to continue to do so on nights, weekends, and holidays. Handing someone else that responsibility for a 10-year-old code base that they did not write is... challenging.\n\nPlease fork at will, and thank you for being part of the community.\n\n# Welcome, friend\n\nmountebank is the only open source service virtualization tool that competes with the commercial offerings\nin terms of protocol diversity, capability, and performance. Here's what\n[Capital One wrote](https://medium.com/capital-one-tech/moving-one-of-capital-ones-largest-customer-facing-apps-to-aws-668d797af6fc)\nabout their mobile cloud migration (emphasis theirs):\n\n\u003eIn fact, halfway through we discovered our corporate mocking software couldn’t handle the\n\u003esheer amount of performance testing we were running as part of this effort (_we completely crushed\n\u003esome pretty industrial enterprise software in the process_). As a result, we made the call to move\n\u003ethe entire program over to a Mountebank OSS-based solution with a custom provision to give us the ability\n\u003eto expand/shrink our mocking needs on demand.\n\nAt the moment, the following protocols are implemented, either directly in the tool or as a community extension:\n* http\n* https\n* tcp (text and binary)\n* smtp\n* ldap\n* grpc\n* websockets\n* graphql\n* snmp\n* telnet\n* ssh\n* netconf\n\nmountebank supports mock verification, stubbing with advanced predicates, JavaScript injection,\nand record-playback through proxying.\n\n![how it works](https://github.com/bbyars/mountebank/blob/master/src/public/images/overview.gif?raw=true)\n\nSee [getting started](http://localhost:2525/docs/gettingStarted) guide for more information once you have it running locally.\n\n## Install and Run\n\nInstall:\n\n    npm install -g mountebank\n\nRun:\n\n    mb\n\nThere are a number of [command line options](http://localhost:2525/docs/commandLine) if you need\nto customize mountebank.\n\nAll pre-release versions of mountebank are available with the `beta` [npm tag](https://www.npmjs.com/package/mountebank).\nNo `beta` version is published unless it has passed all tests.\n\n## Learn More\n\nAfter installing and running, view the docs in your browser at \u003chttp://localhost:2525\u003e.\n\nYou can always learn more and support mountebank development by buying the book:\n\n[![Testing Microservices with Mountebank](https://github.com/bbyars/mountebank/blob/master/src/public/images/book.jpg)](https://www.manning.com/books/testing-microservices-with-mountebank?a_aid=mb\u0026a_bid=ee3288f4)\n\n## Building\n\nThere are two packages: mountebank itself, and a test package called mbTest (which houses all\nout-of-process tests against mountebank). First ensure all dependencies are installed for both packages:\n\n    npm install\n\nThen, run all tests:\n\n    npm test\n\nSeveral other test configurations exist. You can see the CI pipeline in .circleci/config.yml.\n\nThere are some tests that require network access.\nA few of these tests verify the correct behavior under DNS failures.  If your ISP\nis kind enough to hijack the NXDOMAIN DNS response in an attempt to allow you to conveniently peruse their\nadvertising page, those tests will fail.  I suggest that, under such circumstances, you talk to your ISP\nand let them know that their policies are causing mountebank tests to fail. You can also set\nthe environment variable `MB_AIRPLANE_MODE=true`, which will avoid tests requiring your DNS resolver.\n\n[npm-badge]: https://nodei.co/npm/mountebank.png?downloads=true\u0026downloadRank=true\u0026stars=true\n[npm]: https://www.npmjs.com/package/mountebank\n[codeclimate-badge]: https://codeclimate.com/github/bbyars/mountebank/badges/gpa.svg\n[codeclimate]: https://codeclimate.com/github/bbyars/mountebank\n[codeclimate-coverage-badge]: https://codeclimate.com/github/bbyars/mountebank/badges/coverage.svg\n[codeclimate-coverage]: https://codeclimate.com/github/bbyars/mountebank/coverage\n","funding_links":[],"categories":["JavaScript","HTML"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbyars%2Fmountebank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbyars%2Fmountebank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbyars%2Fmountebank/lists"}