mirror of
https://github.com/versity/versitygw.git
synced 2026-01-10 21:30:12 +00:00
test: more chunked upload tests with different payload types
This commit is contained in:
42
tests/rest_scripts/command/stringDataSource.go
Normal file
42
tests/rest_scripts/command/stringDataSource.go
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user