def vsphere(): """ Provide a check instance with mocked parts """ # create topology from a fixture file vcenter_topology = create_topology('vsphere_topology.json') # mock pyvmomi stuff view_mock = MockedContainer(topology=vcenter_topology) viewmanager_mock = MagicMock( **{'CreateContainerView.return_value': view_mock}) event_mock = MagicMock(createdTime=datetime.now()) eventmanager_mock = MagicMock(latestEvent=event_mock) content_mock = MagicMock(viewManager=viewmanager_mock, eventManager=eventmanager_mock) # assemble the mocked server server_mock = MagicMock() server_mock.configure_mock(**{ 'RetrieveContent.return_value': content_mock, 'content': content_mock, }) # create a check instance check = VSphereCheck('disk', {}, {}, [instance()]) # patch the check instance check._get_server_instance = MagicMock(return_value=server_mock) # disable the thread pool check.pool = MagicMock(apply_async=lambda func, args: func(*args)) check.pool_started = True # otherwise the mock will be overwritten return check
def vsphere(): """ Provide a check instance with mocked parts """ # mock the server server_mock = get_mocked_server() # create a check instance check = VSphereCheck('disk', {}, {}, [instance()]) # patch the check instance check._get_server_instance = MagicMock(return_value=server_mock) # return the check after disabling the thread pool return disable_thread_pool(check)