Skip to content
Merged
Prev Previous commit
Next Next commit
Add coverage for out-of-bounds enum.
  • Loading branch information
tseaver committed Jan 5, 2015
commit 9c37ad8d5bca20015acfd99527dfd7486a81936c
2 changes: 1 addition & 1 deletion gcloud/datastore/query.py
Original file line number Diff line number Diff line change
Expand Up @@ -426,7 +426,7 @@ def next_page(self):
self._more_results = True
elif more_results_enum in self._FINISHED:
self._more_results = False
else: # pragma: NO COVER
else:
raise ValueError('Unexpected value returned for `more_results`.')

dataset = self._query.dataset
Expand Down
10 changes: 10 additions & 0 deletions gcloud/datastore/test_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -586,6 +586,16 @@ def test_next_page_w_cursors_w_more(self):
}
self.assertEqual(connection._called_with, [EXPECTED])

def test_next_page_w_cursors_w_bogus_more(self):
dataset, connection = self._makeDataset()
query = _Query(self._KIND, dataset, self._NAMESPACE)
self._addQueryResults(dataset, cursor=self._END, more=True)
conn = dataset.connection()
epb, cursor, _ = conn._results.pop()
conn._results.append((epb, cursor, 4)) # invalid enum
iterator = self._makeOne(query)
self.assertRaises(ValueError, iterator.next_page)

def test___iter___no_more(self):
from gcloud.datastore.query import _pb_from_query
self._KIND = 'KIND'
Expand Down