BACK TO PROJECTS

TESTING / PYTHON

Network Service Test Framework.

Repeatable TCP checks with useful evidence when a connection or response fails.

PythonpytestTCP socketsYAMLJSONGitHub Actions Code
34automated tests
31 unit · 3 integration tests

A REAL EXAMPLE

What happens

Set a host, port and expected response in YAML. A local PING/PONG exchange passes; a wrong response or timeout keeps enough detail to see what failed.

Why I made it

I wanted the same service check to work for different hosts and ports without rewriting test code. I also wanted failures to say what happened, rather than just return false.

How it works

YAML test dataValidatorTCP clientResponse checksReport
  • YAML definitions for service targets and expected responses.
  • TCP connection and response checks that record timing, outcomes and expected-versus-actual data.
  • Structured JSON logging and HTML/JSON diagnostic reports.

Choices I made

  • I separated service data from the check logic, so the same runner handles new targets.
  • The integration tests use a local TCP server. They can run without relying on an external service staying online.

What I checked

  • 34 tests: 31 unit and 3 integration.
  • Scenarios include invalid config, unavailable services, response mismatches, undecodable responses and timeouts.

Where it stands

  • It measures connection and response latency; it is not a load test.
  • It runs against configured services locally or in CI, rather than as a hosted app.
Next: Log Anomaly Detector