test_commit_sign.py
1 """Tests for git commit signing workflow (fn-25.7).""" 2 3 import pytest 4 5 from auths import CommitSigningResult 6 from auths.commit import CommitSigningResult as CommitFromModule 7 8 9 class TestCommitSigningResult: 10 11 def test_fields(self): 12 r = CommitSigningResult( 13 signature_pem="-----BEGIN SSH SIGNATURE-----\ntest\n-----END SSH SIGNATURE-----", 14 method="direct", 15 namespace="git", 16 ) 17 assert r.signature_pem.startswith("-----BEGIN SSH SIGNATURE-----") 18 assert r.method == "direct" 19 assert r.namespace == "git" 20 21 def test_repr(self): 22 r = CommitSigningResult( 23 signature_pem="-----BEGIN SSH SIGNATURE-----\n" + "A" * 100, 24 method="direct", 25 namespace="git", 26 ) 27 s = repr(r) 28 assert "CommitSigningResult" in s 29 assert "direct" in s 30 assert "..." in s 31 32 def test_repr_short_pem(self): 33 r = CommitSigningResult( 34 signature_pem="short", 35 method="ssh_agent", 36 namespace="git", 37 ) 38 s = repr(r) 39 assert "ssh_agent" in s 40 41 42 class TestImports: 43 44 def test_importable_from_top_level(self): 45 from auths import CommitSigningResult 46 assert CommitSigningResult is not None 47 48 def test_importable_from_module(self): 49 from auths.commit import CommitSigningResult 50 assert CommitSigningResult is not None 51 52 def test_ffi_function_importable(self): 53 from auths._native import sign_commit 54 assert sign_commit is not None