December 20th, 2016

404

mastering mocks

Для меня было откровением, что в mock (MagicMock) можно не только указывать return_value, но и продолжать описывать свойства возвращаемого объекта.

Из реального кода:

mockos.return_value.new_keypair.return_value.private_key = "key"

Означает: Класс, который замокан, возвращает объект, у которого есть метод new_keypair, который возвращает объект, у которого есть свойство "private_key".

Это вместо нелепой конструкции, которую я использовал ранее:


mock_key = mock.MagicMock()
mock_key.private_key = "key"
mock_os_inst = mock.MagicMock(return_value=mock_key)
mockos = mock.MagicMock(return_value=mock_os_inst)
404

ControlMaster

Скажите, а кто-нибудь добивался, чтобы ControlMaster в ssh работал по-человечески? Ну, чтобы оно либо переустанавливало соединение, либо переиспользовало, но не тупило непонятно сколько ожидая непонятно чего?