github.com/anthonymayer/glide@v0.0.0-20160224162501-bff8b50d232e/dependency/resolver_test.go (about) 1 package dependency 2 3 import ( 4 "os" 5 "path/filepath" 6 "strings" 7 "testing" 8 9 "github.com/Masterminds/glide/cfg" 10 ) 11 12 func TestResolveLocalShallow(t *testing.T) { 13 r, err := NewResolver("../") 14 if err != nil { 15 t.Fatal(err) 16 } 17 18 l, err := r.ResolveLocal(false) 19 if err != nil { 20 t.Fatalf("Failed to resolve: %s", err) 21 } 22 23 expect := []string{ 24 "github.com/Masterminds/semver", 25 "github.com/Masterminds/vcs", 26 "gopkg.in/yaml.v2", 27 "github.com/codegangsta/cli", 28 } 29 30 for _, p := range expect { 31 found := false 32 for _, li := range l { 33 if strings.HasSuffix(li, p) { 34 found = true 35 break 36 } 37 } 38 if !found { 39 t.Errorf("Could not find %s in resolved list.", p) 40 } 41 } 42 } 43 44 func TestResolveLocalDeep(t *testing.T) { 45 r, err := NewResolver("../") 46 if err != nil { 47 t.Fatal(err) 48 } 49 50 l, err := r.ResolveLocal(true) 51 if err != nil { 52 t.Fatalf("Failed to resolve: %s", err) 53 } 54 55 if len(l) < 4 { 56 t.Errorf("Expected at least 4 deps, got %d", len(l)) 57 } 58 } 59 60 func TestResolve(t *testing.T) { 61 r, err := NewResolver("../") 62 if err != nil { 63 t.Fatal(err) 64 } 65 66 base := filepath.Join(os.Getenv("GOPATH"), "src/github.com/Masterminds/glide/vendor") 67 l, err := r.Resolve("github.com/codegangsta/cli", base) 68 if err != nil { 69 t.Fatalf("Failed to resolve: %s", err) 70 } 71 72 if len(l) != 1 { 73 t.Errorf("Expected 1 dep, got %d: %s", len(l), l[0]) 74 } 75 76 if !strings.HasSuffix("github.com/codegangsta/cli", l[0]) { 77 t.Errorf("Unexpected package name: %s", l[0]) 78 } 79 } 80 81 func TestResolveAll(t *testing.T) { 82 // These are build dependencies of Glide, so we know they are here. 83 deps := []*cfg.Dependency{ 84 {Name: "github.com/codegangsta/cli"}, 85 {Name: "github.com/Masterminds/semver"}, 86 {Name: "github.com/Masterminds/vcs"}, 87 {Name: "gopkg.in/yaml.v2"}, 88 } 89 90 r, err := NewResolver("../") 91 if err != nil { 92 t.Fatalf("No new resolver: %s", err) 93 } 94 l, err := r.ResolveAll(deps) 95 if err != nil { 96 t.Fatalf("Failed to resolve: %s", err) 97 } 98 99 if len(l) < len(deps) { 100 t.Errorf("Expected at least %d deps, got %d", len(deps), len(l)) 101 } 102 }