|
1 | 1 | import time |
| 2 | +from typing import Optional |
2 | 3 |
|
| 4 | +from ravendb import QueryStatistics |
3 | 5 | from ravendb.documents.operations.statistics import GetStatisticsOperation |
4 | 6 | from ravendb.documents.indexes.index_creation import IndexCreation |
5 | 7 | from ravendb.documents.queries.more_like_this import MoreLikeThisOptions |
@@ -190,3 +192,29 @@ def test_can_stop_and_start(self): |
190 | 192 | self.assertEqual(1, len(status.indexes)) |
191 | 193 |
|
192 | 194 | self.assertEqual(IndexRunningStatus.PAUSED, status.indexes[0].status) |
| 195 | + |
| 196 | + def test_get_index_names(self): |
| 197 | + with self.store.open_session() as session: |
| 198 | + session.store(User(name="Fitzchak")) |
| 199 | + session.store(User(name="Arek")) |
| 200 | + session.save_changes() |
| 201 | + |
| 202 | + with self.store.open_session() as session: |
| 203 | + stats: Optional[QueryStatistics] = None |
| 204 | + |
| 205 | + def _stats_callback(qs: QueryStatistics) -> None: |
| 206 | + nonlocal stats |
| 207 | + stats = qs |
| 208 | + |
| 209 | + users = list( |
| 210 | + session.query(object_type=User) |
| 211 | + .wait_for_non_stale_results() |
| 212 | + .statistics(_stats_callback) |
| 213 | + .where_equals("name", "Arek") |
| 214 | + ) |
| 215 | + index_name = stats.index_name |
| 216 | + |
| 217 | + with self.store.open_session() as session: |
| 218 | + index_names = self.store.maintenance.send(GetIndexNamesOperation(0, 10)) |
| 219 | + self.assertEqual(1, len(index_names)) |
| 220 | + self.assertIn(index_name, index_names) |
0 commit comments