Skip to content

Commit cc6cb1a

Browse files
committed
test: added integration tests for integration
1 parent 2bc67d1 commit cc6cb1a

File tree

4 files changed

+108
-0
lines changed

4 files changed

+108
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import java.nio.file.Path;
2+
import java.util.Collections;
3+
import java.util.List;
4+
import java.util.Map;
5+
6+
public class IntegrationTest {
7+
public static Map<String, Object> postBuild(Path temporaryJar,
8+
Path pomFile,
9+
List<Map.Entry<String, String>> repositories,
10+
List<Map.Entry<String, Path>> dependencies,
11+
List<String> comments,
12+
boolean nativeImage) {
13+
System.out.println("Integration... (out)");
14+
System.err.println("Integration... (err)");
15+
if (System.getProperty("failintegration") != null) {
16+
throw new RuntimeException("Failing integration...");
17+
} else {
18+
System.out.println("Integration OK (out)");
19+
System.err.println("Integration OK (err)");
20+
return Collections.emptyMap();
21+
}
22+
}
23+
}

itests/integration/inttest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
//SOURCES IntegrationTest.java
3+
//FILES META-INF/jbang-integration.list=jb-int.list
4+
5+
class inttest {
6+
public static void main(String... args) {
7+
System.out.println("Integration test");
8+
}
9+
}

itests/integration/jb-int.list

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
IntegrationTest
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
package dev.jbang.it;
2+
3+
import static dev.jbang.it.CommandResultAssert.assertThat;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class IntegrationIT extends BaseIT {
8+
9+
// Feature: integration
10+
11+
// Scenario: integration success
12+
// * command('jbang integration/inttest.java')
13+
// * match err !contains 'Integration... (out)'
14+
// * match err contains 'Integration... (err)'
15+
// * match out contains "Integration test"
16+
//
17+
@Test
18+
public void testIntegrationSuccess() {
19+
assertThat(shell("jbang integration/inttest.java"))
20+
.succeeded()
21+
.errNotContains("Integration... (out)")
22+
.errContains("Integration... (err)")
23+
.outContains("Integration test");
24+
}
25+
26+
// Scenario: integration success, verbose
27+
// * command('jbang --verbose integration/inttest.java')
28+
// * match err contains 'Integration... (out)'
29+
// * match err contains 'Integration... (err)'
30+
// * match out contains "Integration test"
31+
//
32+
@Test
33+
public void testIntegrationSuccessVerbose() {
34+
assertThat(shell("jbang --verbose integration/inttest.java"))
35+
.succeeded()
36+
.errContains("Integration... (out)")
37+
.errContains("Integration... (err)")
38+
.outContains("Integration test");
39+
}
40+
41+
// Scenario: integration failure
42+
// * command('jbang -Dfailintegration=1 integration/inttest.java')
43+
// * match err !contains 'Integration... (out)'
44+
// * match err contains 'Integration... (err)'
45+
// * match err contains 'Issue running postBuild()'
46+
// * match err !contains 'Failing integration...'
47+
// * match exit == 1
48+
@Test
49+
public void testIntegrationFailure() {
50+
assertThat(shell("jbang -Dfailintegration=1 integration/inttest.java"))
51+
.exitedWith(1)
52+
.errNotContains("Integration... (out)")
53+
.errContains("Integration... (err)")
54+
.errContains("Issue running postBuild()")
55+
.errNotContains("Failing integration...");
56+
}
57+
58+
//
59+
// Scenario: integration failure, verbose
60+
// * command('jbang -Dfailintegration=1 --verbose integration/inttest.java')
61+
// * match err contains 'Integration... (out)'
62+
// * match err contains 'Integration... (err)'
63+
// * match err contains 'Issue running postBuild()'
64+
// * match err contains 'Failing integration...'
65+
// * match exit == 1
66+
@Test
67+
public void testIntegrationFailureVerbose() {
68+
assertThat(shell("jbang -Dfailintegration=1 --verbose integration/inttest.java"))
69+
.exitedWith(1)
70+
.errContains("Integration... (out)")
71+
.errContains("Integration... (err)")
72+
.errContains("Issue running postBuild()")
73+
.errContains("Failing integration...");
74+
}
75+
}

0 commit comments

Comments
 (0)