github.com/purpleclay/gitz@v0.8.2-0.20240515052600-43f80eea2fe1/testdata/showcommit.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 gitc.ConfigSetL("user.signingkey", gpgPublicKeyID) 18 19 if _, err := gitc.Commit("this is a signed commit", git.WithGpgSign(), git.WithAllowEmpty()); err != nil { 20 log.Fatal(err.Error()) 21 } 22 gLog, _ := gitc.Log(git.WithTake(1)) 23 24 commits, err := gitc.ShowCommits(gLog.Commits[0].Hash) 25 if err != nil { 26 log.Fatal(err.Error()) 27 } 28 29 if len(commits) != 1 { 30 log.Fatalf("invalid number of commits, expected '1' commit but recevied: '%d'", len(commits)) 31 } 32 33 commit := commits[gLog.Commits[0].Hash] 34 35 if commit.Signature.Fingerprint != gpgFingerprint { 36 log.Fatalf("invalid fingerprint, expecting: '%s' but received: '%s'", gpgFingerprint, commit.Signature.Fingerprint) 37 } 38 39 if commit.Signature.Author.Name != "batman" { 40 log.Fatalf("invalid signed-by name, expecting: 'batman' but received: '%s'", commit.Signature.Author.Name) 41 } 42 43 if commit.Signature.Author.Email != "batman@dc.com" { 44 log.Fatalf("invalid signed-by email, expecting: 'batman@dc.com' but received: '%s'", commit.Signature.Author.Email) 45 } 46 }