Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix unit tests
Browse files Browse the repository at this point in the history
hwbrzzl committed Nov 20, 2023
1 parent c098eeb commit 6392802
Showing 2 changed files with 21 additions and 7 deletions.
22 changes: 17 additions & 5 deletions s3.go
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ import (
"fmt"
"io"
"os"
"path/filepath"
"strings"
"time"

@@ -130,7 +131,7 @@ func (r *S3) Delete(files ...string) error {
Bucket: aws.String(r.bucket),
Delete: &types.Delete{
Objects: objectIdentifiers,
Quiet: true,
Quiet: aws.Bool(true),
},
})

@@ -164,7 +165,7 @@ func (r *S3) DeleteDirectory(directory string) error {
}
}

if listObjectsV2Response.IsTruncated {
if *listObjectsV2Response.IsTruncated {
listObjectsV2Response, err = r.instance.ListObjectsV2(r.ctx, &s3.ListObjectsV2Input{
Bucket: aws.String(r.bucket),
ContinuationToken: listObjectsV2Response.ContinuationToken,
@@ -219,7 +220,12 @@ func (r *S3) Files(path string) ([]string, error) {
return nil, err
}
for _, object := range listObjsResponse.Contents {
files = append(files, strings.ReplaceAll(*object.Key, validPath, ""))
file := strings.ReplaceAll(*object.Key, validPath, "")
if file == "" {
continue
}

files = append(files, file)
}

return files, nil
@@ -305,12 +311,18 @@ func (r *S3) Path(file string) string {
}

func (r *S3) Put(file string, content string) error {
if ext := filepath.Ext(file); ext != "" {
if err := r.MakeDirectory(filepath.Dir(file)); err != nil {
return err
}
}

mtype := mimetype.Detect([]byte(content))
_, err := r.instance.PutObject(r.ctx, &s3.PutObjectInput{
Bucket: aws.String(r.bucket),
Key: aws.String(file),
Body: strings.NewReader(content),
ContentLength: int64(len(content)),
ContentLength: aws.Int64(int64(len(content))),
ContentType: aws.String(mtype.String()),
})

@@ -348,7 +360,7 @@ func (r *S3) Size(file string) (int64, error) {
return 0, err
}

return resp.ContentLength, nil
return *resp.ContentLength, nil
}

func (r *S3) TemporaryUrl(file string, t time.Time) (string, error) {
6 changes: 4 additions & 2 deletions s3_test.go
Original file line number Diff line number Diff line change
@@ -251,6 +251,8 @@ func TestStorage(t *testing.T) {
mimeType, err = driver.MimeType(path)
assert.Nil(t, err)
assert.Equal(t, "image/png", mimeType)

assert.Nil(t, driver.DeleteDirectory("MimeType"))
},
},
{
@@ -269,7 +271,7 @@ func TestStorage(t *testing.T) {
name: "Put",
setup: func() {
assert.Nil(t, driver.Put("Put/1.txt", "Goravel"))
assert.True(t, driver.Exists("Put"))
assert.True(t, driver.Exists("Put/"))
assert.True(t, driver.Exists("Put/1.txt"))
assert.True(t, driver.Missing("Put/2.txt"))
assert.Nil(t, driver.DeleteDirectory("Put"))
@@ -291,7 +293,7 @@ func TestStorage(t *testing.T) {
fileInfo := &File{path: "test.txt"}
path, err := driver.PutFile("PutFile", fileInfo)
assert.Nil(t, err)
assert.True(t, driver.Exists("PutFile"))
assert.True(t, driver.Exists("PutFile/"))
assert.True(t, driver.Exists(path))
data, err := driver.Get(path)
assert.Nil(t, err)

0 comments on commit 6392802

Please sign in to comment.