Skip to content

Commit 8f0e2e0

Browse files
Ryan Moranryanmoran
authored andcommitted
Fixes packaging and integration tests
1 parent 6db1b5f commit 8f0e2e0

6 files changed

Lines changed: 71 additions & 73 deletions

File tree

.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
/*.tgz
21
.DS_Store
32
.idea
43
/.bin
5-
bin
6-
bundle-install_*
4+
/build

integration.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"build-plan": "github.com/ForestEckhardt/build-plan",
3+
"bundler": "github.com/paketo-community/bundler",
4+
"mri": "github.com/paketo-community/mri"
5+
}

integration/init_test.go

Lines changed: 44 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,77 @@
11
package integration_test
22

33
import (
4-
"bytes"
5-
"fmt"
6-
"strings"
4+
"encoding/json"
5+
"os"
6+
"path/filepath"
77
"testing"
88
"time"
99

10-
"github.com/cloudfoundry/dagger"
11-
"github.com/paketo-buildpacks/packit/pexec"
10+
"github.com/paketo-buildpacks/occam"
1211
"github.com/sclevine/spec"
1312
"github.com/sclevine/spec/report"
1413

1514
. "github.com/onsi/gomega"
1615
)
1716

18-
var (
19-
bpDir string
20-
bundleInstallURI string
21-
bundlerURI string
22-
mriURI string
23-
buildPlanURI string
24-
)
17+
var settings struct {
18+
Buildpacks struct {
19+
BundleInstall struct {
20+
Online string
21+
}
22+
Bundler struct {
23+
Online string
24+
}
25+
MRI struct {
26+
Online string
27+
}
28+
BuildPlan struct {
29+
Online string
30+
}
31+
}
32+
33+
Config struct {
34+
Bundler string `json:"bundler"`
35+
MRI string `json:"mri"`
36+
BuildPlan string `json:"build-plan"`
37+
}
38+
}
2539

2640
func TestIntegration(t *testing.T) {
27-
var (
28-
Expect = NewWithT(t).Expect
29-
err error
30-
)
41+
Expect := NewWithT(t).Expect
3142

32-
bpDir, err = dagger.FindBPRoot()
43+
file, err := os.Open("../integration.json")
3344
Expect(err).NotTo(HaveOccurred())
3445

35-
bundleInstallURI, err = dagger.PackageBuildpack(bpDir)
46+
Expect(json.NewDecoder(file).Decode(&settings.Config)).To(Succeed())
47+
Expect(file.Close()).To(Succeed())
48+
49+
root, err := filepath.Abs("./..")
3650
Expect(err).NotTo(HaveOccurred())
3751

38-
// HACK: we need to fix dagger and the package.sh scripts so that this isn't required
39-
bundleInstallURI = fmt.Sprintf("%s.tgz", bundleInstallURI)
52+
buildpackStore := occam.NewBuildpackStore()
4053

41-
bundlerURI, err = dagger.GetLatestCommunityBuildpack("cloudfoundry", "bundler-cnb")
54+
settings.Buildpacks.BundleInstall.Online, err = buildpackStore.Get.
55+
WithVersion("1.2.3").
56+
Execute(root)
4257
Expect(err).NotTo(HaveOccurred())
4358

44-
mriURI, err = dagger.GetLatestCommunityBuildpack("cloudfoundry", "mri-cnb")
59+
settings.Buildpacks.Bundler.Online, err = buildpackStore.Get.
60+
Execute(settings.Config.Bundler)
4561
Expect(err).NotTo(HaveOccurred())
4662

47-
buildPlanURI, err = dagger.GetLatestCommunityBuildpack("ForestEckhardt", "build-plan")
63+
settings.Buildpacks.MRI.Online, err = buildpackStore.Get.
64+
Execute(settings.Config.MRI)
65+
Expect(err).NotTo(HaveOccurred())
66+
67+
settings.Buildpacks.BuildPlan.Online, err = buildpackStore.Get.
68+
Execute(settings.Config.BuildPlan)
4869
Expect(err).NotTo(HaveOccurred())
4970

5071
SetDefaultEventuallyTimeout(10 * time.Second)
5172

5273
suite := spec.New("Integration", spec.Report(report.Terminal{}), spec.Parallel())
5374
suite("SimpleApp", testSimpleApp)
5475
suite("Logging", testLogging)
55-
56-
defer AfterSuite(t)
5776
suite.Run(t)
5877
}
59-
60-
func AfterSuite(t *testing.T) {
61-
var Expect = NewWithT(t).Expect
62-
63-
Expect(dagger.DeleteBuildpack(bundleInstallURI)).To(Succeed())
64-
Expect(dagger.DeleteBuildpack(bundlerURI)).To(Succeed())
65-
Expect(dagger.DeleteBuildpack(mriURI)).To(Succeed())
66-
Expect(dagger.DeleteBuildpack(buildPlanURI)).To(Succeed())
67-
}
68-
69-
func GetGitVersion() (string, error) {
70-
gitExec := pexec.NewExecutable("git")
71-
revListOut := bytes.NewBuffer(nil)
72-
73-
err := gitExec.Execute(pexec.Execution{
74-
Args: []string{"rev-list", "--tags", "--max-count=1"},
75-
Stdout: revListOut,
76-
})
77-
78-
if revListOut.String() == "" {
79-
return "0.0.0", nil
80-
}
81-
82-
if err != nil {
83-
return "", err
84-
}
85-
86-
stdout := bytes.NewBuffer(nil)
87-
err = gitExec.Execute(pexec.Execution{
88-
Args: []string{"describe", "--tags", strings.TrimSpace(revListOut.String())},
89-
Stdout: stdout,
90-
})
91-
if err != nil {
92-
return "", err
93-
}
94-
95-
return strings.TrimSpace(strings.TrimPrefix(stdout.String(), "v")), nil
96-
}

integration/logging_test.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,17 @@ func testLogging(t *testing.T, context spec.G, it spec.S) {
5353
var logs fmt.Stringer
5454
image, logs, err = pack.WithNoColor().Build.
5555
WithNoPull().
56-
WithBuildpacks(mriURI, bundlerURI, bundleInstallURI, buildPlanURI).
56+
WithBuildpacks(
57+
settings.Buildpacks.MRI.Online,
58+
settings.Buildpacks.Bundler.Online,
59+
settings.Buildpacks.BundleInstall.Online,
60+
settings.Buildpacks.BuildPlan.Online,
61+
).
5762
Execute(name, source)
5863
Expect(err).NotTo(HaveOccurred(), logs.String)
5964

60-
buildpackVersion, err := GetGitVersion()
61-
Expect(err).NotTo(HaveOccurred())
62-
6365
Expect(logs).To(ContainLines(
64-
fmt.Sprintf("Bundle Install Buildpack %s", buildpackVersion),
66+
"Bundle Install Buildpack 1.2.3",
6567
" Executing build process",
6668
` Running 'bundle install'`,
6769
MatchRegexp(` Completed in \d+\.?\d*`),

integration/simple_app_test.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,12 @@ func testSimpleApp(t *testing.T, context spec.G, it spec.S) {
5757
Expect(err).NotTo(HaveOccurred())
5858

5959
image, _, err = pack.WithVerbose().Build.
60-
WithBuildpacks(mriURI, bundlerURI, bundleInstallURI, buildPlanURI).
60+
WithBuildpacks(
61+
settings.Buildpacks.MRI.Online,
62+
settings.Buildpacks.Bundler.Online,
63+
settings.Buildpacks.BundleInstall.Online,
64+
settings.Buildpacks.BuildPlan.Online,
65+
).
6166
WithNoPull().
6267
Execute(name, source)
6368
Expect(err).NotTo(HaveOccurred())
@@ -88,7 +93,12 @@ func testSimpleApp(t *testing.T, context spec.G, it spec.S) {
8893
Expect(err).NotTo(HaveOccurred())
8994

9095
image, _, err = pack.WithVerbose().Build.
91-
WithBuildpacks(mriURI, bundlerURI, bundleInstallURI, buildPlanURI).
96+
WithBuildpacks(
97+
settings.Buildpacks.MRI.Online,
98+
settings.Buildpacks.Bundler.Online,
99+
settings.Buildpacks.BundleInstall.Online,
100+
settings.Buildpacks.BuildPlan.Online,
101+
).
92102
WithNoPull().
93103
Execute(name, source)
94104
Expect(err).NotTo(HaveOccurred())

package.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[buildpack]
2+
uri = "build/buildpack.tgz"

0 commit comments

Comments
 (0)