Blog
Mert Özen's blog posts on software development, backend, frontend, and DevOps.
A Map of API Testing Tools: Choosing Between curl, .http Files, Postman, Bruno and OpenAPI UIs
The real question when choosing a tool is where the request definitions live: .http files and Bruno collections in the repo change in the same pull request as the API code, while a cloud collection falls behind. We add login and JWT to Bookstore.Api, run the shared scenario with curl, put the Bearer scheme into the OpenAPI document, and compare Scalar's role, Postman's single-user free plan since March 2026 and Bruno's editions.
A Git-friendly API Client: Keeping Collections in the Repo with Bruno, OpenCollection YAML and Running Them in CI with the CLI
Keeping a Bruno collection in the repo as OpenCollection YAML files and running it in GitHub Actions with the Bruno CLI turns request changes into readable diffs in code review. A collection with inherited auth for Bookstore, OpenAPI and Postman import (pm.variables.get mistranslated to bru.getVar), secrets via .env, assertions and test scripts, JUnit/HTML reports, the CLI exiting with 2 without a report folder, and a run that silently skips a .bru file in a YAML collection.