-
Notifications
You must be signed in to change notification settings - Fork 2
/
PaketIntegrationArgumentsSpec.groovy
109 lines (85 loc) · 2.84 KB
/
PaketIntegrationArgumentsSpec.groovy
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package wooga.gradle.paket
import nebula.test.IntegrationSpec
import spock.lang.IgnoreIf
import spock.lang.Unroll
abstract class PaketIntegrationArgumentsSpec extends IntegrationSpec {
abstract Class getTestPlugin()
abstract List<String> getTestTasks()
def setup() {
given: "a paket dependency file"
createFile("paket.dependencies")
and: "a empty lock file"
createFile("paket.lock")
buildFile << """
group = 'test'
${applyPlugin(getTestPlugin())}
""".stripIndent()
}
@IgnoreIf({ env["CI"] })
@Unroll
def "task: #taskToRun is available"() {
when:
def result = runTasksSuccessfully("tasks")
then:
result.standardOutput.contains(taskToRun)
where:
taskToRun << getTestTasks()
}
@Unroll
def "task :#taskToRun can set custom arguments '-customFlag1, -customFlag2' with args(arguments,...)"() {
given:
buildFile << """
project.tasks."${taskToRun}" {
args($value)
}
""".stripIndent()
when:
def result = runTasks(taskToRun)
then:
result.wasExecuted(taskToRun)
result.standardOutput.contains("Starting process 'command '")
result.standardOutput.contains(" $expectedCommandlineSwitch")
where:
taskToRun << getTestTasks()
value = '"-customFlag1", "-customFlag2"'
expectedCommandlineSwitch = '-customFlag1 -customFlag2'
}
@Unroll
def "task :#taskToRun can set custom arguments '-customFlag1, -customFlag2' with args([arguments])"() {
given:
buildFile << """
project.tasks."${taskToRun}" {
args($value)
}
""".stripIndent()
when:
def result = runTasks(taskToRun)
then:
result.wasExecuted(taskToRun)
result.standardOutput.contains("Starting process 'command '")
result.standardOutput.contains(" $expectedCommandlineSwitch")
where:
taskToRun << getTestTasks()
value = '["-customFlag1", "-customFlag2"]'
expectedCommandlineSwitch = '-customFlag1 -customFlag2'
}
@Unroll
def "task :#taskToRun can set custom arguments '-customFlag1, -customFlag2' with args = [arguments]"() {
given:
buildFile << """
project.tasks."${taskToRun}" {
args = $value
}
""".stripIndent()
when:
def result = runTasks(taskToRun)
then:
result.wasExecuted(taskToRun)
result.standardOutput.contains("Starting process 'command '")
result.standardOutput.contains(" $expectedCommandlineSwitch")
where:
taskToRun << getTestTasks()
value = '["-customFlag1", "-customFlag2"]'
expectedCommandlineSwitch = '-customFlag1 -customFlag2'
}
}