def test_select(self): x = object() def iterx(): yield x transaction = Transaction(self.connection) when(self.factory.mock).new(transaction=transaction, rowid=42, insert=None, x="foo").thenReturn(iterx()) fdo = transaction.select(self.factory, rowid=42, x="foo") self.assertTrue(fdo is x) verify(self.connection.mock, atleast=1).__enter__() verify(self.connection.mock, atleast=1).__exit__(any(), any(), any())