github.com/purpleclay/gitz@v0.8.2-0.20240515052600-43f80eea2fe1/testdata/commitsigningkey.go (about) 1 package main 2 3 import ( 4 "log" 5 "os" 6 7 git "github.com/purpleclay/gitz" 8 ) 9 10 var ( 11 gpgPublicKeyID = os.Getenv("GPG_PUBLIC_KEY_ID") 12 gpgFingerprint = os.Getenv("GPG_FINGERPRINT") 13 ) 14 15 func main() { 16 gitc, _ := git.NewClient() 17 18 if _, err := gitc.Commit("this is a signed commit", 19 git.WithGpgSigningKey(gpgPublicKeyID), 20 git.WithAllowEmpty()); err != nil { 21 log.Fatal(err.Error()) 22 } 23 gLog, _ := gitc.Log(git.WithTake(1)) 24 25 verif, err := gitc.VerifyCommit(gLog.Commits[0].Hash) 26 if err != nil { 27 log.Fatal(err.Error()) 28 } 29 30 if verif.Author.Name != "batman" { 31 log.Fatalf("invalid author name, expecting: 'batman' but received: '%s'", verif.Author.Name) 32 } 33 34 if verif.Author.Email != "batman@dc.com" { 35 log.Fatalf("invalid author email, expecting: 'batman@dc.com' but received: '%s'", verif.Author.Email) 36 } 37 38 if verif.Committer.Name != "batman" { 39 log.Fatalf("invalid committer name, expecting: 'batman' but received: '%s'", verif.Committer.Name) 40 } 41 42 if verif.Committer.Email != "batman@dc.com" { 43 log.Fatalf("invalid committer email, expecting: 'batman@dc.com' but received: '%s'", verif.Committer.Email) 44 } 45 46 if verif.Message != "this is a signed commit" { 47 log.Fatalf("invalid commit message, expecting: 'this is a signed commit' but received: '%s'", verif.Message) 48 } 49 50 if verif.Signature.Fingerprint != gpgFingerprint { 51 log.Fatalf("invalid fingerprint, expecting: '%s' but received: '%s'", gpgFingerprint, verif.Signature.Fingerprint) 52 } 53 54 if verif.Signature.Author.Name != "batman" { 55 log.Fatalf("invalid signed-by name, expecting: 'batman' but received: '%s'", verif.Signature.Author.Name) 56 } 57 58 if verif.Signature.Author.Email != "batman@dc.com" { 59 log.Fatalf("invalid signed-by email, expecting: 'batman@dc.com' but received: '%s'", verif.Signature.Author.Email) 60 } 61 }