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  }