This project is not covered by Drupal’s security advisory policy.

Smoke Test provides a fast, automated way to verify that your site is working immediately after a deployment. Instead of requiring a hand-written list of URLs, it reads your sitemap.xml and samples pages across all content types automatically.

Each URL is tested over real HTTP—both anonymously and as a logged-in user. It uses cache-bypassing headers so a warm CDN or reverse-proxy cache cannot mask a broken backend behind a false "200 OK". Results are stored, compared against the previous run, and displayed in a simple dashboard to flag regressions instantly.

Features

  • Sitemap-Driven Discovery: No manual list maintenance. Automatically maps sitemap URLs back to Drupal content types.
  • Smart Sampling: Stratified, deterministic sampling ensures rare content types are tested alongside high-volume ones.
  • Dual-State Checks: Tests pages both anonymously and authenticated via a dedicated, secure, low-privilege runner account.
  • Cache Bypassing: Sends cache-busting headers to force live application checks (includes Varnish VCL examples).
  • Regression Tracking: Diffs every run against the last to isolate "new failures" from "known issues", complete with a side-by-side comparison view.
  • UI & CLI Support: Trigger manually with an interactive Batch API progress bar at /admin/smoke-test, or via drush smoke:run (with JSON output) in CI/CD pipelines.

Post-Installation

Enabling the module automatically creates a read-only runner role and passwordless user account.

  1. Configure: Go to /admin/smoke-test/settings to set timeouts, limits (max 200 URLs), and content types.
  2. Execute: Run tests via the UI at /admin/smoke-test or use drush smoke:run.
  3. Review: Inspect per-URL results, compare historical runs, and mute known issues.

Note: This module does not alter content types or site structure. It only adds admin routes, two history tables, and the runner user/role.

Additional Requirements

  • Drupal 10 or 11
  • PHP 8.3+
  • Drush 12+ (for CLI/CI use)
  • Core dependencies only (System, User, Node, Path Alias)
  • Sitemap Module: Requires an active sitemap provider (e.g., Simple XML Sitemap) for URL discovery.
  • Edge Cache Configuration: Add the recommended VCL snippet to your CDN/Varnish setup to allow the cache-bypass header through.

Similar projects

  • External Synthetic Monitoring (Pingdom, UptimeRobot): These check fixed, manually configured lists. Smoke Test discovers content dynamically and hooks right into Drush deployment workflows.
  • Monitoring Module: Focuses on operational metrics (cron, queues) rather than testing live page rendering post-deploy.

Community Documentation

Check the included README.md for deep-dive configuration, CI/CD pipeline snippets, and Drush usage examples.

Supporting organizations:

Project information

  • caution Minimally maintained
    Maintainers monitor issues, but fast responses are not guaranteed.
  • caution Maintenance fixes only
    Considered feature-complete by its maintainers.
  • Project categories: Administration tools, Automation, Developer tools
  • Created by georgebrook on , updated
  • shield alertThis project is not covered by the security advisory policy.
    Use at your own risk! It may have publicly disclosed vulnerabilities.

Releases