test: more chunked upload tests with different payload types

This commit is contained in:
Luke McCrone
2025-10-08 18:36:00 -03:00
parent 8466d06371
commit b629f5d707
25 changed files with 1145 additions and 63 deletions

View File

@@ -0,0 +1,42 @@
package command
import (
"crypto/sha256"
"encoding/hex"
"io"
"strings"
)
type StringDataSource struct {
dataString string
}
func NewStringDataSource(dataString string) *StringDataSource {
return &StringDataSource{
dataString: dataString,
}
}
func (s *StringDataSource) SourceDataByteSize() (int64, error) {
return int64(len(s.dataString)), nil
}
func (s *StringDataSource) CalculateSHA256HashString() (string, error) {
hash := sha256.Sum256([]byte(s.dataString))
return hex.EncodeToString(hash[:]), nil
}
func (s *StringDataSource) Close() error {
return nil
}
func (s *StringDataSource) GetReader() (io.Reader, error) {
stringReader := strings.NewReader(s.dataString)
return stringReader, nil
}
func (s *StringDataSource) GetTeeReader(checksumWriter io.Writer) (io.Reader, error) {
stringReader := strings.NewReader(s.dataString)
r := io.TeeReader(stringReader, checksumWriter)
return r, nil
}