コード例 #1
0
def test_configured_logger():
    # Logger has been configured in settings.py
    # In such case, logging.getLogger() and get_modernrpc_logger() return
    # the same object instance, without any modification
    logger = logging.getLogger('my_app')
    assert logger_has_handlers(logger) is True

    assert logger is get_modernrpc_logger('my_app')
コード例 #2
0
def test_unconfigured_logger():
    # When trying to retrieve an unconfigured logger with logging.getLogger(), no handler is associated
    logger = logging.getLogger('xxx_unconfigured')
    assert logger_has_handlers(logger) is False

    # If we retrieve it with get_modernrpc_logger(), the returned object has a default NullHandler attached
    logger2 = get_modernrpc_logger('xxx_unconfigured')
    assert logger_has_handlers(logger2) is True
    assert len(logger2.handlers) == 1
    assert isinstance(logger2.handlers[0], logging.NullHandler)
コード例 #3
0
def test_unconfigured_no_propagate():
    # If a parent of unconfigured logger have no handlers AND propagate flag set to False, the returned object
    # cannot handle any log message
    logger = logging.getLogger('my_app.a.b')
    assert logger_has_handlers(logger) is False

    # But as before, get_modernrpc_logger() returns a logger with a default NullHandler
    logger2 = get_modernrpc_logger('my_app.a.b')
    assert logger_has_handlers(logger2) is True
    assert len(logger2.handlers) == 1
    assert isinstance(logger2.handlers[0], logging.NullHandler)
コード例 #4
0
def test_unconfigured_logger_pytest_33_and_more():
    # When trying to retrieve an unconfigured logger with logging.getLogger(), no handler is associated
    # Note: pytest 3.3 and later automatically attach a root logger when running tests
    logger = logging.getLogger('xxx_unconfigured')
    assert logger_has_handlers(logger) is True

    logger2 = get_modernrpc_logger('xxx_unconfigured')
    assert logger_has_handlers(logger2) is True
    # This logger still has no handler...
    assert len(logger2.handlers) == 0
    # ...but root logger has some
    assert len(logger2.parent.handlers) > 0
コード例 #5
0
# coding: utf-8

from django.core.exceptions import ImproperlyConfigured
from django.http.response import HttpResponse, HttpResponseForbidden
from django.utils.decorators import method_decorator
from django.utils.module_loading import import_string
from django.views.decorators.csrf import csrf_exempt
from django.views.generic.base import View, TemplateView

from modernrpc.conf import settings
from modernrpc.core import ALL, registry
from modernrpc.exceptions import RPCInternalError, RPCException, AuthenticationFailed
from modernrpc.utils import ensure_sequence, get_modernrpc_logger

logger = get_modernrpc_logger(__name__)


class RPCEntryPoint(TemplateView):
    """
    This is the main entry point class. It inherits standard Django View class.
    """

    template_name = 'modernrpc/doc_index.html'

    entry_point = settings.MODERNRPC_DEFAULT_ENTRYPOINT_NAME
    protocol = ALL
    enable_doc = False
    enable_rpc = True

    def __init__(self, **kwargs):
        super(RPCEntryPoint, self).__init__(**kwargs)