Skip to content
This repository was archived by the owner on Sep 9, 2020. It is now read-only.

Commit c77daf6

Browse files
committed
update importer tests
1 parent 9792716 commit c77daf6

File tree

9 files changed

+45
-38
lines changed

9 files changed

+45
-38
lines changed

internal/importers/base/importer_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -405,10 +405,10 @@ func TestBaseImporter_ImportProjects(t *testing.T) {
405405
name := name
406406
tc := tc
407407
t.Run(name, func(t *testing.T) {
408-
err := tc.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error) {
408+
err := tc.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock) {
409409
i := NewImporter(logger, true, sm)
410-
convertErr := i.ImportPackages(tc.projects, tc.DefaultConstraintFromLock)
411-
return i.Manifest, i.Lock, convertErr
410+
i.ImportPackages(tc.projects, tc.DefaultConstraintFromLock)
411+
return i.Manifest, i.Lock
412412
})
413413
if err != nil {
414414
t.Fatalf("%#v", err)

internal/importers/glide/importer_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ func TestGlideConfig_Convert(t *testing.T) {
125125
},
126126
glideLock{},
127127
importertest.TestCase{
128-
WantConvertErr: true,
128+
WantWarning: "Warning: Invalid glide configuration: Name is required",
129129
},
130130
},
131131
"warn unused os field": {
@@ -160,7 +160,7 @@ func TestGlideConfig_Convert(t *testing.T) {
160160
name := name
161161
testCase := testCase
162162
t.Run(name, func(t *testing.T) {
163-
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error) {
163+
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock) {
164164
g := NewImporter(logger, true, sm)
165165
g.glideConfig = testCase.yaml
166166
g.glideLock = testCase.lock

internal/importers/glock/importer_test.go

+6-3
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,16 @@ func TestGlockConfig_Convert(t *testing.T) {
3838
},
3939
"missing package name": {
4040
importertest.TestCase{
41-
WantConvertErr: true,
41+
WantWarning: "Warning: Invalid glock configuration, import path is required",
4242
},
4343
[]glockPackage{{importPath: ""}},
4444
},
4545
"missing revision": {
4646
importertest.TestCase{
47-
WantConvertErr: true,
47+
WantWarning: fmt.Sprintf(
48+
"Warning: Invalid glock configuration, revision not found for import path %q",
49+
importertest.Project,
50+
),
4851
},
4952
[]glockPackage{{importPath: importertest.Project}},
5053
},
@@ -54,7 +57,7 @@ func TestGlockConfig_Convert(t *testing.T) {
5457
name := name
5558
testCase := testCase
5659
t.Run(name, func(t *testing.T) {
57-
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error) {
60+
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock) {
5861
g := NewImporter(logger, true, sm)
5962
g.packages = testCase.packages
6063
return g.convert(importertest.RootProject)

internal/importers/godep/importer_test.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package godep
66

77
import (
88
"bytes"
9+
"fmt"
910
"log"
1011
"path/filepath"
1112
"testing"
@@ -55,15 +56,18 @@ func TestGodepConfig_Convert(t *testing.T) {
5556
},
5657
"missing package name": {
5758
importertest.TestCase{
58-
WantConvertErr: true,
59+
WantWarning: "Warning: Invalid godep configuration, ImportPath is required",
5960
},
6061
godepJSON{
6162
Imports: []godepPackage{{ImportPath: ""}},
6263
},
6364
},
6465
"missing revision": {
6566
importertest.TestCase{
66-
WantConvertErr: true,
67+
WantWarning: fmt.Sprintf(
68+
"Warning: Invalid godep configuration, Rev not found for ImportPath %q",
69+
importertest.Project,
70+
),
6771
},
6872
godepJSON{
6973
Imports: []godepPackage{
@@ -79,7 +83,7 @@ func TestGodepConfig_Convert(t *testing.T) {
7983
name := name
8084
testCase := testCase
8185
t.Run(name, func(t *testing.T) {
82-
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error) {
86+
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock) {
8387
g := NewImporter(logger, true, sm)
8488
g.json = testCase.json
8589
return g.convert(importertest.RootProject)

internal/importers/govend/importer_test.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package govend
66

77
import (
88
"bytes"
9+
"fmt"
910
"log"
1011
"path/filepath"
1112
"testing"
@@ -46,7 +47,7 @@ func TestGovendConfig_Convert(t *testing.T) {
4647
},
4748
},
4849
importertest.TestCase{
49-
WantConvertErr: true,
50+
WantWarning: "Warning: Invalid govend configuration, path is required",
5051
},
5152
},
5253

@@ -59,7 +60,10 @@ func TestGovendConfig_Convert(t *testing.T) {
5960
},
6061
},
6162
importertest.TestCase{
62-
WantConvertErr: true,
63+
WantWarning: fmt.Sprintf(
64+
"Warning: Invalid govend configuration, rev not found for Path %q",
65+
importertest.Project,
66+
),
6367
},
6468
},
6569
}
@@ -68,7 +72,7 @@ func TestGovendConfig_Convert(t *testing.T) {
6872
name := name
6973
testCase := testCase
7074
t.Run(name, func(t *testing.T) {
71-
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error) {
75+
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock) {
7276
g := NewImporter(logger, true, sm)
7377
g.yaml = testCase.yaml
7478
return g.convert(importertest.RootProject)

internal/importers/govendor/importer_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ func TestGovendorConfig_Convert(t *testing.T) {
121121
},
122122
},
123123
importertest.TestCase{
124-
WantConvertErr: true,
124+
WantWarning: "Warning: Invalid govendor configuration, Path is required",
125125
},
126126
},
127127
"missing package revision doesn't cause an error": {
@@ -142,7 +142,7 @@ func TestGovendorConfig_Convert(t *testing.T) {
142142
name := name
143143
testCase := testCase
144144
t.Run(name, func(t *testing.T) {
145-
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error) {
145+
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock) {
146146
g := NewImporter(logger, true, sm)
147147
g.file = testCase.file
148148
return g.convert(importertest.RootProject)

internal/importers/gvt/importer_test.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package gvt
66

77
import (
88
"bytes"
9+
"fmt"
910
"log"
1011
"path/filepath"
1112
"testing"
@@ -89,15 +90,18 @@ func TestGvtConfig_Convert(t *testing.T) {
8990
},
9091
"missing package name": {
9192
importertest.TestCase{
92-
WantConvertErr: true,
93+
WantWarning: "Warning: Invalid gvt configuration, ImportPath is required",
9394
},
9495
gvtManifest{
9596
Deps: []gvtPkg{{ImportPath: ""}},
9697
},
9798
},
9899
"missing revision": {
99100
importertest.TestCase{
100-
WantConvertErr: true,
101+
WantWarning: fmt.Sprintf(
102+
"Warning: Invalid gvt configuration, Revision not found for ImportPath %q",
103+
importertest.Project,
104+
),
101105
},
102106
gvtManifest{
103107
Deps: []gvtPkg{
@@ -113,7 +117,7 @@ func TestGvtConfig_Convert(t *testing.T) {
113117
name := name
114118
testCase := testCase
115119
t.Run(name, func(t *testing.T) {
116-
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error) {
120+
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock) {
117121
g := NewImporter(logger, true, sm)
118122
g.gvtConfig = testCase.gvtConfig
119123
return g.convert(importertest.RootProject)

internal/importers/importertest/testcase.go

+4-16
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222
// of an importer converting from an external config format to dep's.
2323
type TestCase struct {
2424
DefaultConstraintFromLock bool
25-
WantConvertErr bool
2625
WantSourceRepo string
2726
WantConstraint string
2827
WantRevision gps.Revision
@@ -45,7 +44,7 @@ func NewTestContext(h *test.Helper) *dep.Ctx {
4544
}
4645

4746
// Execute and validate the test case.
48-
func (tc TestCase) Execute(t *testing.T, convert func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error)) error {
47+
func (tc TestCase) Execute(t *testing.T, convert func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock)) error {
4948
h := test.NewHelper(t)
5049
defer h.Cleanup()
5150
// Disable parallel tests until we can resolve this error on the Windows builds:
@@ -61,23 +60,12 @@ func (tc TestCase) Execute(t *testing.T, convert func(logger *log.Logger, sm gps
6160
output := &bytes.Buffer{}
6261
ctx.Err = log.New(output, "", 0)
6362

64-
manifest, lock, convertErr := convert(ctx.Err, sm)
65-
return tc.validate(manifest, lock, convertErr, output)
63+
manifest, lock := convert(ctx.Err, sm)
64+
return tc.validate(manifest, lock, output)
6665
}
6766

6867
// validate returns an error if any of the testcase validations failed.
69-
func (tc TestCase) validate(manifest *dep.Manifest, lock *dep.Lock, convertErr error, output *bytes.Buffer) error {
70-
if tc.WantConvertErr {
71-
if convertErr == nil {
72-
return errors.New("Expected the conversion to fail, but it did not return an error")
73-
}
74-
return nil
75-
}
76-
77-
if convertErr != nil {
78-
return errors.Wrap(convertErr, "Expected the conversion to pass, but it returned an error")
79-
}
80-
68+
func (tc TestCase) validate(manifest *dep.Manifest, lock *dep.Lock, output *bytes.Buffer) error {
8169
if !equalSlice(manifest.Ignored, tc.WantIgnored) {
8270
return errors.Errorf("unexpected set of ignored projects: \n\t(GOT) %#v \n\t(WNT) %#v",
8371
manifest.Ignored, tc.WantIgnored)

internal/importers/vndr/importer_test.go

+7-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package vndr
66

77
import (
88
"bytes"
9+
"fmt"
910
"log"
1011
"path/filepath"
1112
"reflect"
@@ -41,15 +42,18 @@ func TestVndrConfig_Convert(t *testing.T) {
4142
reference: importertest.V1Tag,
4243
}},
4344
importertest.TestCase{
44-
WantConvertErr: true,
45+
WantWarning: "Warning: Invalid vndr configuration, import path is required",
4546
},
4647
},
4748
"missing reference": {
4849
[]vndrPackage{{
4950
importPath: importertest.Project,
5051
}},
5152
importertest.TestCase{
52-
WantConvertErr: true,
53+
WantWarning: fmt.Sprintf(
54+
"Warning: Invalid vndr configuration, reference not found for import path %q",
55+
importertest.Project,
56+
),
5357
},
5458
},
5559
}
@@ -58,7 +62,7 @@ func TestVndrConfig_Convert(t *testing.T) {
5862
name := name
5963
testCase := testCase
6064
t.Run(name, func(t *testing.T) {
61-
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock, error) {
65+
err := testCase.Execute(t, func(logger *log.Logger, sm gps.SourceManager) (*dep.Manifest, *dep.Lock) {
6266
g := NewImporter(logger, true, sm)
6367
g.packages = testCase.packages
6468
return g.convert(importertest.RootProject)

0 commit comments

Comments
 (0)