|
7 | 7 | "path/filepath" |
8 | 8 | "testing" |
9 | 9 |
|
| 10 | + "github.com/Masterminds/semver" |
10 | 11 | "github.com/buildpack/imgutil/fakes" |
11 | 12 | "github.com/fatih/color" |
12 | 13 | "github.com/sclevine/spec" |
@@ -193,15 +194,15 @@ func testBuilder(t *testing.T, when spec.G, it spec.S) { |
193 | 194 | when("#SetLifecycle", func() { |
194 | 195 | it.Before(func() { |
195 | 196 | h.AssertNil(t, subject.SetLifecycle(lifecycle.Metadata{ |
196 | | - Version: "1.2.3", |
| 197 | + Version: semver.MustParse("1.2.3"), |
197 | 198 | Dir: filepath.Join("testdata", "lifecycle"), |
198 | 199 | })) |
199 | 200 | h.AssertNil(t, subject.Save()) |
200 | 201 | h.AssertEq(t, baseImage.IsSaved(), true) |
201 | 202 | }) |
202 | 203 |
|
203 | 204 | it("should set the lifecycle version successfully", func() { |
204 | | - h.AssertEq(t, subject.GetLifecycleVersion(), "1.2.3") |
| 205 | + h.AssertEq(t, subject.GetLifecycleVersion().String(), "1.2.3") |
205 | 206 | }) |
206 | 207 |
|
207 | 208 | it("should add the lifecycle binaries as an image layer", func() { |
@@ -244,6 +245,15 @@ func testBuilder(t *testing.T, when spec.G, it spec.S) { |
244 | 245 | h.HasFileMode(0755), |
245 | 246 | ) |
246 | 247 | }) |
| 248 | + |
| 249 | + it("sets the lifecycle version on the metadata", func() { |
| 250 | + label, err := baseImage.Label("io.buildpacks.builder.metadata") |
| 251 | + h.AssertNil(t, err) |
| 252 | + |
| 253 | + var metadata builder.Metadata |
| 254 | + h.AssertNil(t, json.Unmarshal([]byte(label), &metadata)) |
| 255 | + h.AssertEq(t, metadata.Lifecycle.Version.String(), "1.2.3") |
| 256 | + }) |
247 | 257 | }) |
248 | 258 |
|
249 | 259 | when("#AddBuildpack", func() { |
@@ -348,7 +358,10 @@ func testBuilder(t *testing.T, when spec.G, it spec.S) { |
348 | 358 |
|
349 | 359 | when("base image already has metadata", func() { |
350 | 360 | it.Before(func() { |
351 | | - h.AssertNil(t, baseImage.SetLabel("io.buildpacks.builder.metadata", `{"buildpacks": [{"id": "prev.id"}], "groups": [{"buildpacks": [{"id": "prev.id"}]}], "stack": {"runImage": {"image": "prev/run", "mirrors": ["prev/mirror"]}}}`)) |
| 361 | + h.AssertNil(t, baseImage.SetLabel( |
| 362 | + "io.buildpacks.builder.metadata", |
| 363 | + `{"buildpacks": [{"id": "prev.id"}], "groups": [{"buildpacks": [{"id": "prev.id"}]}], "stack": {"runImage": {"image": "prev/run", "mirrors": ["prev/mirror"]}}, "lifecycle": {"version": "6.6.6"}}`, |
| 364 | + )) |
352 | 365 |
|
353 | 366 | var err error |
354 | 367 | subject, err = builder.New(baseImage, "some/builder") |
@@ -377,6 +390,7 @@ func testBuilder(t *testing.T, when spec.G, it spec.S) { |
377 | 390 | h.AssertEq(t, metadata.Groups[0].Buildpacks[0].ID, "prev.id") |
378 | 391 | h.AssertEq(t, metadata.Stack.RunImage.Image, "prev/run") |
379 | 392 | h.AssertEq(t, metadata.Stack.RunImage.Mirrors[0], "prev/mirror") |
| 393 | + h.AssertEq(t, subject.GetLifecycleVersion().String(), "6.6.6") |
380 | 394 |
|
381 | 395 | // adds new buildpack |
382 | 396 | h.AssertEq(t, metadata.Buildpacks[1].ID, "some-buildpack-id") |
|
0 commit comments