Problem/Motivation

On the Varbase Project Template 10.1.x (Drupal ~11.4), running ddev init-full-automated-testing to bootstrap the Varbase functional testing suite (webship-js: Playwright + Cucumber-js) never creates any of the per-role testing users.

Root cause: inside the DDEV web container, sibling ddev web commands are not on PATH. The script calls the users-provisioning script as a bare command, add-testing-users, instead of by path. That resolves to nothing (which add-testing-users → not found), and the call is guarded with || true, so it fails silently. None of the per-role testing users (Editor/Content admin/SEO admin/Site admin/Super admin) are ever created, so the Varbase functional testing suite — which logs in as those roles — cannot run.

Steps to reproduce

  1. ddev start
  2. ddev drush sql:drop -y
  3. ddev init-full-automated-testing
  4. No testing users exist after init.

Proposed resolution

  • .ddev/commands/web/init-full-automated-testing: call the users-provisioning script by its absolute container path instead of a bare command name, e.g. bash "/var/www/html/.ddev/commands/web/add-testing-users" || true, so it actually resolves and runs.

Related: an earlier version of this issue also reported init-full-automated-testing aborting on a non-fatal oEmbed fetch during drush site:install. That was root-caused to the dead Vimeo demo video shipped by varbase_media_demo, and has been fixed and released separately in varbase_media_demo 10.1.1 (issues #3608459 and #3609161). With that fix released, the init script needs no oEmbed handling — set -e fail-fast is correct as-is — so it is intentionally not part of this issue.

Remaining tasks

  • ✅ File an issue about this project
  • ✅ Addition/Change/Update/Fix to this project
  • ✅ Testing to ensure no regression
  • ➖ Automated unit/functional testing coverage
  • ➖ Developer Documentation support on feature change/addition
  • ➖ User Guide Documentation support on feature change/addition
  • ➖ UX/UI designer responsibilities
  • ➖ Accessibility and Readability
  • ❌ Reviewed by a human
  • ❌ Code review by maintainers
  • ❌ Full testing and approval
  • ❌ Credit contributors
  • ❌ Review with the product owner
  • ✅ Update Release Notes
  • ✅ Release varbase_project-10.1.2

User interface changes

  • N/A

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • ddev init-full-automated-testing now correctly provisions the per-role testing users on varbase_project 10.1.x.
Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

rajab natshah created an issue. See original summary.

rajab natshah’s picture

Title: fix: ddev init-full-automated-testing aborts on non-fatal oEmbed and skips testing users; provision Playwright for the webship-js suite » fix: ddev init-full-automated-testing aborts on non-fatal oEmbed and skips testing users
Issue summary: View changes
rajab natshah’s picture

Issue summary: View changes
rajab natshah’s picture

Title: fix: ddev init-full-automated-testing aborts on non-fatal oEmbed and skips testing users » fix: ddev init-full-automated-testing skips the testing users (add-testing-users not on the container PATH)
Issue summary: View changes

  • rajab natshah committed 7f6e07de on 10.1.x
    fix: #3611208 ddev init-full-automated-testing skips the testing users (...
rajab natshah’s picture

Assigned: Unassigned » josebc
Issue summary: View changes
Status: Active » Needs review
Issue tags: +varbase_project-10.1.2
rajab natshah’s picture

Assigned: josebc » mohammed j. razem
rajab natshah’s picture

Assigned: mohammed j. razem » Unassigned
Status: Needs review » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.