2
2
mirror of https://github.com/octoleo/restic.git synced 2024-06-18 16:52:22 +00:00
restic/src/restic/backend/sftp/layout_test.go

51 lines
991 B
Go
Raw Normal View History

2017-04-10 20:35:03 +00:00
package sftp_test
import (
"fmt"
"path/filepath"
"restic/backend/sftp"
. "restic/test"
"testing"
)
func TestLayout(t *testing.T) {
if sftpserver == "" {
t.Skip("sftp server binary not available")
}
2017-04-10 20:35:03 +00:00
path, cleanup := TempDir(t)
defer cleanup()
var tests = []struct {
filename string
layout string
failureExpected bool
}{
{"repo-layout-local.tar.gz", "", false},
{"repo-layout-cloud.tar.gz", "", false},
{"repo-layout-s3-old.tar.gz", "", false},
}
for _, test := range tests {
t.Run(test.filename, func(t *testing.T) {
SetupTarTestFixture(t, path, filepath.Join("..", "testdata", test.filename))
repo := filepath.Join(path, "repo")
be, err := sftp.Open(sftp.Config{
Command: fmt.Sprintf("%q -e", sftpserver),
Path: repo,
Layout: test.layout,
})
if err != nil {
t.Fatal(err)
}
if be == nil {
t.Fatalf("Open() returned nil but no error")
}
RemoveAll(t, filepath.Join(path, "repo"))
})
}
}