Add wait_for_ready() to singlecluster route fixture and EnvoyVirtualRoute
- 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
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