50 lines
1.3 KiB
Go
50 lines
1.3 KiB
Go
package v1_test
|
|
|
|
import (
|
|
"fmt"
|
|
v1 "github.com/cirruslabs/orchard/pkg/resource/v1"
|
|
"github.com/stretchr/testify/require"
|
|
"testing"
|
|
)
|
|
|
|
func TestHostDir(t *testing.T) {
|
|
hostDir, err := v1.NewHostDirFromString("large-project:/Users/ci/src/www:ro")
|
|
require.NoError(t, err)
|
|
require.EqualValues(t, v1.HostDir{
|
|
Name: "large-project",
|
|
Path: "/Users/ci/src/www",
|
|
ReadOnly: true,
|
|
}, hostDir)
|
|
}
|
|
|
|
func TestHostDirString(t *testing.T) {
|
|
require.EqualValues(t, "large-project:/Users/ci/src/www:ro", v1.HostDir{
|
|
Name: "large-project",
|
|
Path: "/Users/ci/src/www",
|
|
ReadOnly: true,
|
|
}.String())
|
|
}
|
|
|
|
// TestHostDirWithArchiveURL ensures that Orchard supports "http{,s}://" paths[1].
|
|
//
|
|
// [1]: https://github.com/cirruslabs/tart/pull/620
|
|
func TestHostDirWithArchiveURL(t *testing.T) {
|
|
const hostDirRaw = "ghar:https://example.com/archive.tar.gz"
|
|
|
|
hostDir, err := v1.NewHostDirFromString(hostDirRaw)
|
|
require.NoError(t, err)
|
|
require.EqualValues(t, v1.HostDir{
|
|
Name: "ghar",
|
|
Path: "https://example.com/archive.tar.gz",
|
|
ReadOnly: false,
|
|
}, hostDir)
|
|
|
|
hostDirReadOnly, err := v1.NewHostDirFromString(fmt.Sprintf("%s:ro", hostDirRaw))
|
|
require.NoError(t, err)
|
|
require.EqualValues(t, v1.HostDir{
|
|
Name: "ghar",
|
|
Path: "https://example.com/archive.tar.gz",
|
|
ReadOnly: true,
|
|
}, hostDirReadOnly)
|
|
}
|