Пример #1
0
 def test_with_nothing(self):
     hook = ErrorHook()
     app = namedtuple("App", "debug")
     content = hook.on_error(AssertionError(), app).content
     data = json.loads(content)
     assert data["code"] == 999
     assert data["message"] == "Unknown error"
Пример #2
0
 def test_error_register(self):
     errors = {123: "测试错误"}
     ErrorHook.register(errors)
     hook = ErrorHook()
     app = namedtuple("App", "debug")
     content = hook.on_error(AssertionError(123), app).content
     data = json.loads(content)
     assert data["code"] == 123
     assert data["message"] == errors[123]
Пример #3
0
 def test_only_message(self):
     hook = ErrorHook()
     app = namedtuple("App", "debug")
     app.debug = False
     content = hook.on_error(AssertionError("test error"), app).content
     data = json.loads(content)
     assert data["code"] == 999
     assert data["message"] == "test error"
     assert data["extra"] is None
     assert "detail" not in data
Пример #4
0
def test_error_hook1():
    hook = ErrorHook()
    app = namedtuple("App", "debug")
    app.debug = True
    content = hook.on_error(AssertionError([123, "error", {"id": 1111}]), app).content
    data = json.loads(content)
    assert data["code"] == 123
    assert data["message"] == "error"
    assert data["extra"] == {"id": 1111}
    assert "detail" in data
Пример #5
0
def test_error_hook5():
    hook = ErrorHook()
    app = namedtuple("App", "debug")
    app.debug = False
    content = hook.on_error(AssertionError(["test error", {"id": 2}]), app).content
    data = json.loads(content)
    assert data["code"] == 999
    assert data["message"] == "test error"
    assert data["extra"] == {"id": 2}
    assert "detail" not in data
Пример #6
0
def test_error_hook3():
    hook = ErrorHook()
    app = namedtuple("App", "debug")
    app.debug = False
    content = hook.on_error(AssertionError(123), app).content
    data = json.loads(content)
    assert data["code"] == 123
    assert data["message"] == "Not configured error"
    assert data["extra"] is None
    assert "detail" not in data
Пример #7
0
 def test_with_code_message_and_extra_not_debug(self):
     hook = ErrorHook()
     app = namedtuple("App", "debug")
     app.debug = False
     content = hook.on_error(AssertionError([123, "error", {
         "id": 1111
     }]), app).content
     data = json.loads(content)
     assert data["code"] == 123
     assert data["message"] == "error"
     assert data["extra"] == {"id": 1111}
     assert "detail" not in data
Пример #8
0
 def test_with_response(self):
     hook = ErrorHook()
     app = namedtuple("App", "debug")
     content = hook.on_error(Exception(Response(content="abc")),
                             app).content
     assert content == b"abc"