Coverage for tests/cli_test.py: 75%

20 statements  

« prev     ^ index     » next       coverage.py v7.15.0, created at 2026-07-12 16:04 +0200

1import os 

2from unittest import mock 

3 

4import pytest 

5 

6from gcp_attest._cli import main 

7 

8 

9@pytest.mark.forgejo 

10@pytest.mark.identity_pool 

11@pytest.mark.service_account 

12def test_token_in_forgejo_actions(capsys): 

13 status = main(["token", "test"]) 

14 captured = capsys.readouterr() 

15 

16 assert status is None 

17 assert captured.out.startswith("eyJhbGci") # `{"alg"` 

18 assert captured.err.strip() == "" 

19 

20 

21def test_token_invalid(capsys): 

22 with mock.patch.dict(os.environ, clear=True): 

23 status = main(["token", "test"]) 

24 captured = capsys.readouterr() 

25 

26 assert status == 1 

27 assert captured.out.strip() == "" 

28 assert len(captured.err.strip()) > 0