End-to-end API testing with Arazzo, TypeScript, and Deno
Blog post from Speakeasy
Arazzo is a specification designed to enhance end-to-end API testing by allowing developers to define workflows that mimic real user interactions, thereby going beyond individual endpoint testing. The tutorial demonstrates how to create a test generator that converts Arazzo specifications into executable tests using a TypeScript and Deno environment, specifically focusing on a demo API called Build-a-bot. Arazzo serves as a complement to OpenAPI by detailing the sequence in which API calls should be made to achieve specific outcomes, thus enabling comprehensive validation of entire user workflows rather than isolated endpoints. The tutorial covers parsing Arazzo and OpenAPI specifications, generating tests that validate complex workflows through runtime expressions, JSONPath, and regex criteria, and emphasizes the importance of handling authentication and security aspects in API testing. Future developments include using SDKs for more idiomatic API interactions and hardening parsers against vulnerabilities, with ongoing efforts to integrate Arazzo support into Speakeasy's API testing tools.