2
2
mirror of https://github.com/octoleo/restic.git synced 2024-11-30 00:33:57 +00:00

Merge pull request #3480 from MichaelEischer/fix-rest-tests

Fix rest backend tests
This commit is contained in:
MichaelEischer 2021-08-15 18:59:02 +02:00 committed by GitHub
commit ecf34783ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 48 deletions

View File

@ -50,7 +50,7 @@ func runRESTServer(ctx context.Context, t testing.TB, dir string) (*url.URL, fun
return nil, nil
}
url, err := url.Parse("http://localhost:8000/restic-test")
url, err := url.Parse("http://localhost:8000/restic-test/")
if err != nil {
t.Fatal(err)
}

View File

@ -13,6 +13,7 @@ import (
"testing"
"time"
"github.com/minio/sha256-simd"
"github.com/restic/restic/internal/errors"
"github.com/restic/restic/internal/restic"
@ -484,12 +485,11 @@ func (s *Suite) TestSave(t *testing.T) {
for i := 0; i < saveTests; i++ {
length := rand.Intn(1<<23) + 200000
data := test.Random(23, length)
// use the first 32 byte as the ID
copy(id[:], data)
id = sha256.Sum256(data)
h := restic.Handle{
Type: restic.PackFile,
Name: fmt.Sprintf("%s-%d", id, i),
Name: id.String(),
}
err := b.Save(context.TODO(), h, restic.NewByteReader(data, b.Hasher()))
test.OK(t, err)
@ -529,7 +529,7 @@ func (s *Suite) TestSave(t *testing.T) {
length := rand.Intn(1<<23) + 200000
data := test.Random(23, length)
copy(id[:], data)
id = sha256.Sum256(data)
if _, err = tmpfile.Write(data); err != nil {
t.Fatal(err)
@ -657,49 +657,6 @@ func (s *Suite) TestSaveWrongHash(t *testing.T) {
}
}
var filenameTests = []struct {
name string
data string
}{
{"1dfc6bc0f06cb255889e9ea7860a5753e8eb9665c9a96627971171b444e3113e", "x"},
{"f00b4r", "foobar"},
{
"1dfc6bc0f06cb255889e9ea7860a5753e8eb9665c9a96627971171b444e3113e4bf8f2d9144cc5420a80f04a4880ad6155fc58903a4fb6457c476c43541dcaa6-5",
"foobar content of data blob",
},
}
// TestSaveFilenames tests saving data with various file names in the backend.
func (s *Suite) TestSaveFilenames(t *testing.T) {
b := s.open(t)
defer s.close(t, b)
for i, test := range filenameTests {
h := restic.Handle{Name: test.name, Type: restic.PackFile}
err := b.Save(context.TODO(), h, restic.NewByteReader([]byte(test.data), b.Hasher()))
if err != nil {
t.Errorf("test %d failed: Save() returned %+v", i, err)
continue
}
buf, err := backend.LoadAll(context.TODO(), nil, b, h)
if err != nil {
t.Errorf("test %d failed: Load() returned %+v", i, err)
continue
}
if !bytes.Equal(buf, []byte(test.data)) {
t.Errorf("test %d: returned wrong bytes", i)
}
err = b.Remove(context.TODO(), h)
if err != nil {
t.Errorf("test %d failed: Remove() returned %+v", i, err)
continue
}
}
}
var testStrings = []struct {
id string
data string