@@ -21,73 +21,36 @@ func TestEnsureOverrides(t *testing.T) {
21
21
h .TempDir ("src" )
22
22
h .Setenv ("GOPATH" , h .Path ("." ))
23
23
24
- m := `package main
25
-
26
- import (
27
- "github.com/Sirupsen/logrus"
28
- sthing "github.com/sdboyer/dep-test"
29
- )
30
-
31
- type Baz sthing.Foo
32
-
33
- func main() {
34
- logrus.Info("hello world")
35
- }`
36
-
37
- h .TempFile ("src/thing/thing.go" , m )
24
+ h .TempCopy ("src/thing/thing.go" , "ensure/overrides_main.go" )
38
25
h .Cd (h .Path ("src/thing" ))
39
26
40
27
h .Run ("init" )
41
- h .
Run (
"ensure" ,
"-override" ,
"github.com/Sirupsen/[email protected] " )
42
-
43
- expectedManifest := `{
44
- "overrides": {
45
- "github.com/Sirupsen/logrus": {
46
- "version": "0.11.0"
47
- }
48
- }
49
- }
50
- `
51
-
52
- manifest := h .ReadManifest ()
53
- if manifest != expectedManifest {
54
- t .Fatalf ("expected %s, got %s" , expectedManifest , manifest )
28
+ h .
Run (
"ensure" ,
"-override" ,
"github.com/carolynvs/[email protected] " )
29
+
30
+ goldenManifest := "ensure/overrides_manifest.golden.json"
31
+ wantManifest := h .GetTestFileString (goldenManifest )
32
+ gotManifest := h .ReadManifest ()
33
+ if gotManifest != wantManifest {
34
+ if * test .UpdateGolden {
35
+ if err := h .WriteTestFile (goldenManifest , string (gotManifest )); err != nil {
36
+ t .Fatal (err )
37
+ }
38
+ } else {
39
+ t .Fatalf ("expected %s, got %s" , wantManifest , gotManifest )
40
+ }
55
41
}
56
42
57
- sysCommit := h .GetCommit ("go.googlesource.com/sys" )
58
- expectedLock := `{
59
- "memo": "57d20ba0289c2df60025bf6127220a5403483251bd5e523a7f9ea17752bd5482",
60
- "projects": [
61
- {
62
- "name": "github.com/Sirupsen/logrus",
63
- "version": "v0.11.0",
64
- "revision": "d26492970760ca5d33129d2d799e34be5c4782eb",
65
- "packages": [
66
- "."
67
- ]
68
- },
69
- {
70
- "name": "github.com/sdboyer/dep-test",
71
- "version": "1.0.0",
72
- "revision": "2a3a211e171803acb82d1d5d42ceb53228f51751",
73
- "packages": [
74
- "."
75
- ]
76
- },
77
- {
78
- "name": "golang.org/x/sys",
79
- "branch": "master",
80
- "revision": "` + sysCommit + `",
81
- "packages": [
82
- "unix"
83
- ]
84
- }
85
- ]
86
- }
87
- `
88
- lock := h .ReadLock ()
89
- if lock != expectedLock {
90
- t .Fatalf ("expected %s, got %s" , expectedLock , lock )
43
+ goldenLock := "ensure/overrides_lock.golden.json"
44
+ wantLock := h .GetTestFileString (goldenLock )
45
+ gotLock := h .ReadLock ()
46
+ if gotLock != wantLock {
47
+ if * test .UpdateGolden {
48
+ if err := h .WriteTestFile (goldenLock , string (gotLock )); err != nil {
49
+ t .Fatal (err )
50
+ }
51
+ } else {
52
+ t .Fatalf ("expected %s, got %s" , wantLock , gotLock )
53
+ }
91
54
}
92
55
}
93
56
@@ -100,18 +63,7 @@ func TestEnsureEmptyRepoNoArgs(t *testing.T) {
100
63
101
64
h .TempDir ("src" )
102
65
h .Setenv ("GOPATH" , h .Path ("." ))
103
-
104
- m := `package main
105
-
106
- import (
107
- _ "github.com/jimmysmith95/fixed-version"
108
- _ "golang.org/x/sys/unix"
109
- )
110
-
111
- func main() {
112
- }`
113
-
114
- h .TempFile ("src/thing/thing.go" , m )
66
+ h .TempCopy ("src/thing/thing.go" , "ensure/bare_main.go" )
115
67
h .Cd (h .Path ("src/thing" ))
116
68
117
69
h .Run ("init" )
@@ -120,43 +72,30 @@ func main() {
120
72
// make sure vendor exists
121
73
h .MustExist (h .Path ("src/thing/vendor/github.com/jimmysmith95/fixed-version" ))
122
74
123
- expectedManifest := `{}
124
- `
125
-
126
- manifest := h .ReadManifest ()
127
- if manifest != expectedManifest {
128
- t .Fatalf ("expected %s, got %s" , expectedManifest , manifest )
75
+ goldenManifest := "ensure/bare_manifest.golden.json"
76
+ wantManifest := h .GetTestFileString (goldenManifest )
77
+ gotManifest := h .ReadManifest ()
78
+ if gotManifest != wantManifest {
79
+ if * test .UpdateGolden {
80
+ if err := h .WriteTestFile (goldenManifest , string (gotManifest )); err != nil {
81
+ t .Fatal (err )
82
+ }
83
+ } else {
84
+ t .Fatalf ("expected %s, got %s" , wantManifest , gotManifest )
85
+ }
129
86
}
130
87
131
- sysCommit := h .GetCommit ("go.googlesource.com/sys" )
132
- fixedVersionCommit := h .GetCommit ("github.com/jimmysmith95/fixed-version" )
133
-
134
- expectedLock := `{
135
- "memo": "8a7660015b2473d6d2f4bfdfd0508e6aa8178746559d0a9a90cecfbe6aa47a06",
136
- "projects": [
137
- {
138
- "name": "github.com/jimmysmith95/fixed-version",
139
- "version": "v1.0.0",
140
- "revision": "` + fixedVersionCommit + `",
141
- "packages": [
142
- "."
143
- ]
144
- },
145
- {
146
- "name": "golang.org/x/sys",
147
- "branch": "master",
148
- "revision": "` + sysCommit + `",
149
- "packages": [
150
- "unix"
151
- ]
152
- }
153
- ]
154
- }
155
- `
156
-
157
- lock := h .ReadLock ()
158
- if lock != expectedLock {
159
- t .Fatalf ("expected %s, got %s" , expectedLock , lock )
88
+ goldenLock := "ensure/bare_lock.golden.json"
89
+ wantLock := h .GetTestFileString (goldenLock )
90
+ gotLock := h .ReadLock ()
91
+ if gotLock != wantLock {
92
+ if * test .UpdateGolden {
93
+ if err := h .WriteTestFile (goldenLock , string (gotLock )); err != nil {
94
+ t .Fatal (err )
95
+ }
96
+ } else {
97
+ t .Fatalf ("expected %s, got %s" , wantLock , gotLock )
98
+ }
160
99
}
161
100
}
162
101
@@ -194,94 +133,36 @@ func TestEnsureUpdate(t *testing.T) {
194
133
h := test .NewHelper (t )
195
134
defer h .Cleanup ()
196
135
136
+ // Setup up a test project
197
137
h .TempDir ("src" )
198
138
h .Setenv ("GOPATH" , h .Path ("." ))
199
-
200
- m := `package main
201
-
202
- import (
203
- "fmt"
204
- "github.com/pkg/errors"
205
- stuff "github.com/carolynvs/go-dep-test"
206
- )
207
-
208
- func main() {
209
- fmt.Println(stuff.Thing)
210
- TryToDoSomething()
211
- }
212
-
213
- func TryToDoSomething() error {
214
- return errors.New("I tried, Billy. I tried...")
215
- }
216
- `
217
-
218
- h .TempFile ("src/thing/thing.go" , m )
219
-
220
- origManifest := `{
221
- "dependencies": {
222
- "github.com/carolynvs/go-dep-test": {
223
- "version": "~0.1.0"
224
- }
225
- }
226
- }`
227
- h .TempFile ("src/thing/manifest.json" , origManifest )
228
-
229
- origLock := `{
230
- "memo": "9a5243dd3fa20feeaa20398e7283d6c566532e2af1aae279a010df34793761c5",
231
- "projects": [
232
- {
233
- "name": "github.com/carolynvs/go-dep-test",
234
- "version": "0.1.0",
235
- "revision": "b9c5511fa463628e6251554db29a4be161d02aed",
236
- "packages": [
237
- "."
238
- ]
239
- },
240
- {
241
- "name": "github.com/pkg/errors",
242
- "branch": "v0.7.0",
243
- "revision": "01fa4104b9c248c8945d14d9f128454d5b28d595",
244
- "packages": [
245
- "."
246
- ]
247
- }
248
- ]
249
- }
250
- `
251
- h .TempFile ("src/thing/lock.json" , origLock )
139
+ h .TempCopy ("src/thing/main.go" , "ensure/update_main.go" )
140
+ origManifest := "ensure/update_manifest.json"
141
+ h .TempCopy ("src/thing/manifest.json" , origManifest )
142
+ origLock := "ensure/update_lock.json"
143
+ h .TempCopy ("src/thing/lock.json" , origLock )
252
144
h .Cd (h .Path ("src/thing" ))
253
145
254
146
h .Run ("ensure" , "-update" , "github.com/carolynvs/go-dep-test" )
255
147
256
- manifest := h .ReadManifest ()
257
- if manifest != origManifest {
258
- t .Fatalf ("The manifest should not be modified during an update. Expected %s, got %s" , origManifest , manifest )
148
+ // Verify that the manifest wasn't modified by -update
149
+ wantManifest := h .GetTestFileString (origManifest )
150
+ gotManifest := h .ReadManifest ()
151
+ if gotManifest != wantManifest {
152
+ t .Fatalf ("The manifest should not be modified during an update. Expected %s, got %s" , origManifest , gotManifest )
259
153
}
260
154
261
- expectedLock := `{
262
- "memo": "9a5243dd3fa20feeaa20398e7283d6c566532e2af1aae279a010df34793761c5",
263
- "projects": [
264
- {
265
- "name": "github.com/carolynvs/go-dep-test",
266
- "version": "0.1.1",
267
- "revision": "40691983e4002d3a3f5879cc0f1fe99bedda148c",
268
- "packages": [
269
- "."
270
- ]
271
- },
272
- {
273
- "name": "github.com/pkg/errors",
274
- "branch": "v0.7.0",
275
- "revision": "01fa4104b9c248c8945d14d9f128454d5b28d595",
276
- "packages": [
277
- "."
278
- ]
279
- }
280
- ]
281
- }
282
- `
283
- lock := h .ReadLock ()
284
- if lock != expectedLock {
285
- t .Fatalf ("expected %s, got %s" , expectedLock , lock )
155
+ // Verify the lock matches the expected golden file
156
+ goldenLock := "ensure/update_lock.golden.json"
157
+ wantLock := h .GetTestFileString (goldenLock )
158
+ gotLock := h .ReadLock ()
159
+ if gotLock != wantLock {
160
+ if * test .UpdateGolden {
161
+ if err := h .WriteTestFile (goldenLock , string (gotLock )); err != nil {
162
+ t .Fatal (err )
163
+ }
164
+ } else {
165
+ t .Fatalf ("expected %s, got %s" , wantLock , gotLock )
166
+ }
286
167
}
287
168
}
0 commit comments