mirror of
https://github.com/octoleo/restic.git
synced 2024-06-01 08:30:49 +00:00
49 lines
1010 B
Go
49 lines
1010 B
Go
package rest
|
|
|
|
import (
|
|
"net/url"
|
|
"restic"
|
|
"testing"
|
|
)
|
|
|
|
var restPathTests = []struct {
|
|
Handle restic.Handle
|
|
URL *url.URL
|
|
Result string
|
|
}{
|
|
{
|
|
URL: parseURL("https://hostname.foo"),
|
|
Handle: restic.Handle{
|
|
FileType: restic.DataFile,
|
|
Name: "foobar",
|
|
},
|
|
Result: "https://hostname.foo/data/foobar",
|
|
},
|
|
{
|
|
URL: parseURL("https://hostname.foo:1234/prefix/repo"),
|
|
Handle: restic.Handle{
|
|
FileType: restic.LockFile,
|
|
Name: "foobar",
|
|
},
|
|
Result: "https://hostname.foo:1234/prefix/repo/locks/foobar",
|
|
},
|
|
{
|
|
URL: parseURL("https://hostname.foo:1234/prefix/repo"),
|
|
Handle: restic.Handle{
|
|
FileType: restic.ConfigFile,
|
|
Name: "foobar",
|
|
},
|
|
Result: "https://hostname.foo:1234/prefix/repo/config",
|
|
},
|
|
}
|
|
|
|
func TestRESTPaths(t *testing.T) {
|
|
for i, test := range restPathTests {
|
|
result := restPath(test.URL, test.Handle)
|
|
if result != test.Result {
|
|
t.Errorf("test %d: resulting URL does not match, want:\n %#v\ngot: \n %#v",
|
|
i, test.Result, result)
|
|
}
|
|
}
|
|
}
|