Refactor FeatureFlags.

This commit is contained in:
Greyson Parrelli
2024-06-12 13:57:07 -04:00
parent 39cb1c638e
commit 13f7a64139
76 changed files with 1059 additions and 1053 deletions

View File

@@ -45,31 +45,31 @@ class CrashConfigTest {
@Test
fun `simple name pattern`() {
every { FeatureFlags.crashPromptConfig() } returns """[ { "name": "test", "percent": 100 } ]"""
every { FeatureFlags.crashPromptConfig } returns """[ { "name": "test", "percent": 100 } ]"""
CrashConfig.computePatterns() assertIs listOf(CrashConfig.CrashPattern(namePattern = "test"))
}
@Test
fun `simple message pattern`() {
every { FeatureFlags.crashPromptConfig() } returns """[ { "message": "test", "percent": 100 } ]"""
every { FeatureFlags.crashPromptConfig } returns """[ { "message": "test", "percent": 100 } ]"""
CrashConfig.computePatterns() assertIs listOf(CrashConfig.CrashPattern(messagePattern = "test"))
}
@Test
fun `simple stackTrace pattern`() {
every { FeatureFlags.crashPromptConfig() } returns """[ { "stackTrace": "test", "percent": 100 } ]"""
every { FeatureFlags.crashPromptConfig } returns """[ { "stackTrace": "test", "percent": 100 } ]"""
CrashConfig.computePatterns() assertIs listOf(CrashConfig.CrashPattern(stackTracePattern = "test"))
}
@Test
fun `all fields set`() {
every { FeatureFlags.crashPromptConfig() } returns """[ { "name": "test1", "message": "test2", "stackTrace": "test3", "percent": 100 } ]"""
every { FeatureFlags.crashPromptConfig } returns """[ { "name": "test1", "message": "test2", "stackTrace": "test3", "percent": 100 } ]"""
CrashConfig.computePatterns() assertIs listOf(CrashConfig.CrashPattern(namePattern = "test1", messagePattern = "test2", stackTracePattern = "test3"))
}
@Test
fun `multiple configs`() {
every { FeatureFlags.crashPromptConfig() } returns
every { FeatureFlags.crashPromptConfig } returns
"""
[
{ "name": "test1", "percent": 100 },
@@ -87,7 +87,7 @@ class CrashConfigTest {
@Test
fun `empty fields are considered null`() {
every { FeatureFlags.crashPromptConfig() } returns
every { FeatureFlags.crashPromptConfig } returns
"""
[
{ "name": "", "percent": 100 },
@@ -104,31 +104,31 @@ class CrashConfigTest {
@Test
fun `ignore zero percent`() {
every { FeatureFlags.crashPromptConfig() } returns """[ { "name": "test", "percent": 0 } ]"""
every { FeatureFlags.crashPromptConfig } returns """[ { "name": "test", "percent": 0 } ]"""
CrashConfig.computePatterns() assertIs emptyList()
}
@Test
fun `not setting percent is the same as zero percent`() {
every { FeatureFlags.crashPromptConfig() } returns """[ { "name": "test" } ]"""
every { FeatureFlags.crashPromptConfig } returns """[ { "name": "test" } ]"""
CrashConfig.computePatterns() assertIs emptyList()
}
@Test
fun `ignore configs without a pattern`() {
every { FeatureFlags.crashPromptConfig() } returns """[ { "percent": 100 } ]"""
every { FeatureFlags.crashPromptConfig } returns """[ { "percent": 100 } ]"""
CrashConfig.computePatterns() assertIs emptyList()
}
@Test
fun `ignore invalid json`() {
every { FeatureFlags.crashPromptConfig() } returns "asdf"
every { FeatureFlags.crashPromptConfig } returns "asdf"
CrashConfig.computePatterns() assertIs emptyList()
}
@Test
fun `ignore empty json`() {
every { FeatureFlags.crashPromptConfig() } returns ""
every { FeatureFlags.crashPromptConfig } returns ""
CrashConfig.computePatterns() assertIs emptyList()
}
}