/ packages / auths-python / tests / test_commit_sign.py
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