github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/pkg/block/local/etag_test.go (about)

     1  package local
     2  
     3  import (
     4  	"encoding/hex"
     5  	"testing"
     6  
     7  	"github.com/treeverse/lakefs/pkg/block"
     8  )
     9  
    10  const PartsNo = 30
    11  
    12  func TestEtag(t *testing.T) {
    13  	var base [16]byte
    14  	b := base[:]
    15  	parts := make([]block.MultipartPart, PartsNo)
    16  	for i := 0; i < PartsNo; i++ {
    17  		for j := 0; j < len(b); j++ {
    18  			b[j] = byte(32 + i + j)
    19  		}
    20  		parts[i].PartNumber = i + 1
    21  		parts[i].ETag = hex.EncodeToString(b)
    22  	}
    23  	etag := computeETag(parts)
    24  	if etag != "9cae1a3b7e97542c261cf2e1b50ba482" {
    25  		t.Fatalf("ETag value '%s' not as expected", etag)
    26  	}
    27  }