github.com/ngocphuongnb/tetua@v0.0.7-alpha/app/mock/disk.go (about) 1 package mock 2 3 import ( 4 "context" 5 "errors" 6 "io" 7 "mime/multipart" 8 9 "github.com/ngocphuongnb/tetua/app/fs" 10 ) 11 12 type Disk struct { 13 } 14 15 func (d *Disk) Name() string { 16 return "disk_mock" 17 } 18 19 func (d *Disk) Url(path string) string { 20 return "/disk_mock/" + path 21 } 22 23 func (d *Disk) Delete(ctx context.Context, path string) error { 24 if path == "/delete/error" { 25 return errors.New("Delete file error") 26 } 27 return nil 28 } 29 30 func (d *Disk) Put(ctx context.Context, in io.Reader, size int64, mime, dst string) (*fs.FileInfo, error) { 31 return nil, nil 32 } 33 34 func (d *Disk) PutMultipart(ctx context.Context, m *multipart.FileHeader, dsts ...string) (*fs.FileInfo, error) { 35 if m.Filename == "error.jpg" { 36 return nil, errors.New("PutMultipart error") 37 } 38 39 mime := "" 40 41 if mimes := m.Header["Content-Type"]; len(mimes) > 0 { 42 mime = mimes[0] 43 } 44 45 return &fs.FileInfo{ 46 Disk: d.Name(), 47 Path: m.Filename, 48 Type: mime, 49 Size: 100, 50 }, nil 51 }