Skip to content

Expand the Nextcloud smoke test scenarios #50

Closed as not planned
Closed as not planned

Description

@vitormattos

Goal

Expand the smoke-test suite created by #49 with additional scenarios for essential integrations of the current Nextcloud stack.

#49 creates the test foundation and verifies the minimum case: the stack starts and Nextcloud reaches an installed state.

This issue adds coverage for Redis and the web layer using the same test suite.

Scope

Reuse the test framework, setup, isolation, cleanup, and local test command introduced by #49.

Add two focused scenarios:

  • Nextcloud can reach the configured Redis service;
  • the web layer can reach and serve the running Nextcloud instance.

Do not create another test runner or a separate test environment.

Scenario: Redis integration

Verify that the Redis service used by the current stack is reachable from the running Nextcloud environment.

The test must validate the connection expected by the stack, not only that the Redis container itself is running.

Keep the scenario limited to basic connectivity. Do not test Redis features, performance, or failure recovery.

Scenario: web integration

Access Nextcloud through the web service defined by the current Compose stack.

Verify that the web layer can reach the application and return a valid HTTP response from the running Nextcloud instance.

Keep the scenario at the HTTP/runtime level. Browser automation and application workflows are outside this smoke-test suite.

Test suite reuse

The new scenarios must be part of the same smoke-test suite created by #49.

The same documented local command must run the complete suite.

Reuse shared setup, teardown, readiness, and diagnostic helpers where appropriate.

GitHub Actions is not part of this issue. CI integration will later execute the same test suite.

Isolation and cleanup

Keep the isolation guarantees established by #49.

The tests must not depend on an existing deployment or existing application data.

Resources created by the test suite must be cleaned up safely without removing resources that existed before the test run.

Acceptance criteria

  • One scenario validates Redis connectivity from the running Nextcloud environment.
  • One scenario validates that the web layer can reach and serve the running Nextcloud instance.
  • Both scenarios reuse the test infrastructure from Add runtime acceptance tests for the Nextcloud app image #49.
  • The same local command runs the complete smoke-test suite.
  • Shared test helpers are reused where appropriate.
  • Failures return a non-zero test result with useful output.
  • Existing environments and persistent data are not modified or removed.
  • No GitHub Actions workflow is added as part of this issue.

Good first issue

Keep this focused on extending the existing smoke-test suite with Redis and web integration coverage.

If a scenario requires changing the runtime architecture or testing application behavior, ask for guidance instead of expanding the scope.

Activity

  1. changed the title [-]Run the reusable smoke test in GitHub Actions[/-] [+]Expand the Nextcloud smoke tests and run them in CI[/+] on Sep 13, 2026
  2. changed the title [-]Expand the Nextcloud smoke tests and run them in CI[/-] [+]Expand the Nextcloud smoke test scenarios[/+] on Sep 13, 2026
  3. vitormattos commented on Oct 7, 2026

    @vitormattos
    MemberAuthor

    Closing this issue because its test architecture was coupled to the original scope of #49, which has now been intentionally replaced.

    #49 no longer creates a full-stack Compose smoke-test suite. It now provides an image-focused runtime acceptance gate for the app image. Extending that suite with Redis and the deployment web layer would mix two different contracts again.

    The useful parts should return as separate focused work:

    • web image/runtime integration: validate the web image against a known-good app/FPM runtime;
    • Redis integration: only add a test when we define the specific runtime/configuration contract that needs protection.

    Neither should recreate a second deployment Compose stack. This closure does not mean those integrations are unimportant; it means #50's original dependency on the old #49 architecture is no longer valid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions