Skip to Content
Python for DevOps
book

Python for DevOps

by Noah Gift, Kennedy Behrman, Alfredo Deza, Grig Gheorghiu
December 2019
Intermediate to advanced
506 pages
11h 55m
English
O'Reilly Media, Inc.
Book available
Content preview from Python for DevOps

Chapter 8. Pytest for DevOps

Continuous integration, continuous delivery, deployments, and any pipeline workflow in general with some thought put into it will be filled with validation. This validation can happen at every step of the way and when achieving important objectives.

For example, if in the middle of a long list of steps to produce a deployment, a curl command is called to get an all-important file, do you think the build should continue if it fails? Probably not! curl has a flag that can be used to produce a nonzero exit status (--fail) if an HTTP error happens. That simple flag usage is a form of validation: ensure that the request succeeded, otherwise fail the build step. The key word is to ensure that something succeeded, and that is at the core of this chapter: validation and testing strategies that can help you build better infrastructure.

Thinking about validation becomes all the more satisfying when Python gets in the mix, harnessing testing frameworks like pytest to handle the verification of systems.

This chapter reviews some of the basics associated with testing in Python using the phenomenal pytest framework, then dives into some advanced features of the framework, and finally goes into detail about the TestInfra project, a plug-in to pytest that can do system verification.

Testing Superpowers with pytest

We can’t say enough good things about the pytest framework. Created by Holger Krekel, it is now maintained by quite a few people that do an incredible ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Practical Python for DevOps Engineers LiveLessons

Practical Python for DevOps Engineers LiveLessons

Chris Jackson

Publisher Resources

ISBN: 9781492057680Errata PageSupplemental Content