diff --git a/ravendb/documents/session/operations/stream.py b/ravendb/documents/session/operations/stream.py index 1220025d..d1b2bff2 100644 --- a/ravendb/documents/session/operations/stream.py +++ b/ravendb/documents/session/operations/stream.py @@ -65,7 +65,7 @@ def create_request(self, query: IndexQuery) -> QueryStreamCommand: # return StreamCommand("".join(sb)) def set_result(self, response: StreamResultResponse) -> Iterator[Dict]: - if response.stream_iterator is None: + if response is None or response.stream_iterator is None: raise IndexDoesNotExistException("The index does not exists, failed to stream results") parser = JSONLRavenStreamParser(response.stream_iterator) diff --git a/ravendb/tests/jvm_migrated_tests/issues_tests/test_ravenDB_16321.py b/ravendb/tests/jvm_migrated_tests/issues_tests/test_ravenDB_16321.py new file mode 100644 index 00000000..61e39dba --- /dev/null +++ b/ravendb/tests/jvm_migrated_tests/issues_tests/test_ravenDB_16321.py @@ -0,0 +1,16 @@ +from ravendb.documents.queries.misc import Query +from ravendb.exceptions.exceptions import IndexDoesNotExistException +from ravendb.tests.test_base import TestBase + + +class TestRavenDB16321(TestBase): + def setUp(self): + super(TestRavenDB16321, self).setUp() + + def test_streaming_on_index_that_does_not_exist_should_throw(self): + with self.store.open_session() as session: + query = session.query(Query.from_index_name("idkb2")).where_equals("Natalia", "first_name") + + with self.assertRaises(IndexDoesNotExistException): + stream = session.advanced.stream(query) + stream.__next__()