X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/52cca9dc7c50ef8c54c9dc83a2ccf0129c27485e..ffe1fe1c77743147ee82aacdc50edde3672cd748:/services/keepstore/volume_test.go diff --git a/services/keepstore/volume_test.go b/services/keepstore/volume_test.go index 2907225575..5671b8d4a9 100644 --- a/services/keepstore/volume_test.go +++ b/services/keepstore/volume_test.go @@ -52,7 +52,7 @@ type MockVolume struct { // channel unblocks all operations. By default, Gate is a // closed channel, so all operations proceed without // blocking. See trash_worker_test.go for an example. - Gate chan struct{} + Gate chan struct{} called map[string]int mutex sync.Mutex @@ -78,11 +78,11 @@ func CreateMockVolume() *MockVolume { func (v *MockVolume) CallCount(method string) int { v.mutex.Lock() defer v.mutex.Unlock() - if c, ok := v.called[method]; !ok { + c, ok := v.called[method] + if !ok { return 0 - } else { - return c } + return c } func (v *MockVolume) gotCall(method string) { @@ -113,17 +113,16 @@ func (v *MockVolume) Compare(loc string, buf []byte) error { } } -func (v *MockVolume) Get(loc string) ([]byte, error) { +func (v *MockVolume) Get(loc string, buf []byte) (int, error) { v.gotCall("Get") <-v.Gate if v.Bad { - return nil, errors.New("Bad volume") + return 0, errors.New("Bad volume") } else if block, ok := v.Store[loc]; ok { - buf := bufs.Get(len(block)) - copy(buf, block) - return buf, nil + copy(buf[:len(block)], block) + return len(block), nil } - return nil, os.ErrNotExist + return 0, os.ErrNotExist } func (v *MockVolume) Put(loc string, block []byte) error { @@ -183,14 +182,14 @@ func (v *MockVolume) IndexTo(prefix string, w io.Writer) error { return nil } -func (v *MockVolume) Delete(loc string) error { +func (v *MockVolume) Trash(loc string) error { v.gotCall("Delete") <-v.Gate if v.Readonly { return MethodDisabledError } if _, ok := v.Store[loc]; ok { - if time.Since(v.Timestamps[loc]) < blob_signature_ttl { + if time.Since(v.Timestamps[loc]) < blobSignatureTTL { return nil } delete(v.Store, loc) @@ -199,6 +198,11 @@ func (v *MockVolume) Delete(loc string) error { return os.ErrNotExist } +// TBD +func (v *MockVolume) Untrash(loc string) error { + return nil +} + func (v *MockVolume) Status() *VolumeStatus { var used uint64 for _, block := range v.Store { @@ -214,3 +218,10 @@ func (v *MockVolume) String() string { func (v *MockVolume) Writable() bool { return !v.Readonly } + +func (v *MockVolume) Replication() int { + return 1 +} + +func (v *MockVolume) EmptyTrash() { +}