SmartMock.io is a hosted service virtualization solution. We call this model Mock-As-A-Service.
It provides tools for you to set up, manage, and troubleshoot your HTTP protocol API mocks in the cloud. This frees you up to focus on the logic of your mocks and not have to think about boilerplate code, infrastructure, hosting, and hardware maintenance. Changes made in your mocks are immediately available for mock clients, so you don't have to wait for time-consuming deployments of self-hosted mock services. SmartMock.io supports a broad spectrum of use cases that allow the mocking of not only simple, static services but also sophisticated, stateful ones.
During recent decades, first SOA and later microservices architectures introduced a paradigm that stated distributed systems should be more fine-grained, shifting from heavy monolithic components towards small, specialized, and self-contained applications.
This shift had many advantages, technologically and from an organizational point of view. It also introduced some headaches. One headache is testing. Distributed system have more integration points than huge, monolithic components. Also, the type of development and availability of various parts in a microservice solution may vary.
Developers frequently need to wait for APIs to be implemented or rely on documentation only. They often need self-made dummy services that simulate integration with a live system. This may reduce delivery speed because these dummy services need to be implemented, tested, and deployed, and require troubleshooting. They also need separate CI/CD pipelines and a dedicated infrastructure.
SmartMock.io targets these pain points, helping you quickly and easily to create mocks of web services and host them in the cloud.
Outsourcing mocks hosting to SmartMock.io reduces your team's efforts dedicated to simulating integration points, allowing it to focus on business logic without worrying about availability, deployments, CI/CD pipelines, and infrastructure. Using SmartMock.io enables developers to start integrating third-party APIs faster even if these APIs are not yet implemented or their availability is reduced. Integration testing may be performed more thoroughly since it's easy to implement corner case behaviors, including long response times, unknown errors, or invalid payloads.
Use SmartMock.io to simulate server-to-server interactions in non-production systems during integration or acceptance tests, or demos.
Use SmartMock.io to simulate backend responses while developing frontend code, during tests or demos.
Enable the team to start development even if a third-party API is not ready yet. Test ideas for new APIs before implementation begins and receive feedback from consumers faster.
Check the behavior of services in extreme conditions, like long response times, timeouts, internal server errors, or unexpected payloads.
Test third-party service integrations with many different outputs (variations of valid outputs, errors, unexpected outputs, timeouts). Reproduce production issues so developers can easily test their fixes.
Check the behavior of services under heavy loads without the need to reach live third-party APIs which may not be capable of handling high traffic.
How many times have you contacted third-party applications asking for the status of their test environment because your acceptance tests failed? Use SmartMock.io for service virtualization to get accurate test results checking the behavior of your system and not the whole neighborhood.
You don’t have to wait for a third-party API to be implemented, tested, and deployed. Just grab its documentation in Open API 3.0 or Swagger format, use import feature of SmartMock.io, tune the outputs, and start consuming the virtualized service.
Creating, maintaining, and troubleshooting self-hosted mocking solutions often consumes a considerable amount of time and effort. Every mocked API is different, and its unique logic must be implemented differently. We believe this is the only mock-related thing you should care about: implementing that logic with SmartMock.io using Static, Template, or Dynamic mocks. You focus on the production code. We’ll handle the rest.
Mocks may be shared with your teammates or business partners. They may modify and create mocks assigned to your account. Your business partners can set up mocks so you can test integration with their systems. You can also create mocks for your business partners to consume while you are still testing your application.
Workspaces are isolated containers for your mocks. Each workspace has a unique URL assigned (you choose the subdomain name). You can create a workspace for each API and environment you are mocking to simplify mock management and maintenance.
Use SmartMock.io and Open API description to allow consumers to test your API design before its implementation. Receive feedback from API consumers faster.
It’s important to test how your services behave in unfavorable or extreme conditions, like errors, timeouts, or unexpected responses being returned by the third-party services you integrate with. Verify how your services react to heavy loads without the need to reach live third-party APIs which might not be capable of handling high traffic or require scheduling for testing. SmartMock.io matching rules let you return various outputs depending on request field content (method, body, headers, query parameters, cookies).
We’ve all experienced it. You prepared your demo carefully and you expected to impress the audience, but during the demo one of the service providers failed. It’s embarrassing. Mock third-party dependencies with SmartMock.io and make your demos smooth and impressive.