Skip to content

Commit 028352f

Browse files
committed
Add Gradle test
1 parent d6a02d8 commit 028352f

File tree

5 files changed

+119
-0
lines changed

5 files changed

+119
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package test
2+
3+
import org.gradle.testkit.runner.UnexpectedBuildFailure
4+
import org.junit.Test
5+
import util.TestUtils
6+
import util.TestUtils.withTestProject
7+
import kotlin.test.assertTrue
8+
9+
class IssueSeveritiesTests {
10+
11+
private fun String.containsWarning(): Boolean {
12+
return lines().any {
13+
it.matches(Regex(".*w:.* Fragment 'queryDetails' is not used.*"))
14+
}
15+
}
16+
17+
private fun String.containsError(): Boolean {
18+
return lines().any {
19+
it.matches(Regex(".*e:.* Fragment 'queryDetails' is not used.*"))
20+
}
21+
}
22+
23+
@Test
24+
fun default() {
25+
withTestProject("issue-severities") { dir ->
26+
val result = TestUtils.executeTask("generateDefaultApolloSources", dir)
27+
assertTrue(result.output.containsWarning())
28+
}
29+
}
30+
31+
@Test
32+
fun ignore() {
33+
withTestProject("issue-severities") { dir ->
34+
val result = TestUtils.executeTask("generateIgnoreApolloSources", dir)
35+
assertTrue(!result.output.containsWarning() && !result.output.containsError())
36+
}
37+
}
38+
39+
@Test
40+
fun warn() {
41+
withTestProject("issue-severities") { dir ->
42+
val result = TestUtils.executeTask("generateWarnApolloSources", dir)
43+
assertTrue(result.output.containsWarning())
44+
}
45+
}
46+
47+
@Test
48+
fun error() {
49+
withTestProject("issue-severities") { dir ->
50+
try {
51+
TestUtils.executeTask("generateErrorApolloSources", dir)
52+
error("An Exception was expected")
53+
} catch (e: UnexpectedBuildFailure) {
54+
assertTrue(e.message!!.containsError())
55+
}
56+
}
57+
}
58+
59+
@Test
60+
fun invalid() {
61+
withTestProject("issue-severities") { dir ->
62+
try {
63+
TestUtils.executeTask("generateInvalidApolloSources", dir)
64+
error("An Exception was expected")
65+
} catch (e: UnexpectedBuildFailure) {
66+
assertTrue(e.message!!.contains("Unknown severity 'invalid'. Expected one of: 'ignore', 'warn', 'error'"))
67+
}
68+
}
69+
}
70+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
plugins {
2+
alias(libs.plugins.kotlin.jvm)
3+
alias(libs.plugins.apollo)
4+
alias(libs.plugins.compat.patrouille)
5+
}
6+
7+
dependencies {
8+
implementation(apollo.deps.api)
9+
}
10+
11+
apollo {
12+
service("default") {
13+
packageName.set("default")
14+
}
15+
service("ignore") {
16+
packageName.set("ignore")
17+
issueSeverity("UnusedFragment", "ignore")
18+
}
19+
service("warn") {
20+
packageName.set("warn")
21+
issueSeverity("UnusedFragment", "warn")
22+
}
23+
service("error") {
24+
packageName.set("error")
25+
issueSeverity("UnusedFragment", "error")
26+
}
27+
service("invalid") {
28+
packageName.set("invalid")
29+
issueSeverity("UnusedFragment", "invalid")
30+
}
31+
}
32+
33+
compatPatrouille {
34+
java(17)
35+
}
36+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
rootProject.name = "testProject"
2+
3+
apply(from = "../../../../gradle/test.settings.gradle.kts")
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
query GetTypename {
2+
__typename
3+
}
4+
5+
fragment queryDetails on Query {
6+
__typename
7+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
type Query {
2+
foo: String
3+
}

0 commit comments

Comments
 (0)