Skip to content

Commit 3bfc4ca

Browse files
committed
add: additional tests
1 parent 0f40dc1 commit 3bfc4ca

File tree

2 files changed

+45
-6
lines changed

2 files changed

+45
-6
lines changed

src/firebase_functions/logger.py

+5-6
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,11 @@ def _entry_from_args(severity: LogSeverity, **kwargs) -> LogEntry:
4040
Creates a `LogEntry` from the given arguments.
4141
"""
4242

43-
message: str = " ".join(
44-
# do we need to replace_circular here?
45-
[
46-
value if isinstance(value, str) else _json.dumps(
47-
_remove_circular(value)) for value in kwargs.values()
48-
])
43+
message: str = " ".join([
44+
value
45+
if isinstance(value, str) else _json.dumps(_remove_circular(value))
46+
for value in kwargs.values()
47+
])
4948

5049
return {"severity": severity, "message": message}
5150

tests/test_logger.py

+40
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,48 @@ def test_log_should_have_severity(self, capsys: pytest.CaptureFixture[str]):
2727
log_output = json.loads(raw_log_output)
2828
assert "severity" in log_output
2929

30+
def test_severity_should_be_debug(self, capsys: pytest.CaptureFixture[str]):
31+
logger.debug(foo="bar")
32+
raw_log_output = capsys.readouterr().out
33+
log_output = json.loads(raw_log_output)
34+
assert log_output["severity"] == "DEBUG"
35+
36+
def test_severity_should_be_notice(self,
37+
capsys: pytest.CaptureFixture[str]):
38+
logger.log(foo="bar")
39+
raw_log_output = capsys.readouterr().out
40+
log_output = json.loads(raw_log_output)
41+
assert log_output["severity"] == "NOTICE"
42+
43+
def test_severity_should_be_info(self, capsys: pytest.CaptureFixture[str]):
44+
logger.info(foo="bar")
45+
raw_log_output = capsys.readouterr().out
46+
log_output = json.loads(raw_log_output)
47+
assert log_output["severity"] == "INFO"
48+
49+
def test_severity_should_be_warning(self,
50+
capsys: pytest.CaptureFixture[str]):
51+
logger.warn(foo="bar")
52+
raw_log_output = capsys.readouterr().out
53+
log_output = json.loads(raw_log_output)
54+
assert log_output["severity"] == "WARNING"
55+
56+
def test_severity_should_be_error(self, capsys: pytest.CaptureFixture[str]):
57+
logger.error(foo="bar")
58+
raw_log_output = capsys.readouterr().err
59+
log_output = json.loads(raw_log_output)
60+
assert log_output["severity"] == "ERROR"
61+
3062
def test_log_should_have_message(self, capsys: pytest.CaptureFixture[str]):
3163
logger.log(foo="bar")
3264
raw_log_output = capsys.readouterr().out
3365
log_output = json.loads(raw_log_output)
3466
assert "message" in log_output
67+
68+
def test_message_should_be_space_separated(
69+
self, capsys: pytest.CaptureFixture[str]):
70+
logger.log(foo="bar", baz="qux")
71+
expected_message = "bar qux"
72+
raw_log_output = capsys.readouterr().out
73+
log_output = json.loads(raw_log_output)
74+
assert log_output["message"] == expected_message

0 commit comments

Comments
 (0)