Test wrapper method for SQLiteDict.sorted(), with all arguments combined
(self)
| 429 | mock_sorted.assert_called_with(expired=False) |
| 430 | |
| 431 | def test_sorted(self): |
| 432 | """Test wrapper method for SQLiteDict.sorted(), with all arguments combined""" |
| 433 | session = self.init_session(clear=False) |
| 434 | now = utcnow() |
| 435 | |
| 436 | # Insert items with decreasing expiration time |
| 437 | for i in range(500): |
| 438 | delta = 1000 - i |
| 439 | if i > 400: |
| 440 | delta -= 2000 |
| 441 | |
| 442 | response = CachedResponse(status_code=i, expires=now + timedelta(seconds=delta)) |
| 443 | session.cache.responses[f'key_{i}'] = response |
| 444 | |
| 445 | # Sorted items should be in ascending order by expiration time |
| 446 | items = list(session.cache.sorted(key='expires', expired=False, reversed=True, limit=100)) |
| 447 | assert len(items) == 100 |
| 448 | |
| 449 | prev_item = None |
| 450 | for item in items: |
| 451 | assert prev_item is None or prev_item.expires < item.expires |
| 452 | assert item.cache_key |
| 453 | assert not item.is_expired |
nothing calls this directly
no test coverage detected