forked from paketo-buildpacks/composer-install
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdetermine_composer_install_options_test.go
76 lines (62 loc) · 1.72 KB
/
determine_composer_install_options_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package composer_test
import (
"os"
"testing"
"github.com/paketo-buildpacks/composer"
"github.com/sclevine/spec"
. "github.com/onsi/gomega"
)
func testComposerInstallOptions(t *testing.T, context spec.G, it spec.S) {
var (
Expect = NewWithT(t).Expect
options composer.InstallOptions
)
it.Before(func() {
options = composer.NewComposerInstallOptions()
})
it.After(func() {
Expect(os.Unsetenv("BP_COMPOSER_INSTALL_OPTIONS")).To(Succeed())
})
context("when BP_COMPOSER_INSTALL_OPTIONS is not set", func() {
it("should return default options", func() {
Expect(options.Determine()).To(Equal([]string{
"--no-progress",
"--no-dev",
}))
})
})
context("when BP_COMPOSER_INSTALL_OPTIONS is set to empty", func() {
it.Before(func() {
Expect(os.Setenv("BP_COMPOSER_INSTALL_OPTIONS", "")).To(Succeed())
})
it("should return --no-progress only", func() {
Expect(options.Determine()).To(Equal([]string{
"--no-progress",
}))
})
})
context("when BP_COMPOSER_INSTALL_OPTIONS has options", func() {
it.Before(func() {
Expect(os.Setenv("BP_COMPOSER_INSTALL_OPTIONS", "--foo=bar -v --something")).To(Succeed())
})
it("should return those values as individual args", func() {
Expect(options.Determine()).To(Equal([]string{
"--no-progress",
"--foo=bar",
"-v",
"--something",
}))
})
})
context("when BP_COMPOSER_INSTALL_OPTIONS has invalid options", func() {
it.Before(func() {
Expect(os.Setenv("BP_COMPOSER_INSTALL_OPTIONS", "invalid'option for composer")).To(Succeed())
})
it("should return those values as one single arg", func() {
Expect(options.Determine()).To(Equal([]string{
"--no-progress",
"invalid'option for composer",
}))
})
})
}