| 144 | self.assertTrue(rs) |
| 145 | |
| 146 | def test_eq(self): |
| 147 | # no pages |
| 148 | expected = list(range(10)) |
| 149 | rs = ResultSet(Mock(has_more_pages=False), expected) |
| 150 | |
| 151 | # eq before iteration causes list to be materialized |
| 152 | self.assertEqual(rs, expected) |
| 153 | |
| 154 | # results can be iterated or indexed once we're materialized |
| 155 | self.assertListEqual(list(rs), expected) |
| 156 | self.assertEqual(rs[9], expected[9]) |
| 157 | self.assertTrue(rs) |
| 158 | |
| 159 | # pages |
| 160 | response_future = Mock(has_more_pages=True, _continuous_paging_session=None) |
| 161 | response_future.result.side_effect = (ResultSet(Mock(), expected[-5:]), ) # ResultSet is iterable, so it must be protected in order to be returned whole by the Mock |
| 162 | rs = ResultSet(response_future, expected[:5]) |
| 163 | type(response_future).has_more_pages = PropertyMock(side_effect=(True, True, True, False)) |
| 164 | # eq before iteration causes list to be materialized |
| 165 | self.assertEqual(rs, expected) |
| 166 | |
| 167 | # results can be iterated or indexed once we're materialized |
| 168 | self.assertListEqual(list(rs), expected) |
| 169 | self.assertEqual(rs[9], expected[9]) |
| 170 | self.assertTrue(rs) |
| 171 | |
| 172 | def test_bool(self): |
| 173 | self.assertFalse(ResultSet(Mock(has_more_pages=False), [])) |