mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 22:12:26 -05:00
[chore] bump dependencies (#4339)
- github.com/KimMachineGun/automemlimit v0.7.4 - github.com/miekg/dns v1.1.67 - github.com/minio/minio-go/v7 v7.0.95 - github.com/spf13/pflag v1.0.7 - github.com/tdewolff/minify/v2 v2.23.9 - github.com/uptrace/bun v1.2.15 - github.com/uptrace/bun/dialect/pgdialect v1.2.15 - github.com/uptrace/bun/dialect/sqlitedialect v1.2.15 - github.com/uptrace/bun/extra/bunotel v1.2.15 - golang.org/x/image v0.29.0 - golang.org/x/net v0.42.0 Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4339 Co-authored-by: kim <grufwub@gmail.com> Co-committed-by: kim <grufwub@gmail.com>
This commit is contained in:
parent
eb60081985
commit
c00cad2ceb
76 changed files with 5544 additions and 886 deletions
215
vendor/github.com/minio/minio-go/v7/functional_tests.go
generated
vendored
215
vendor/github.com/minio/minio-go/v7/functional_tests.go
generated
vendored
|
|
@ -1970,7 +1970,7 @@ func testPutObjectWithChecksums() {
|
|||
// initialize logging params
|
||||
startTime := time.Now()
|
||||
testName := getFuncName()
|
||||
function := "PutObject(bucketName, objectName, reader,size, opts)"
|
||||
function := "PutObject(bucketName, objectName, reader, size, opts)"
|
||||
args := map[string]interface{}{
|
||||
"bucketName": "",
|
||||
"objectName": "",
|
||||
|
|
@ -1982,7 +1982,7 @@ func testPutObjectWithChecksums() {
|
|||
return
|
||||
}
|
||||
|
||||
c, err := NewClient(ClientConfig{})
|
||||
c, err := NewClient(ClientConfig{TrailingHeaders: true})
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
|
||||
return
|
||||
|
|
@ -2037,6 +2037,10 @@ func testPutObjectWithChecksums() {
|
|||
h := test.cs.Hasher()
|
||||
h.Reset()
|
||||
|
||||
if test.cs.IsSet() {
|
||||
meta["x-amz-checksum-algorithm"] = test.cs.String()
|
||||
}
|
||||
|
||||
// Test with a bad CRC - we haven't called h.Write(b), so this is a checksum of empty data
|
||||
meta[test.cs.Key()] = base64.StdEncoding.EncodeToString(h.Sum(nil))
|
||||
args["metadata"] = meta
|
||||
|
|
@ -2323,7 +2327,7 @@ func testPutObjectWithTrailingChecksums() {
|
|||
}
|
||||
|
||||
// Test PutObject with custom checksums.
|
||||
func testPutMultipartObjectWithChecksums(trailing bool) {
|
||||
func testPutMultipartObjectWithChecksums() {
|
||||
// initialize logging params
|
||||
startTime := time.Now()
|
||||
testName := getFuncName()
|
||||
|
|
@ -2331,7 +2335,7 @@ func testPutMultipartObjectWithChecksums(trailing bool) {
|
|||
args := map[string]interface{}{
|
||||
"bucketName": "",
|
||||
"objectName": "",
|
||||
"opts": fmt.Sprintf("minio.PutObjectOptions{UserMetadata: metadata, Trailing: %v}", trailing),
|
||||
"opts": "minio.PutObjectOptions{UserMetadata: metadata, Trailing: true}",
|
||||
}
|
||||
|
||||
if !isFullMode() {
|
||||
|
|
@ -2339,7 +2343,7 @@ func testPutMultipartObjectWithChecksums(trailing bool) {
|
|||
return
|
||||
}
|
||||
|
||||
c, err := NewClient(ClientConfig{TrailingHeaders: trailing})
|
||||
c, err := NewClient(ClientConfig{TrailingHeaders: true})
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
|
||||
return
|
||||
|
|
@ -2433,12 +2437,8 @@ func testPutMultipartObjectWithChecksums(trailing bool) {
|
|||
h.Reset()
|
||||
want := hashMultiPart(b, partSize, test.cs)
|
||||
|
||||
var cs minio.ChecksumType
|
||||
rd := io.Reader(io.NopCloser(bytes.NewReader(b)))
|
||||
if trailing {
|
||||
cs = test.cs
|
||||
rd = bytes.NewReader(b)
|
||||
}
|
||||
rd := bytes.NewReader(b)
|
||||
cs := test.cs
|
||||
|
||||
// Set correct CRC.
|
||||
args["section"] = "PutObject"
|
||||
|
|
@ -2447,7 +2447,6 @@ func testPutMultipartObjectWithChecksums(trailing bool) {
|
|||
DisableMultipart: false,
|
||||
UserMetadata: nil,
|
||||
PartSize: partSize,
|
||||
AutoChecksum: test.cs,
|
||||
Checksum: cs,
|
||||
})
|
||||
if err != nil {
|
||||
|
|
@ -2589,11 +2588,10 @@ func testTrailingChecksums() {
|
|||
return
|
||||
}
|
||||
|
||||
hashMultiPart := func(b []byte, partSize int, hasher hash.Hash) string {
|
||||
hashMultiPart := func(b []byte, partSize int, hasher hash.Hash) (oparts []minio.ObjectPart) {
|
||||
r := bytes.NewReader(b)
|
||||
tmp := make([]byte, partSize)
|
||||
parts := 0
|
||||
var all []byte
|
||||
for {
|
||||
n, err := io.ReadFull(r, tmp)
|
||||
if err != nil && err != io.ErrUnexpectedEOF {
|
||||
|
|
@ -2605,14 +2603,16 @@ func testTrailingChecksums() {
|
|||
parts++
|
||||
hasher.Reset()
|
||||
hasher.Write(tmp[:n])
|
||||
all = append(all, hasher.Sum(nil)...)
|
||||
oparts = append(oparts, minio.ObjectPart{
|
||||
PartNumber: parts,
|
||||
Size: int64(n),
|
||||
ChecksumCRC32C: base64.StdEncoding.EncodeToString(hasher.Sum(nil)),
|
||||
})
|
||||
if err != nil {
|
||||
break
|
||||
}
|
||||
}
|
||||
hasher.Reset()
|
||||
hasher.Write(all)
|
||||
return fmt.Sprintf("%s-%d", base64.StdEncoding.EncodeToString(hasher.Sum(nil)), parts)
|
||||
return oparts
|
||||
}
|
||||
defer cleanupBucket(bucketName, c)
|
||||
tests := []struct {
|
||||
|
|
@ -2636,6 +2636,7 @@ func testTrailingChecksums() {
|
|||
DisableMultipart: false,
|
||||
UserMetadata: nil,
|
||||
PartSize: 5 << 20,
|
||||
Checksum: minio.ChecksumFullObjectCRC32C,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
@ -2647,6 +2648,7 @@ func testTrailingChecksums() {
|
|||
DisableMultipart: false,
|
||||
UserMetadata: nil,
|
||||
PartSize: 6_645_654, // Rather arbitrary size
|
||||
Checksum: minio.ChecksumFullObjectCRC32C,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
@ -2658,6 +2660,7 @@ func testTrailingChecksums() {
|
|||
DisableMultipart: false,
|
||||
UserMetadata: nil,
|
||||
PartSize: 5 << 20,
|
||||
Checksum: minio.ChecksumFullObjectCRC32C,
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
@ -2669,6 +2672,7 @@ func testTrailingChecksums() {
|
|||
DisableMultipart: false,
|
||||
UserMetadata: nil,
|
||||
PartSize: 6_645_654, // Rather arbitrary size
|
||||
Checksum: minio.ChecksumFullObjectCRC32C,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
|
@ -2696,7 +2700,14 @@ func testTrailingChecksums() {
|
|||
reader.Close()
|
||||
h := test.hasher
|
||||
h.Reset()
|
||||
test.ChecksumCRC32C = hashMultiPart(b, int(test.PO.PartSize), test.hasher)
|
||||
|
||||
parts := hashMultiPart(b, int(test.PO.PartSize), test.hasher)
|
||||
cksum, err := minio.ChecksumFullObjectCRC32C.FullObjectChecksum(parts)
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "checksum calculation failed", err)
|
||||
return
|
||||
}
|
||||
test.ChecksumCRC32C = cksum.Encoded()
|
||||
|
||||
// Set correct CRC.
|
||||
resp, err := c.PutObject(context.Background(), bucketName, objectName, bytes.NewReader(b), int64(bufSize), test.PO)
|
||||
|
|
@ -4172,7 +4183,7 @@ func testFPutObjectMultipart() {
|
|||
"opts": "",
|
||||
}
|
||||
|
||||
c, err := NewClient(ClientConfig{})
|
||||
c, err := NewClient(ClientConfig{TrailingHeaders: true})
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
|
||||
return
|
||||
|
|
@ -5586,6 +5597,161 @@ func testPresignedPostPolicyWrongFile() {
|
|||
logSuccess(testName, function, args, startTime)
|
||||
}
|
||||
|
||||
// testPresignedPostPolicyEmptyFileName tests that an empty file name in the presigned post policy
|
||||
func testPresignedPostPolicyEmptyFileName() {
|
||||
// initialize logging params
|
||||
startTime := time.Now()
|
||||
testName := getFuncName()
|
||||
function := "PresignedPostPolicy(policy)"
|
||||
args := map[string]interface{}{
|
||||
"policy": "",
|
||||
}
|
||||
|
||||
c, err := NewClient(ClientConfig{})
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "MinIO client object creation failed", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Generate a new random bucket name.
|
||||
bucketName := randString(60, rand.NewSource(time.Now().UnixNano()), "minio-go-test-")
|
||||
|
||||
// Make a new bucket in 'us-east-1' (source bucket).
|
||||
err = c.MakeBucket(context.Background(), bucketName, minio.MakeBucketOptions{Region: "us-east-1"})
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "MakeBucket failed", err)
|
||||
return
|
||||
}
|
||||
|
||||
defer cleanupBucket(bucketName, c)
|
||||
|
||||
// Generate 33K of data.
|
||||
reader := getDataReader("datafile-33-kB")
|
||||
defer reader.Close()
|
||||
|
||||
objectName := randString(60, rand.NewSource(time.Now().UnixNano()), "")
|
||||
// Azure requires the key to not start with a number
|
||||
metadataKey := randString(60, rand.NewSource(time.Now().UnixNano()), "user")
|
||||
metadataValue := randString(60, rand.NewSource(time.Now().UnixNano()), "")
|
||||
|
||||
buf, err := io.ReadAll(reader)
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "ReadAll failed", err)
|
||||
return
|
||||
}
|
||||
|
||||
policy := minio.NewPostPolicy()
|
||||
policy.SetBucket(bucketName)
|
||||
policy.SetKey(objectName)
|
||||
policy.SetExpires(time.Now().UTC().AddDate(0, 0, 10)) // expires in 10 days
|
||||
policy.SetContentType("binary/octet-stream")
|
||||
policy.SetContentLengthRange(10, 1024*1024)
|
||||
policy.SetUserMetadata(metadataKey, metadataValue)
|
||||
policy.SetContentEncoding("gzip")
|
||||
|
||||
// Add CRC32C
|
||||
checksum := minio.ChecksumCRC32C.ChecksumBytes(buf)
|
||||
err = policy.SetChecksum(checksum)
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "SetChecksum failed", err)
|
||||
return
|
||||
}
|
||||
|
||||
args["policy"] = policy.String()
|
||||
|
||||
presignedPostPolicyURL, formData, err := c.PresignedPostPolicy(context.Background(), policy)
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "PresignedPostPolicy failed", err)
|
||||
return
|
||||
}
|
||||
|
||||
var formBuf bytes.Buffer
|
||||
writer := multipart.NewWriter(&formBuf)
|
||||
for k, v := range formData {
|
||||
writer.WriteField(k, v)
|
||||
}
|
||||
|
||||
// Get a 33KB file to upload and test if set post policy works
|
||||
filePath := getMintDataDirFilePath("datafile-33-kB")
|
||||
if filePath == "" {
|
||||
// Make a temp file with 33 KB data.
|
||||
file, err := os.CreateTemp(os.TempDir(), "PresignedPostPolicyTest")
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "TempFile creation failed", err)
|
||||
return
|
||||
}
|
||||
if _, err = io.Copy(file, getDataReader("datafile-33-kB")); err != nil {
|
||||
logError(testName, function, args, startTime, "", "Copy failed", err)
|
||||
return
|
||||
}
|
||||
if err = file.Close(); err != nil {
|
||||
logError(testName, function, args, startTime, "", "File Close failed", err)
|
||||
return
|
||||
}
|
||||
filePath = file.Name()
|
||||
}
|
||||
|
||||
// add file to post request
|
||||
f, err := os.Open(filePath)
|
||||
defer f.Close()
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "File open failed", err)
|
||||
return
|
||||
}
|
||||
w, err := writer.CreateFormFile("", filePath)
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "CreateFormFile failed", err)
|
||||
return
|
||||
}
|
||||
|
||||
_, err = io.Copy(w, f)
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "Copy failed", err)
|
||||
return
|
||||
}
|
||||
writer.Close()
|
||||
|
||||
httpClient := &http.Client{
|
||||
// Setting a sensible time out of 30secs to wait for response
|
||||
// headers. Request is pro-actively canceled after 30secs
|
||||
// with no response.
|
||||
Timeout: 30 * time.Second,
|
||||
Transport: createHTTPTransport(),
|
||||
}
|
||||
args["url"] = presignedPostPolicyURL.String()
|
||||
|
||||
req, err := http.NewRequest(http.MethodPost, presignedPostPolicyURL.String(), bytes.NewReader(formBuf.Bytes()))
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "Http request failed", err)
|
||||
return
|
||||
}
|
||||
|
||||
req.Header.Set("Content-Type", writer.FormDataContentType())
|
||||
|
||||
// make post request with correct form data
|
||||
res, err := httpClient.Do(req)
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "Http request failed", err)
|
||||
return
|
||||
}
|
||||
defer res.Body.Close()
|
||||
if res.StatusCode != http.StatusBadRequest {
|
||||
logError(testName, function, args, startTime, "", "Http request failed", errors.New(res.Status))
|
||||
return
|
||||
}
|
||||
|
||||
body, err := io.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
logError(testName, function, args, startTime, "", "ReadAll failed", err)
|
||||
return
|
||||
}
|
||||
if !strings.Contains(string(body), "MalformedPOSTRequest") {
|
||||
logError(testName, function, args, startTime, "", "Invalid error from server", errors.New(string(body)))
|
||||
}
|
||||
|
||||
logSuccess(testName, function, args, startTime)
|
||||
}
|
||||
|
||||
// Tests copy object
|
||||
func testCopyObject() {
|
||||
// initialize logging params
|
||||
|
|
@ -11560,8 +11726,11 @@ func testPutObjectMetadataNonUSASCIIV2() {
|
|||
}
|
||||
|
||||
for k, v := range metadata {
|
||||
if strings.HasPrefix(strings.ToLower(k), "x-amz-checksum-") {
|
||||
continue
|
||||
}
|
||||
if st.Metadata.Get(http.CanonicalHeaderKey("X-Amz-Meta-"+k)) != v {
|
||||
logError(testName, function, args, startTime, "", "Expected upload object metadata "+k+": "+v+" but got "+st.Metadata.Get("X-Amz-Meta-"+k), err)
|
||||
logError(testName, function, args, startTime, "", "Expected upload object metadata "+k+": "+v+" but got "+st.Metadata.Get(http.CanonicalHeaderKey("X-Amz-Meta-"+k)), err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
@ -14069,8 +14238,7 @@ func main() {
|
|||
testUserMetadataCopyingV2()
|
||||
testPutObjectWithChecksums()
|
||||
testPutObjectWithTrailingChecksums()
|
||||
testPutMultipartObjectWithChecksums(false)
|
||||
testPutMultipartObjectWithChecksums(true)
|
||||
testPutMultipartObjectWithChecksums()
|
||||
testPutObject0ByteV2()
|
||||
testPutObjectMetadataNonUSASCIIV2()
|
||||
testPutObjectNoLengthV2()
|
||||
|
|
@ -14098,6 +14266,7 @@ func main() {
|
|||
testGetObjectReadAtWhenEOFWasReached()
|
||||
testPresignedPostPolicy()
|
||||
testPresignedPostPolicyWrongFile()
|
||||
testPresignedPostPolicyEmptyFileName()
|
||||
testCopyObject()
|
||||
testComposeObjectErrorCases()
|
||||
testCompose10KSources()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue