async def METHOD_NAME(self):
    request_context = RequestContext.test_context()
    request_context.message_receipt = MessageReceipt()
    request_context.connection_record = async_mock.MagicMock()
    with async_mock.patch.object(
        test_module, "CredentialManager", autospec=True
    ) as mock_cred_mgr:
        mock_cred_mgr.return_value.receive_proposal = async_mock.CoroutineMock(
            return_value=async_mock.MagicMock()
        )
        mock_cred_mgr.return_value.receive_proposal.return_value.auto_offer = False
        request_context.message = CredentialProposal()
        request_context.connection_ready = True
        handler = test_module.CredentialProposalHandler()
        responder = MockResponder()
        await handler.handle(request_context, responder)
    mock_cred_mgr.assert_called_once_with(request_context.profile)
    mock_cred_mgr.return_value.receive_proposal.assert_called_once_with(
        request_context.message, request_context.connection_record.connection_id
    )
    assert not responder.messages