Skip to content

Commit aae640d

Browse files
authored
Add Google Truth for easier to debug assertions in tests. (#920)
1 parent 17f24e6 commit aae640d

File tree

6 files changed

+38
-37
lines changed

6 files changed

+38
-37
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
- [changelog](https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8133)
1717
- [diff](https://github.com/getsentry/sentry-java/compare/8.12.0...8.13.3)
1818

19+
### Internal
20+
21+
- Add Google Truth for easier to debug assertions in tests ([#920](https://github.com/getsentry/sentry-android-gradle-plugin/pull/920))
22+
1923
## 5.7.0
2024

2125
### Dependencies

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ autoService = { group = "com.google.auto.service", name = "auto-service", versio
4040
autoServiceAnnotatons = { group = "com.google.auto.service", name = "auto-service-annotations", version = "1.0.1" }
4141
kotlinJunit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" }
4242
kotlinCompileTesting = { group = "dev.zacsweers.kctfork", name = "core", version = "0.7.0" }
43+
truth = { module = "com.google.truth:truth", version = "1.4.4" }
4344
composeDesktop = { group = "org.jetbrains.compose.desktop", name = "desktop", version = "1.6.10" }
4445

4546
# bytecode instrumentation

plugin-build/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ dependencies {
4545
testImplementation(libs.proguard)
4646
testImplementation(libs.junit)
4747
testImplementation(libs.mockitoKotlin)
48+
testImplementation(libs.truth)
4849

4950
testImplementation(libs.asm)
5051
testImplementation(libs.asmCommons)

plugin-build/src/test/kotlin/io/sentry/android/gradle/tasks/BundleSourcesTaskTest.kt

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
package io.sentry.android.gradle.tasks
22

3+
import com.google.common.truth.Truth.assertThat
34
import io.sentry.android.gradle.sourcecontext.BundleSourcesTask
45
import io.sentry.android.gradle.sourcecontext.GenerateBundleIdTask.Companion.SENTRY_BUNDLE_ID_PROPERTY
56
import java.io.File
67
import java.util.Properties
78
import java.util.UUID
8-
import kotlin.test.assertEquals
9-
import kotlin.test.assertFalse
10-
import kotlin.test.assertNull
11-
import kotlin.test.assertTrue
129
import org.gradle.api.Project
1310
import org.gradle.api.file.RegularFile
1411
import org.gradle.api.provider.Provider
@@ -40,15 +37,15 @@ class BundleSourcesTaskTest {
4037

4138
val args = task.get().computeCommandLineArgs()
4239

43-
assertTrue("sentry-cli" in args)
44-
assertTrue("debug-files" in args)
45-
assertTrue("bundle-jvm" in args)
46-
assertTrue(sourceDir.absolutePath in args)
47-
assertTrue("--output=${outDir.absolutePath}" in args)
40+
assertThat(args).contains("sentry-cli")
41+
assertThat(args).contains("debug-files")
42+
assertThat(args).contains("bundle-jvm")
43+
assertThat(args).contains(sourceDir.absolutePath)
44+
assertThat(args).contains("--output=${outDir.absolutePath}")
4845

49-
assertFalse("--org" in args)
50-
assertFalse("--project" in args)
51-
assertFalse("--log-level=debug" in args)
46+
assertThat(args).doesNotContain("--org")
47+
assertThat(args).doesNotContain("--project")
48+
assertThat(args).doesNotContain("--log-level=debug")
5249
}
5350

5451
@Test
@@ -69,7 +66,7 @@ class BundleSourcesTaskTest {
6966

7067
val args = task.get().computeCommandLineArgs()
7168

72-
assertTrue("--log-level=debug" in args)
69+
assertThat(args).contains("--log-level=debug")
7370
}
7471

7572
@Test
@@ -91,10 +88,8 @@ class BundleSourcesTaskTest {
9188

9289
task.get().setSentryPropertiesEnv()
9390

94-
assertEquals(
95-
propertiesFile.absolutePath,
96-
task.get().environment["SENTRY_PROPERTIES"].toString(),
97-
)
91+
assertThat(task.get().environment["SENTRY_PROPERTIES"].toString())
92+
.isEqualTo(propertiesFile.toString())
9893
}
9994

10095
@Test
@@ -115,7 +110,7 @@ class BundleSourcesTaskTest {
115110

116111
task.get().setSentryAuthTokenEnv()
117112

118-
assertEquals("<token>", task.get().environment["SENTRY_AUTH_TOKEN"].toString())
113+
assertThat(task.get().environment).containsEntry("SENTRY_AUTH_TOKEN", "<token>")
119114
}
120115

121116
@Test
@@ -135,7 +130,7 @@ class BundleSourcesTaskTest {
135130

136131
task.get().setSentryPropertiesEnv()
137132

138-
assertNull(task.get().environment["SENTRY_PROPERTIES"])
133+
assertThat(task.get().environment).doesNotContainKey("SENTRY_PROPERTIES")
139134
}
140135

141136
@Test
@@ -156,8 +151,8 @@ class BundleSourcesTaskTest {
156151

157152
val args = task.get().computeCommandLineArgs()
158153

159-
assertTrue("--org" in args)
160-
assertTrue("dummy-org" in args)
154+
assertThat(args).contains("--org")
155+
assertThat(args).contains("dummy-org")
161156
}
162157

163158
@Test
@@ -178,24 +173,24 @@ class BundleSourcesTaskTest {
178173

179174
val args = task.get().computeCommandLineArgs()
180175

181-
assertTrue("--project" in args)
182-
assertTrue("dummy-proj" in args)
176+
assertThat(args).contains("--project")
177+
assertThat(args).contains("dummy-proj")
183178
}
184179

185180
@Test
186181
fun `readBundleIdFromFile works correctly`() {
187182
val expected = "8c776014-bb25-11eb-8529-0242ac130003"
188183
val input = tempDir.newFile().apply { writeText("$SENTRY_BUNDLE_ID_PROPERTY=$expected") }
189184
val actual = BundleSourcesTask.readBundleIdFromFile(input)
190-
assertEquals(expected, actual)
185+
assertThat(actual).isEqualTo(expected)
191186
}
192187

193188
@Test
194189
fun `readBundleIdFromFile works correctly with whitespaces`() {
195190
val expected = "8c776014-bb25-11eb-8529-0242ac130003"
196191
val input = tempDir.newFile().apply { writeText(" $SENTRY_BUNDLE_ID_PROPERTY=$expected\n") }
197192
val actual = BundleSourcesTask.readBundleIdFromFile(input)
198-
assertEquals(expected, actual)
193+
assertThat(actual).isEqualTo(expected)
199194
}
200195

201196
@Test
@@ -238,8 +233,8 @@ class BundleSourcesTaskTest {
238233

239234
val args = task.get().computeCommandLineArgs()
240235

241-
assertTrue("--url" in args)
242-
assertTrue("https://some-host.sentry.io" in args)
236+
assertThat(args).contains("--url")
237+
assertThat(args).contains("https://some-host.sentry.io")
243238
}
244239

245240
private fun createProject(): Project {

plugin-build/src/test/kotlin/io/sentry/android/gradle/tasks/CollectSourcesTaskTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package io.sentry.android.gradle.tasks
22

3+
import com.google.common.truth.Truth.assertThat
34
import io.sentry.android.gradle.sourcecontext.SourceCollector
45
import java.io.File
5-
import kotlin.test.assertEquals
66
import org.gradle.api.Project
77
import org.gradle.testfixtures.ProjectBuilder
88
import org.junit.Test
@@ -35,7 +35,7 @@ class CollectSourcesTaskTest {
3535
SourceCollector().collectSources(outDir, sourceDirs)
3636

3737
val outSources = outDir.walk().filter { it.isFile }.toList()
38-
assertEquals(3, outSources.size)
38+
assertThat(outSources).hasSize(3)
3939
}
4040

4141
private fun createProject(): Project {

plugin-build/src/test/kotlin/io/sentry/android/gradle/tasks/dependencies/SentryExternalDependenciesReportTaskTest.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package io.sentry.android.gradle.tasks.dependencies
22

3+
import com.google.common.truth.Truth.assertThat
34
import io.sentry.android.gradle.tasks.dependencies.SentryExternalDependenciesReportTaskV2.Companion.SENTRY_DEPENDENCIES_REPORT_OUTPUT
45
import java.io.File
5-
import kotlin.test.assertEquals
66
import org.gradle.api.Project
77
import org.gradle.api.tasks.TaskProvider
88
import org.gradle.testfixtures.ProjectBuilder
@@ -65,7 +65,7 @@ class SentryExternalDependenciesReportTaskTest {
6565
task.get().action()
6666

6767
val outputFile = File(output, SENTRY_DEPENDENCIES_REPORT_OUTPUT)
68-
assertEquals("", outputFile.readText())
68+
assertThat(outputFile.readText()).isEqualTo("")
6969
}
7070

7171
@Test
@@ -85,12 +85,13 @@ class SentryExternalDependenciesReportTaskTest {
8585
task.get().action()
8686

8787
val outputFile = File(output, SENTRY_DEPENDENCIES_REPORT_OUTPUT)
88-
assertEquals("", outputFile.readText())
88+
assertThat(outputFile.readText()).isEqualTo("")
8989
}
9090

9191
private fun File.verifyContents() {
92-
assertEquals(
93-
"""
92+
assertThat(File(this, SENTRY_DEPENDENCIES_REPORT_OUTPUT).readText())
93+
.isEqualTo(
94+
"""
9495
androidx.annotation:annotation:1.1.0
9596
androidx.arch.core:core-common:2.1.0
9697
androidx.collection:collection:1.0.0
@@ -103,9 +104,8 @@ class SentryExternalDependenciesReportTaskTest {
103104
io.sentry:sentry-android-core:6.5.0
104105
io.sentry:sentry:6.5.0
105106
"""
106-
.trimIndent(),
107-
File(this, SENTRY_DEPENDENCIES_REPORT_OUTPUT).readText(),
108-
)
107+
.trimIndent()
108+
)
109109
}
110110

111111
private fun createRegularProject(): Project {

0 commit comments

Comments
 (0)