muting logger in tests

This commit is contained in:
Matthias Bisping 2022-04-02 18:34:13 +02:00
parent a89e374c67
commit 1cf6ab256c
3 changed files with 17 additions and 6 deletions

View File

@ -4,7 +4,7 @@ webserver:
mode: $SERVER_MODE|production # webserver mode: {development, production}
service:
logging_level: DEBUG # Logging level for service logger
logging_level: INFO # Logging level for service logger
progressbar: True # Whether a progress bar over the pages of a document is displayed while processing
batch_size: $BATCH_SIZE|32 # Number of images in memory simultaneously
verbose: $VERBOSE|True # Service prints document processing progress to stdout

View File

@ -24,3 +24,7 @@ class UnexpectedLabelFormat(ValueError):
class IncorrectInstantiation(RuntimeError):
pass
class IntentionalTestException(RuntimeError):
pass

View File

@ -3,11 +3,18 @@ import logging
import pytest
from image_prediction.exceptions import IntentionalTestException
from image_prediction.flask import make_prediction_server
from image_prediction.utils import get_logger
logger = get_logger()
# logger.setLevel(logging.CRITICAL + 1)
@pytest.fixture
def mute_logger():
logger = get_logger()
level = logger.level
logger.setLevel(logging.CRITICAL + 1)
yield
logger.setLevel(level)
def predict_fn(x: bytes):
@ -15,7 +22,7 @@ def predict_fn(x: bytes):
if x == 42:
return True
else:
raise RuntimeError("intentional test exception")
raise IntentionalTestException("This is intended.")
@pytest.fixture
@ -30,12 +37,12 @@ def client(server):
return server.test_client()
def test_server_predict_success(client):
def test_server_predict_success(client, mute_logger):
response = client.post("/predict", data="42")
assert json.loads(response.data)
def test_server_predict_failure(client):
def test_server_predict_failure(client, mute_logger):
response = client.post("/predict", data="13")
assert response.status_code == 500