Test-Driven Development for Networks
In the previous chapters, we used Python to communicate with network devices, monitor and secure a network, automate processes, and extend an on-premises network to public cloud providers. We have come a long way from having to exclusively use a terminal window and manage the network with a CLI. When working together, the services we have built function like a well-oiled machine that gives us a beautiful, automated, programmable network. However, the network is never static and is constantly changing to meet the demands of the business. What happens when the services we build are not working optimally? As we have done with monitoring and source control systems, we are actively trying to detect faults.
In this chapter, we are extending the active detection concept with test-driven development (TDD). We will cover the following topics:
- An overview of TDD
- Topology as code
- Writing tests for networking
- pyATS and Genie...