aboutcode-org / aboutcode-org/purldb

test_package_endpoint_throttling fails with 429 instead of expected 200

未關閉
#849 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
HTML
星號
67
分支
69
平均合併
8 天 8 小時
30 天內合併 PR
1

描述

## Summary
`test_package_endpoint_throttling` in `packagedb/tests/test_throttling.py`
is consistently failing with a `429 Too Many Requests` response when
the test expects a `200 OK`.

## Steps to Reproduce
Run the test suite:
```bash
python manage_purldb.py test packagedb.tests.test_throttling
```

## Expected Behavior
The test should return `200 OK` as the throttle limit should not
be triggered during a controlled test environment.

## Actual Behavior
```
FAIL: test_package_endpoint_throttling
AssertionError: 429 != 200
```

## Root Cause (suspected)
The throttle rate counter is likely not being reset between test runs,
causing requests from previous tests to count toward the throttle limit.
This means by the time `test_package_endpoint_throttling` runs, the
throttle has already been triggered.

## Possible Fix
- Override `DEFAULT_THROTTLE_RATES` to `None` or a high value in test settings
- Or explicitly reset the throttle cache between tests using
`cache.clear()` in the test `setUp()` method

## Environment
- Python 3.13
- Django test runner via `manage_purldb.py`

## References
- Related to throttling logic in `packagedb/throttling.py`
- Test file: `packagedb/tests/test_throttling.py`

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。