Skip to content

Commit 163bfcf

Browse files
nejchJohnVillalovos
authored andcommitted
test: add tests for token masking
1 parent 1611d78 commit 163bfcf

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

tests/functional/cli/test_cli.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,3 +198,12 @@ def test_cli_display_without_fields_warns(gitlab_cli, project):
198198

199199
assert "No default fields to show" in ret.stdout
200200
assert "merged_yaml" not in ret.stdout
201+
202+
203+
def test_cli_does_not_print_token(gitlab_cli, gitlab_token):
204+
ret = gitlab_cli(["--debug", "current-user", "get"])
205+
assert ret.success
206+
207+
assert gitlab_token not in ret.stdout
208+
assert gitlab_token not in ret.stderr
209+
assert "[MASKED]" in ret.stderr

tests/unit/test_utils.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import json
2+
import logging
23
import warnings
34

45
import pytest
@@ -197,3 +198,19 @@ def test_transform_types_not_params_array():
197198
assert new_data is not data
198199
assert new_data == data
199200
assert files == {}
201+
202+
203+
def test_masking_formatter_masks_token(capsys: pytest.CaptureFixture):
204+
token = "glpat-private-token"
205+
206+
logger = logging.getLogger()
207+
handler = logging.StreamHandler()
208+
handler.setFormatter(utils.MaskingFormatter(masked=token))
209+
logger.handlers.clear()
210+
logger.addHandler(handler)
211+
212+
logger.info(token)
213+
captured = capsys.readouterr()
214+
215+
assert "[MASKED]" in captured.err
216+
assert token not in captured.err

0 commit comments

Comments
 (0)