Kuadrant / Kuadrant/testsuite

Add wait_for_ready() to singlecluster route fixture and EnvoyVirtualRoute

Open
#984 0 comments 0 reactions 0 assignees View on GitHub
bug refactor
Dominant language
Python
Stars
7
Forks
29
Avg merge
1d 9h
Merged PRs (30d)
7

Description

> [!NOTE]
> **Missing route waits on multicluster tests routes require additional investigation and issues opened**

The default `route` fixture in `testsuite/tests/singlecluster/conftest.py` does not call `wait_for_ready()` after `commit()`. This was missed when the method was added to `HTTPRoute`.

Adding the call directly causes some tests to fail and needs investigation.

### Changes needed

**1. Add no-op `wait_for_ready()` to `EnvoyVirtualRoute`**

`EnvoyVirtualRoute` lacks a `wait_for_ready()` method, so calling it unconditionally on the route fixture would break standalone Authorino tests. Add the following placeholder matching the existing `commit()`/`delete()` pattern:

```python
# testsuite/gateway/envoy/route.py
class HTTPRoute:

def wait_for_ready(self):
return
```

**2. Add `wait_for_ready()` to the singlecluster route fixture**

```python
# testsuite/tests/singlecluster/conftest.py
def route():
...
route.commit()
route.wait_for_ready()
return route
```

**3. Investigate and fix test failures triggered by the wait**
Some tests fail when the wait is added. These need to be investigated and fixed before merging.

Contributor guide

Open the contributing guide

Research direction

Start with testsuite/gateway/envoy/route.py and testsuite/tests/singlecluster/conftest.py, then run the affected singlecluster tests to identify failures caused by waiting after commit(). Done means EnvoyVirtualRoute supports the no-op wait_for_ready(), the singlecluster route fixture calls it, and the triggered test failures are investigated and fixed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.