Improve filestore test
All checks were successful
ci/woodpecker/tag/woodpecker Pipeline was successful

This commit is contained in:
Torjus Håkestad 2022-01-24 16:38:17 +01:00
parent 1a3ebcb1df
commit 4054bb2cd3
2 changed files with 16 additions and 3 deletions

View File

@ -61,6 +61,7 @@ func (s *MemoryFileStore) Get(id string) (*File, error) {
MaxViews: fd.MaxViews,
ExpiresOn: fd.ExpiresOn,
Body: io.NopCloser(&fd.Body),
FileSize: fd.FileSize,
}
return f, nil

View File

@ -21,9 +21,10 @@ func RunFilestoreTest(s files.FileStore, t *testing.T) {
bodyBuf.Write([]byte(dataString))
body := io.NopCloser(bodyBuf)
f := &files.File{
ID: id,
MaxViews: 0,
Body: body,
ID: id,
MaxViews: 99,
Body: body,
ExpiresOn: time.Now().Add(99 * time.Second),
}
err := s.Store(f)
@ -50,6 +51,17 @@ func RunFilestoreTest(s files.FileStore, t *testing.T) {
if retrievedBuf.String() != dataString {
t.Fatalf("Data from retrieved body mismatch. Got %s want %s", retrievedBuf.String(), dataString)
}
expected := &files.File{
ID: f.ID,
MaxViews: f.MaxViews,
ExpiresOn: f.ExpiresOn,
FileSize: int64(len(dataString)),
}
ignoreBody := cmp.FilterPath(func(p cmp.Path) bool { return p.String() == "Body" }, cmp.Ignore())
if diff := cmp.Diff(retrieved, expected, ignoreBody); diff != "" {
t.Errorf("File comparison failed: %s", diff)
}
// List
ids, err := s.List()