Skip to content

Commit 6e1fb5c

Browse files
davewalteracrmp
authored andcommitted
remove test setup duplication
[#151624389] Signed-off-by: Andrew Crump <acrump@pivotal.io>
1 parent 4533675 commit 6e1fb5c

File tree

1 file changed

+25
-72
lines changed

1 file changed

+25
-72
lines changed

builder/metadata_builder_test.go

Lines changed: 25 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -26,32 +26,32 @@ var _ = Describe("MetadataBuilder", func() {
2626
handcraftReader = &fakes.HandcraftReader{}
2727
logger = &fakes.Logger{}
2828

29+
releaseManifestReader.ReadCall.Stub = func(path string) (builder.ReleaseManifest, error) {
30+
switch path {
31+
case "/path/to/release-1.tgz":
32+
return builder.ReleaseManifest{
33+
Name: "release-1",
34+
Version: "version-1",
35+
}, nil
36+
case "/path/to/release-2.tgz":
37+
return builder.ReleaseManifest{
38+
Name: "release-2",
39+
Version: "version-2",
40+
}, nil
41+
default:
42+
return builder.ReleaseManifest{}, fmt.Errorf("could not read release %q", path)
43+
}
44+
}
45+
stemcellManifestReader.ReadCall.Returns.StemcellManifest = builder.StemcellManifest{
46+
Version: "2332",
47+
OperatingSystem: "ubuntu-trusty",
48+
}
49+
2950
tileBuilder = builder.NewMetadataBuilder(releaseManifestReader, stemcellManifestReader, handcraftReader, logger)
3051
})
3152

3253
Describe("Build", func() {
3354
It("creates a metadata with the correct information", func() {
34-
releaseManifestReader.ReadCall.Stub = func(path string) (builder.ReleaseManifest, error) {
35-
switch path {
36-
case "/path/to/release-1.tgz":
37-
return builder.ReleaseManifest{
38-
Name: "release-1",
39-
Version: "version-1",
40-
}, nil
41-
case "/path/to/release-2.tgz":
42-
return builder.ReleaseManifest{
43-
Name: "release-2",
44-
Version: "version-2",
45-
}, nil
46-
default:
47-
return builder.ReleaseManifest{}, fmt.Errorf("could not read release %q", path)
48-
}
49-
}
50-
stemcellManifestReader.ReadCall.Returns.StemcellManifest = builder.StemcellManifest{
51-
Version: "2332",
52-
OperatingSystem: "ubuntu-trusty",
53-
}
54-
5555
handcraftReader.ReadCall.Returns.Handcraft = builder.Handcraft{
5656
"metadata_version": "some-metadata-version",
5757
"provides_product_versions": "some-provides-product-versions",
@@ -125,22 +125,6 @@ releases:
125125

126126
Context("when the runtime config doesn't contain releases", func() {
127127
It("doesn't change the runtime config", func() {
128-
releaseManifestReader.ReadCall.Stub = func(path string) (builder.ReleaseManifest, error) {
129-
switch path {
130-
case "/path/to/release-1.tgz":
131-
return builder.ReleaseManifest{
132-
Name: "release-1",
133-
Version: "version-1",
134-
}, nil
135-
default:
136-
return builder.ReleaseManifest{}, fmt.Errorf("could not read release %q", path)
137-
}
138-
}
139-
stemcellManifestReader.ReadCall.Returns.StemcellManifest = builder.StemcellManifest{
140-
Version: "2332",
141-
OperatingSystem: "ubuntu-trusty",
142-
}
143-
144128
handcraftReader.ReadCall.Returns.Handcraft = builder.Handcraft{
145129
"metadata_version": "some-metadata-version",
146130
"provides_product_versions": "some-provides-product-versions",
@@ -179,6 +163,7 @@ releases:
179163
Context("failure cases", func() {
180164
Context("when the release tarball cannot be read", func() {
181165
It("returns an error", func() {
166+
releaseManifestReader.ReadCall.Stub = nil
182167
releaseManifestReader.ReadCall.Returns.Error = errors.New("failed to read release tarball")
183168

184169
_, err := tileBuilder.Build([]string{"release-1.tgz"}, "", "", "", "")
@@ -206,64 +191,32 @@ releases:
206191

207192
Context("when the runtime config references a non-existent release", func() {
208193
It("returns an error", func() {
209-
releaseManifestReader.ReadCall.Stub = func(path string) (builder.ReleaseManifest, error) {
210-
switch path {
211-
case "/path/to/release-1.tgz":
212-
return builder.ReleaseManifest{
213-
Name: "release-1",
214-
Version: "version-1",
215-
}, nil
216-
default:
217-
return builder.ReleaseManifest{}, fmt.Errorf("could not read release %q", path)
218-
}
219-
}
220-
stemcellManifestReader.ReadCall.Returns.StemcellManifest = builder.StemcellManifest{
221-
Version: "2332",
222-
OperatingSystem: "ubuntu-trusty",
223-
}
224-
225194
handcraftReader.ReadCall.Returns.Handcraft = builder.Handcraft{
226195
"metadata_version": "some-metadata-version",
227196
"provides_product_versions": "some-provides-product-versions",
228197
"runtime_configs": []interface{}{
229198
map[interface{}]interface{}{
230199
"name": "MY-RUNTIME-CONFIG",
231200
"runtime_config": `releases:
232-
- name: release-2
201+
- name: non-existent-release
233202
addons:
234203
- name: MY-ADDON-NAME
235204
jobs:
236205
- name: MY-RUNTIME-CONFIG-JOB
237-
release: release-2`,
206+
release: non-existent-release`,
238207
},
239208
},
240209
}
241210

242211
_, err := tileBuilder.Build([]string{
243212
"/path/to/release-1.tgz",
244213
}, "/path/to/test-stemcell.tgz", "/some/path/handcraft.yml", "cool-product", "1.2.3")
245-
Expect(err).To(MatchError("runtime config MY-RUNTIME-CONFIG references unknown release release-2"))
214+
Expect(err).To(MatchError("runtime config MY-RUNTIME-CONFIG references unknown release non-existent-release"))
246215
})
247216
})
248217

249218
Context("when the runtime config contains yaml that isn't well-formed", func() {
250219
It("returns an error", func() {
251-
releaseManifestReader.ReadCall.Stub = func(path string) (builder.ReleaseManifest, error) {
252-
switch path {
253-
case "/path/to/release-1.tgz":
254-
return builder.ReleaseManifest{
255-
Name: "release-1",
256-
Version: "version-1",
257-
}, nil
258-
default:
259-
return builder.ReleaseManifest{}, fmt.Errorf("could not read release %q", path)
260-
}
261-
}
262-
stemcellManifestReader.ReadCall.Returns.StemcellManifest = builder.StemcellManifest{
263-
Version: "2332",
264-
OperatingSystem: "ubuntu-trusty",
265-
}
266-
267220
handcraftReader.ReadCall.Returns.Handcraft = builder.Handcraft{
268221
"metadata_version": "some-metadata-version",
269222
"provides_product_versions": "some-provides-product-versions",

0 commit comments

Comments
 (0)