Complete Course

API Testing with Bruno

Test a real REST API without writing a framework: build a git-versioned Bruno collection that creates, reads, updates, and deletes behind a login, with environments, data-driven runs, and a CLI that gates your pipeline.

~4 hours of content

Course Content

15 comprehensive lessons covering everything you need to know

Introduction

Introduction
Course Structure
Learn how the course is organized and make the most of the content.
Introduction
Prerequisites
Systems and knowledge required to complete the course.
Introduction
Getting to know the application under test
Learn about the Emoji API that you will test throughout the course.
Lesson
Lesson 1
Fork, clone, and create your Bruno collection
Fork and clone the repository, start the Emoji API, and create a collection that lives in git.

Reading data

Lesson
Lesson 2
Your first request
Send a GET request, read the response, and check it with declarative assertions.
Lesson
Lesson 3
Environments and variables
Stop hard-coding the host, and learn which variable wins when two share a name.
Lesson
Lesson 4
Test scripts
Check every item of a response with Chai, and know when a script earns its place.
Lesson
Lesson 5
Pagination and filters
Test page, limit, category, and search, without letting an empty response pass.

Creating, updating, and deleting

Lesson
Lesson 6
Authentication
Log in, keep the password out of git, and send a bearer token with every write.
Lesson
Lesson 7
Creating emojis
Send a POST with a JSON body, check the 201, and keep the new id for later.
Lesson
Lesson 8
Updating emojis
Replace an emoji with PUT, change one field with PATCH, and tell the two apart.
Lesson
Lesson 9
Deleting emojis
Delete an emoji, prove it is gone, and clean up after your own tests.
Lesson
Lesson 10
Chaining requests
Run a whole create, read, update, and delete lifecycle in order, as often as you like.

Beyond the happy path

Lesson
Lesson 11
Error scenarios
Cover the 400, 401, 404, and 409 cases in a folder, with a shared check written once.
Lesson
Lesson 12
Data-driven requests
Throw many inputs at the emoji rule from CSV files with the Bruno CLI.
Lesson
Lesson 13
Schema validation
Validate the shape of every emoji against a JSON Schema in one check.

Running from the command line and CI

Lesson
Lesson 14
The Bruno CLI
Run the collection from the terminal, with tags, reports, and an exit code CI can read.
Lesson
Lesson 15
Running the collection on GitHub Actions
Start the API in the job, pass the password as a secret, and let a failing check turn the build red.

Bonus & Conclusion

Bonus
Bonus: Migrating from Postman
Import a Postman collection and environment, and review what needs rework.
Bonus
Bonus: Bruno with AI
Draft and review requests with an AI assistant, and verify everything it writes.
Conclusion
Congratulations!
You've completed the API Testing with Bruno course!