forked from TrueCloudLab/restic
36 lines
888 B
Go
36 lines
888 B
Go
package backend
|
|
|
|
import (
|
|
"testing"
|
|
|
|
rtest "github.com/restic/restic/internal/test"
|
|
)
|
|
|
|
func TestHandleString(t *testing.T) {
|
|
rtest.Equals(t, "<data/foobar>", Handle{Type: PackFile, Name: "foobar"}.String())
|
|
rtest.Equals(t, "<lock/1>", Handle{Type: LockFile, Name: "1"}.String())
|
|
}
|
|
|
|
func TestHandleValid(t *testing.T) {
|
|
var handleTests = []struct {
|
|
h Handle
|
|
valid bool
|
|
}{
|
|
{Handle{Name: "foo"}, false},
|
|
{Handle{Type: 0}, false},
|
|
{Handle{Type: ConfigFile, Name: ""}, true},
|
|
{Handle{Type: PackFile, Name: ""}, false},
|
|
{Handle{Type: LockFile, Name: "010203040506"}, true},
|
|
}
|
|
|
|
for i, test := range handleTests {
|
|
err := test.h.Valid()
|
|
if err != nil && test.valid {
|
|
t.Errorf("test %v failed: error returned for valid handle: %v", i, err)
|
|
}
|
|
|
|
if !test.valid && err == nil {
|
|
t.Errorf("test %v failed: expected error for invalid handle not found", i)
|
|
}
|
|
}
|
|
}
|