e9ca8f38e6
* update dagger init with package manager downloading stdlib Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * split mod get and update functions Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * write to package checksum to dagger.sum when installing/updating Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * encure checksums are valid when compiling input Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * remove references to github.com/tjovicic in docs 1010 and 1011 Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * refactor mod get command Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * update logic of moving dir when installing packages Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * fix linting errors Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * revert changes to 1010 docs Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * updating error log line in mod/get Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * fix ci tests when using vendoring Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * update alpha.dagger.io version to v0.1 Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * fix mod repo test Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * return error if package already installed Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * remove already installed packages when installing Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * fix issue when vendoring stdlib Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * update mod command with filelock while installing Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * fix linting errors Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> * fix path of mod lock file Signed-off-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> Co-authored-by: Tihomir Jovicic <tihomir.jovicic.develop@gmail.com> Signed-off-by: Sam Alba <sam.alba@gmail.com>
124 lines
2.6 KiB
Go
124 lines
2.6 KiB
Go
package mod
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestParseArgument(t *testing.T) {
|
|
cases := []struct {
|
|
name string
|
|
in string
|
|
want *Require
|
|
hasError bool
|
|
}{
|
|
{
|
|
name: "Random",
|
|
in: "abcd/bla@:/xyz",
|
|
hasError: true,
|
|
},
|
|
{
|
|
name: "Dagger repo",
|
|
in: "github.com/dagger/dagger",
|
|
want: &Require{
|
|
repo: "github.com/dagger/dagger",
|
|
path: "",
|
|
version: "",
|
|
},
|
|
},
|
|
{
|
|
name: "Dagger repo with path",
|
|
in: "github.com/dagger/dagger/stdlib",
|
|
want: &Require{
|
|
repo: "github.com/dagger/dagger",
|
|
path: "/stdlib",
|
|
version: "",
|
|
},
|
|
},
|
|
{
|
|
name: "Dagger repo with longer path",
|
|
in: "github.com/dagger/dagger/stdlib/test/test",
|
|
want: &Require{
|
|
repo: "github.com/dagger/dagger",
|
|
path: "/stdlib/test/test",
|
|
version: "",
|
|
},
|
|
},
|
|
{
|
|
name: "Dagger repo with path and version",
|
|
in: "github.com/dagger/dagger/stdlib@v0.1",
|
|
want: &Require{
|
|
repo: "github.com/dagger/dagger",
|
|
path: "/stdlib",
|
|
version: "v0.1",
|
|
},
|
|
},
|
|
{
|
|
name: "Dagger repo with longer path and version tag",
|
|
in: "github.com/dagger/dagger/stdlib/test/test@v0.0.1",
|
|
want: &Require{
|
|
repo: "github.com/dagger/dagger",
|
|
path: "/stdlib/test/test",
|
|
version: "v0.0.1",
|
|
},
|
|
},
|
|
{
|
|
name: "Alpha Dagger repo with path",
|
|
in: "alpha.dagger.io/gcp/gke@v0.1.0-alpha.20",
|
|
want: &Require{
|
|
repo: "alpha.dagger.io",
|
|
path: "/gcp/gke",
|
|
version: "v0.1.0-alpha.20",
|
|
|
|
cloneRepo: "github.com/dagger/dagger",
|
|
clonePath: "/stdlib/gcp/gke",
|
|
},
|
|
},
|
|
{
|
|
name: "Alpha Dagger repo",
|
|
in: "alpha.dagger.io@v0.1.0-alpha.23",
|
|
want: &Require{
|
|
repo: "alpha.dagger.io",
|
|
path: "",
|
|
version: "v0.1.0-alpha.23",
|
|
|
|
cloneRepo: "github.com/dagger/dagger",
|
|
clonePath: "/stdlib",
|
|
},
|
|
},
|
|
{
|
|
name: "Dagger repo with longer path and commit version",
|
|
in: "github.com/dagger/dagger/stdlib/test/test@26a1d46d1b3c",
|
|
want: &Require{
|
|
repo: "github.com/dagger/dagger",
|
|
path: "/stdlib/test/test",
|
|
version: "26a1d46d1b3c",
|
|
},
|
|
},
|
|
}
|
|
|
|
for _, c := range cases {
|
|
t.Run(c.name, func(t *testing.T) {
|
|
got, err := newRequire(c.in)
|
|
if err != nil && c.hasError {
|
|
return
|
|
}
|
|
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if got.repo != c.want.repo {
|
|
t.Errorf("repos differ: want %s, got %s", c.want.repo, got.repo)
|
|
}
|
|
|
|
if got.path != c.want.path {
|
|
t.Errorf("paths differ: want %s, got %s", c.want.path, got.path)
|
|
}
|
|
|
|
if got.version != c.want.version {
|
|
t.Errorf("versions differ: want %s, got %s", c.want.version, got.version)
|
|
}
|
|
})
|
|
}
|
|
}
|