47 lines
1.1 KiB
Go
47 lines
1.1 KiB
Go
package memorylocker
|
|
|
|
import (
|
|
"io"
|
|
"testing"
|
|
|
|
"github.com/tus/tusd"
|
|
)
|
|
|
|
type zeroStore struct{}
|
|
|
|
func (store zeroStore) NewUpload(info tusd.FileInfo) (string, error) {
|
|
return "", nil
|
|
}
|
|
func (store zeroStore) WriteChunk(id string, offset int64, src io.Reader) (int64, error) {
|
|
return 0, nil
|
|
}
|
|
|
|
func (store zeroStore) GetInfo(id string) (tusd.FileInfo, error) {
|
|
return tusd.FileInfo{}, nil
|
|
}
|
|
|
|
func (store zeroStore) GetReader(id string) (io.Reader, error) {
|
|
return nil, tusd.ErrNotImplemented
|
|
}
|
|
|
|
func TestMemoryLocker(t *testing.T) {
|
|
var locker tusd.LockerDataStore
|
|
locker = NewMemoryLocker(&zeroStore{})
|
|
|
|
if err := locker.LockUpload("one"); err != nil {
|
|
t.Errorf("unexpected error when locking file: %s", err)
|
|
}
|
|
|
|
if err := locker.LockUpload("one"); err != tusd.ErrFileLocked {
|
|
t.Errorf("expected error when locking locked file: %s", err)
|
|
}
|
|
|
|
if err := locker.UnlockUpload("one"); err != nil {
|
|
t.Errorf("unexpected error when unlocking file: %s", err)
|
|
}
|
|
|
|
if err := locker.UnlockUpload("one"); err != nil {
|
|
t.Errorf("unexpected error when unlocking file again: %s", err)
|
|
}
|
|
}
|