def test_should_not_get_timeout_if_forward_fetch_returns_correct_number_of_records(self): buf = ScreenBuffer(2, buffer_size=5, timeout=13) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(7, 7) buf.get_records(drv) buf.go_to_previous_line() self.queue.push_forward_records(8, 5) self.assertIsNone(buf.get_records(drv))
def test_should_get_timeout_if_forward_fetch_returns_fewer_records(self): buf = ScreenBuffer(2, buffer_size=5, timeout=13) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(7, 7) buf.get_records(drv) buf.go_to_previous_line() self.queue.push_forward_records(8, 4) self.assertEqual(13, buf.get_records(drv))
def test_should_not_get_timeout_if_forward_fetch_returns_correct_number_of_records( self): buf = ScreenBuffer(2, buffer_size=5, timeout=13) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(7, 7) buf.get_records(drv) buf.go_to_previous_line() self.queue.push_forward_records(8, 5) self.assertIsNone(buf.get_records(drv))
def test_should_not_get_timeout_if_backward_fetch_returns_fewer_records(self): buf = ScreenBuffer(2, buffer_size=5, timeout=13) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(14, 7) buf.get_records(drv) buf.go_to_previous_page() buf.go_to_previous_page() self.queue.push_backward_records(7, 4) self.assertIsNone(buf.get_records(drv))
def test_should_fetch_records_in_descending_order(self): buf = ScreenBuffer(page_size=2, buffer_size=5) self.queue.push_backward_records(2, 2) drv = ScreenBufferTest.FakeDriver(self.queue) buf.get_records(drv) cur = buf.get_current_lines() self.assertEqual(2, len(cur)) self.assertEqual('1', cur[0].message) self.assertEqual('2', cur[1].message)
def test_should_not_get_timeout_if_backward_fetch_returns_fewer_records( self): buf = ScreenBuffer(2, buffer_size=5, timeout=13) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(14, 7) buf.get_records(drv) buf.go_to_previous_page() buf.go_to_previous_page() self.queue.push_backward_records(7, 4) self.assertIsNone(buf.get_records(drv))
def test_should_not_auto_scroll_if_starting_driver_with_date(self): dt = datetime.datetime.utcnow() buf = ScreenBuffer(page_size=2, buffer_size=5) self.queue.push(13) self.queue.push(None) self.queue.push_forward_records(13, 7) self.queue.push_forward_records(12, 5) drv = ScreenBufferTest.FakeDriver(self.queue, dt) buf.get_records(drv) cur = buf.get_current_lines() self.assertEqual(2, len(cur)) self.assertEqual('13', cur[0].message) self.assertEqual('14', cur[1].message)
def test_should_stop_fetching_if_fetch_returns_less_records_than_asked(self): buf = ScreenBuffer(page_size=2, buffer_size=5) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(6, 6) buf.get_records(drv) buf.go_to_previous_page() buf.go_to_previous_page() buf.get_records(drv) cur = buf.get_current_lines() self.assertEqual(2, len(cur)) self.assertEqual('1', cur[0].message) self.assertEqual('2', cur[1].message)
def test_should_auto_scroll_after_manual_scroll(self): dt = datetime.datetime.utcnow() buf = ScreenBuffer(page_size=2, buffer_size=5) self.queue.push(13) self.queue.push(None) self.queue.push_forward_records(13, 7) self.queue.push_forward_records(12, 5) drv = ScreenBufferTest.FakeDriver(self.queue, dt) buf.get_records(drv) buf.go_to_next_page() buf.go_to_next_page() buf.go_to_next_line() buf.append_record(self._get_line(20)) cur = buf.get_current_lines() self.assertEqual(2, len(cur)) self.assertEqual('19', cur[0].message) self.assertEqual('20', cur[1].message)
def test_should_not_stop_fetching_if_fetch_returns_correct_number_of_records(self): buf = ScreenBuffer(page_size=2, buffer_size=5) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(14, 7) buf.get_records(drv) buf.go_to_previous_page() buf.go_to_previous_page() self.queue.push_backward_records(7, 7) buf.get_records(drv) buf.go_to_previous_page() cur = buf.get_current_lines() self.assertEqual(2, len(cur)) self.assertEqual('7', cur[0].message) self.assertEqual('8', cur[1].message)
def test_should_stop_fetching_if_fetch_returns_less_records_than_asked( self): buf = ScreenBuffer(page_size=2, buffer_size=5) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(6, 6) buf.get_records(drv) buf.go_to_previous_page() buf.go_to_previous_page() buf.get_records(drv) cur = buf.get_current_lines() self.assertEqual(2, len(cur)) self.assertEqual('1', cur[0].message) self.assertEqual('2', cur[1].message)
def test_should_not_stop_fetching_if_fetch_returns_correct_number_of_records( self): buf = ScreenBuffer(page_size=2, buffer_size=5) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(14, 7) buf.get_records(drv) buf.go_to_previous_page() buf.go_to_previous_page() self.queue.push_backward_records(7, 7) buf.get_records(drv) buf.go_to_previous_page() cur = buf.get_current_lines() self.assertEqual(2, len(cur)) self.assertEqual('7', cur[0].message) self.assertEqual('8', cur[1].message)
def test_should_get_timeout_after_first_fetch(self): buf = ScreenBuffer(2, buffer_size=5, timeout=13) drv = ScreenBufferTest.FakeDriver(self.queue) self.queue.push_backward_records(7, 7) self.assertEqual(13, buf.get_records(drv))