Skip to content

Commit

Permalink
adding ubi-buildpackless-build on vue_npm and vue_yarn integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
pacostas committed Nov 30, 2023
1 parent 7ede2e0 commit 9faebad
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 21 deletions.
2 changes: 1 addition & 1 deletion integration.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"builders": [
"paketocommunity/builder-ubi-buildpackless-base:latest",
"paketocommunity/builder-ubi-buildpackless-base",
"paketobuildpacks/builder:buildpackless-base",
"paketobuildpacks/builder-jammy-buildpackless-base"
],
Expand Down
3 changes: 2 additions & 1 deletion integration/init_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,10 @@ func TestIntegration(t *testing.T) {
builder, err := pack.Builder.Inspect.Execute()
Expect(err).NotTo(HaveOccurred())

if builder.BuilderName == "paketocommunity/builder-ubi-buildpackless-base:latest" {
settings.Extensions.UbiNodejsExtension.Online, err = buildpackStore.Get.
Execute(settings.Config.UbiNodejsExtension)
Expect(err).ToNot(HaveOccurred())
if builder.BuilderName == "paketocommunity/builder-ubi-buildpackless-base" {
}

settings.Buildpacks.NodeRunScript.Online, err = buildpackStore.Get.
Expand Down
4 changes: 2 additions & 2 deletions integration/simple_yarn_app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,13 @@ func testSimpleYarnApp(pack occam.Pack, docker occam.Docker) func(*testing.T, sp
MatchRegexp(extenderBuildStrEscaped+` yarn run v\d+\.\d+\.\d+`),
extenderBuildStr+" $ echo \"some commands\"",
extenderBuildStr+" some commands",
MatchRegexp(extenderBuildStrEscaped+` Done in \d+\.\d+s\.`),
MatchRegexp(extenderBuildStrEscaped+` Done in \d+\.\d+s\.`),
))
Expect(logs).To(ContainLines(
extenderBuildStr+" Running 'yarn run test_script_2'",
MatchRegexp(extenderBuildStrEscaped+` yarn run v\d+\.\d+\.\d+`),
extenderBuildStr+" $ touch dummyfile.txt",
MatchRegexp(extenderBuildStrEscaped+` Done in \d+\.\d+s\.`),
MatchRegexp(extenderBuildStrEscaped+` Done in \d+\.\d+s\.`),
))
Expect(logs).To(ContainLines(
MatchRegexp(extenderBuildStrEscaped + ` Completed in ([0-9]*(\.[0-9]*)?[a-z]+)+`),
Expand Down
31 changes: 22 additions & 9 deletions integration/vue_npm_app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ func testVueNPMApp(pack occam.Pack, docker occam.Docker) func(*testing.T, spec.G
var (
Expect = NewWithT(t).Expect
Eventually = NewWithT(t).Eventually

pullPolicy = "never"
extenderBuildStr = ""
extenderBuildStrEscaped = ""
)

context("when building a Vue npm app", func() {
Expand All @@ -33,6 +37,12 @@ func testVueNPMApp(pack occam.Pack, docker occam.Docker) func(*testing.T, spec.G
var err error
name, err = occam.RandomName()
Expect(err).NotTo(HaveOccurred())

if settings.Extensions.UbiNodejsExtension.Online != "" {
pullPolicy = "always"
extenderBuildStr = "[extender (build)] "
extenderBuildStrEscaped = `\[extender \(build\)\] `
}
})

it.After(func() {
Expand All @@ -49,27 +59,30 @@ func testVueNPMApp(pack occam.Pack, docker occam.Docker) func(*testing.T, spec.G

var logs fmt.Stringer
image, logs, err = pack.WithNoColor().Build.
WithExtensions(
settings.Extensions.UbiNodejsExtension.Online,
).
WithBuildpacks(
settings.Buildpacks.NodeEngine.Online,
settings.Buildpacks.NPMInstall.Online,
settings.Buildpacks.NodeRunScript.Online,
).
WithPullPolicy("never").
WithPullPolicy(pullPolicy).
Execute(name, source)
Expect(err).NotTo(HaveOccurred(), logs.String())

Expect(logs).To(ContainLines(
MatchRegexp(fmt.Sprintf(`%s \d+\.\d+\.\d+`, settings.Buildpack.Name)),
" Executing build process",
" Running 'npm run build'",
" ",
MatchRegexp(` > vue_app@\d+\.\d+\.\d+ build`),
" > vue-cli-service build",
MatchRegexp(fmt.Sprintf(`%s%s \d+\.\d+\.\d+`, extenderBuildStrEscaped, settings.Buildpack.Name)),
extenderBuildStr+" Executing build process",
extenderBuildStr+" Running 'npm run build'",
extenderBuildStr+" ",
MatchRegexp(extenderBuildStrEscaped+` > vue_app@\d+\.\d+\.\d+ build`),
extenderBuildStr+" > vue-cli-service build",
))
Expect(logs).To(ContainLines(
" DONE Build complete. The dist directory is ready to be deployed.",
extenderBuildStr + " DONE Build complete. The dist directory is ready to be deployed.",
))
Expect(logs).To(ContainLines(MatchRegexp(` Completed in ([0-9]*(\.[0-9]*)?[a-z]+)+`)))
Expect(logs).To(ContainLines(MatchRegexp(extenderBuildStrEscaped + ` Completed in ([0-9]*(\.[0-9]*)?[a-z]+)+`)))

container, err = docker.Container.Run.
WithCommand("ls -al /workspace/dist/").
Expand Down
30 changes: 22 additions & 8 deletions integration/vue_yarn_app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,22 @@ func testVueYarnApp(pack occam.Pack, docker occam.Docker) func(*testing.T, spec.

name string
source string

pullPolicy = "never"
extenderBuildStr = ""
extenderBuildStrEscaped = ""
)

it.Before(func() {
var err error
name, err = occam.RandomName()
Expect(err).NotTo(HaveOccurred())

if settings.Extensions.UbiNodejsExtension.Online != "" {
pullPolicy = "always"
extenderBuildStr = "[extender (build)] "
extenderBuildStrEscaped = `\[extender \(build\)\] `
}
})

it.After(func() {
Expand All @@ -49,28 +59,32 @@ func testVueYarnApp(pack occam.Pack, docker occam.Docker) func(*testing.T, spec.

var logs fmt.Stringer
image, logs, err = pack.WithNoColor().Build.
WithExtensions(
settings.Extensions.UbiNodejsExtension.Online,
).
WithBuildpacks(
settings.Buildpacks.NodeEngine.Online,
settings.Buildpacks.Yarn.Online,
settings.Buildpacks.YarnInstall.Online,
settings.Buildpacks.NodeRunScript.Online,
).
WithPullPolicy("never").
WithPullPolicy(pullPolicy).
Execute(name, source)

Expect(err).NotTo(HaveOccurred(), logs.String())

Expect(logs).To(ContainLines(
MatchRegexp(fmt.Sprintf(`%s \d+\.\d+\.\d+`, settings.Buildpack.Name)),
" Executing build process",
" Running 'yarn run build'",
MatchRegexp(` yarn run v\d+\.\d+\.\d+`),
" $ vue-cli-service build",
MatchRegexp(fmt.Sprintf(`%s%s \d+\.\d+\.\d+`, extenderBuildStrEscaped, settings.Buildpack.Name)),
extenderBuildStr+" Executing build process",
extenderBuildStr+" Running 'yarn run build'",
MatchRegexp(extenderBuildStrEscaped+` yarn run v\d+\.\d+\.\d+`),
extenderBuildStr+" $ vue-cli-service build",
))
Expect(logs).To(ContainLines(
" DONE Build complete. The dist directory is ready to be deployed.",
extenderBuildStr + " DONE Build complete. The dist directory is ready to be deployed.",
))

Expect(logs).To(ContainLines(MatchRegexp(` Completed in ([0-9]*(\.[0-9]*)?[a-z]+)+`)))
Expect(logs).To(ContainLines(MatchRegexp(extenderBuildStrEscaped + ` Completed in ([0-9]*(\.[0-9]*)?[a-z]+)+`)))

container, err = docker.Container.Run.
WithCommand("ls -al /workspace/dist/").
Expand Down

0 comments on commit 9faebad

Please sign in to comment.