Skip to content

[Nexus Systems Proposal] Scalable Asynchronous E2E Testing Framework for OPAL #871

Description

@franamaro-dev

I'm interested in implementing the E2E testing framework using PyTest. My plan is as follows:

Framework Selection: Use pytest as the core runner with pytest-asyncio for handling OPAL's asynchronous nature (WebSockets/PubSub).
Environment Orchestration: Implement a docker-compose fixture (or use testcontainers-python) to spin up:
A local Git server (or mock git repo) to mimic policy updates.
OPAL Server.
OPAL Client.
OPA (Open Policy Agent) as the policy engine.
Test Scenarios:
Policy Sync: Modify a Rego file in the mock Git repo and verify the change is propagated to OPA through OPAL.
Data Sync: Update a data.json file and verify the data reaches the policy engine.
Health Checks: Verify that the OPAL server correctly reports the health of its workers and connections.
Utility Layer: Create reusable fixtures for:
Waiting for OPAL services to be "Ready".
Mocking GitHub/GitLab webhooks to trigger immediate syncs.
Documentation & Demo: Provide a README.md on how to run the E2E suite and a recording of the test execution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions