def _test_process_get_object(self, object_name, mock_object_repo, mock_object_to_provider, mock_get_session): mock_get_session.return_value = 'bogus_session' object_repo_mock = mock.MagicMock() mock_object_repo.return_value = object_repo_mock db_object_mock = mock.MagicMock() object_repo_mock.get.return_value = db_object_mock mock_prov_object = mock.MagicMock() mock_object_to_provider.return_value = mock_prov_object ref_prov_dict = mock_prov_object.to_dict(recurse=True, render_unsets=True) object_id = uuidutils.generate_uuid() data = {constants.OBJECT: object_name, lib_consts.ID: object_id} # Happy path result = driver_get.process_get(data) mock_object_repo.assert_called_once_with() object_repo_mock.get.assert_called_once_with('bogus_session', id=object_id, show_deleted=False) mock_object_to_provider.assert_called_once_with(db_object_mock) self.assertEqual(ref_prov_dict, result) # No matching listener mock_object_repo.reset_mock() mock_object_to_provider.reset_mock() object_repo_mock.get.return_value = None result = driver_get.process_get(data) mock_object_repo.assert_called_once_with() object_repo_mock.get.assert_called_once_with('bogus_session', id=object_id, show_deleted=False) mock_object_to_provider.assert_not_called() self.assertEqual({}, result)
def handle(self): # Get the data request get_data = _recv(self.request) # Process the get response = driver_get.process_get(get_data) # Send the response json_data = jsonutils.dump_as_bytes(response) len_str = '{}\n'.format(len(json_data)).encode('utf-8') self.request.send(len_str) self.request.sendall(json_data)
def test_process_get_bogus_object(self, mock_get_session): data = {constants.OBJECT: 'bogus', lib_consts.ID: 'bad ID'} result = driver_get.process_get(data) self.assertEqual({}, result)