Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

ML-028 — Container Integration Tests

Open
#52 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
52/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
docker, fastapi, python

Research direction

Start by locating the Docker image definition, serving entry point, and existing unit and integration tests; use the /health endpoint as the readiness check. Build and run the image, verify configuration and an inference request from outside the container, exercise invalid configuration, and confirm cleanup after failures; then run the full test suite, MyPy, and Ruff.

Written by the indexing model from the issue text.

Description

ML-028 — Container Integration Tests

Goal

Add automated verification for the containerized ML serving application so that Docker-related changes cannot silently break the inference service.

Background

Unit and application integration tests verify Python behavior but do not guarantee that the final Docker image can actually build and run.

Container-level tests should validate the deployable artifact itself.

Requirements

Tests should verify:

  • Docker image builds successfully.
  • Container starts successfully.
  • Application becomes ready.
  • Health endpoint is reachable.
  • Runtime configuration reaches the application.
  • Serving API behaves correctly from outside the container.
  • Container can terminate cleanly.

Tasks

  • Define a repeatable container test workflow.
  • Build the ML Platform image during container testing.
  • Start a test container.
  • Map the serving port.
  • Wait for application readiness instead of relying on arbitrary sleep times where possible.
  • Call /health.
  • Verify successful HTTP response.
  • Verify runtime environment overrides.
  • Add a prediction/inference smoke test where practical.
  • Verify expected behavior for invalid configuration.
  • Stop and remove test containers.
  • Ensure cleanup occurs after failed tests.
  • Document how to execute container tests locally.

Acceptance Criteria

  • Automated workflow detects Docker build failures.
  • Automated workflow detects application startup failures.
  • /health is tested against the running container.
  • Runtime configuration is verified.
  • Tests do not leave containers running after completion.
  • Tests do not leave unnecessary temporary resources.
  • Existing unit and integration tests continue to pass.

Test Boundary

Container tests should complement, rather than duplicate, existing tests:

Unit Tests
    ↓
Python components

Integration Tests
    ↓
Serving components + FastAPI

Container Tests
    ↓
Docker Image
    ↓
Running Container
    ↓
FastAPI / Serving Layer

Definition of Done

  • Container test workflow implemented.
  • Image build tested.
  • Container startup tested.
  • Health endpoint tested.
  • Runtime configuration tested.
  • Cleanup behavior verified.
  • Full test suite passes.
  • MyPy passes.
  • Ruff passes.
Dominant language
Python
Stars
1
Forks
0
Avg merge
7m
Merged PRs (30d)
3

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Emil57/ml-platform

All issues in Emil57/ml-platform

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.