Name
Jacob Bolda
GitHub Handle
@jbolda
Tell us about yourself
I was a licensed structural engineer turned software engineer. Bringing that structural thinking (pun intended), I have worked with multiple companies in large migrations while still shipping features. At @thefrontside, I work with clients to architect, lead and ship software primarily with TypeScript. At the core, we rely on testing. Most recently, our test running has relied heavily on Playwright. It allows us to add guardrails to ship efficiently and confidently.
These tests, for multiple clients now, are built on the foundation of "simulators". We have described these as mocks on steroids. We make a version of an API, with in-memory, generated data, and handle responses as similar to production as possible. No special testing code paths. Making these highly maintainable is a priority to benefit from their value. The simulator can then be used for local development and in tests, including running in CI, to sit alongside the real API. It becomes easier to test all of the negative cases, failure conditions, and permissions when you have full control.
The GitHub API Simulator is an extension on this foundation. It mimics the critical routes with highly relevant data that we have needed for clients. It currently handles every route as defined in the OpenAPI schema using the example responses defined there for less critical routes. We have used it to test complex queries and workflows in client applications, both closed-source and open source.
Project Name
GitHub API Simulator
Project Repo Link
https://github.com/thefrontside/simulacrum/tree/main/packages/github-api
Stream Date
Dates
No response
Twitter URL
@jacobbolda
Bluesky URL
@jacobbolda.com
LinkedIn URL
https://www.linkedin.com/in/bolda/
Additional Information
This is build on top of the @simulacrum/foundation-simulator which sets up a handful of defaults and helper functions. We have built other simulators on top of this base such as a simulator for auth0 which is also in this same monorepo.
Name
Jacob Bolda
GitHub Handle
@jbolda
Tell us about yourself
I was a licensed structural engineer turned software engineer. Bringing that structural thinking (pun intended), I have worked with multiple companies in large migrations while still shipping features. At @thefrontside, I work with clients to architect, lead and ship software primarily with TypeScript. At the core, we rely on testing. Most recently, our test running has relied heavily on Playwright. It allows us to add guardrails to ship efficiently and confidently.
These tests, for multiple clients now, are built on the foundation of "simulators". We have described these as mocks on steroids. We make a version of an API, with in-memory, generated data, and handle responses as similar to production as possible. No special testing code paths. Making these highly maintainable is a priority to benefit from their value. The simulator can then be used for local development and in tests, including running in CI, to sit alongside the real API. It becomes easier to test all of the negative cases, failure conditions, and permissions when you have full control.
The GitHub API Simulator is an extension on this foundation. It mimics the critical routes with highly relevant data that we have needed for clients. It currently handles every route as defined in the OpenAPI schema using the example responses defined there for less critical routes. We have used it to test complex queries and workflows in client applications, both closed-source and open source.
Project Name
GitHub API Simulator
Project Repo Link
https://github.com/thefrontside/simulacrum/tree/main/packages/github-api
Stream Date
Dates
No response
Twitter URL
@jacobbolda
Bluesky URL
@jacobbolda.com
LinkedIn URL
https://www.linkedin.com/in/bolda/
Additional Information
This is build on top of the
@simulacrum/foundation-simulatorwhich sets up a handful of defaults and helper functions. We have built other simulators on top of this base such as a simulator forauth0which is also in this same monorepo.