def test_select_all(self): x = object() def iterx(): yield x transaction = Transaction(self.connection) when(self.factory.mock).new(transaction=transaction, insert=None, x="foo").thenReturn(iterx()) f = transaction.select_all(self.factory, insert=None, x="foo") fdo = next(f) self.assertEqual([], list(f)) self.assertTrue(fdo is x) verify(self.connection.mock, atleast=1).__enter__() verify(self.connection.mock, atleast=1).__exit__(any(), any(), any())