github.com/winebarrel/terraform-provider-lambdazip@v0.6.1-0.20240313233639-361839f8c5c5/lambdazip/helper_test.go (about) 1 package lambdazip_test 2 3 import ( 4 "archive/zip" 5 "bytes" 6 "crypto/sha256" 7 "encoding/base64" 8 "os" 9 ) 10 11 func base64Sha256(buf []byte) string { 12 sha256Sum := sha256.Sum256(buf) 13 b64 := base64.StdEncoding.EncodeToString(sha256Sum[:]) 14 return b64 15 } 16 17 func isFileExists(name string) bool { 18 _, err := os.Stat(name) 19 return !os.IsNotExist(err) 20 } 21 22 func listZip(src []byte) ([]string, error) { 23 buf := bytes.NewReader(src) 24 r, err := zip.NewReader(buf, int64(len(src))) 25 26 if err != nil { 27 return nil, err 28 } 29 30 list := []string{} 31 32 for _, file := range r.File { 33 list = append(list, file.Name) 34 } 35 36 return list, nil 37 }