Skip to content

Commit e1f3836

Browse files
Merge pull request #24 from MaximumTrainer/copilot/add-data-masking-execution-logic
Implement GeneratorService data masking & generation execution logic
2 parents 1e5f0e4 + 53b7b4f commit e1f3836

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

backend/src/test/kotlin/com/opendatamask/service/GeneratorServiceTest.kt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,33 @@ class GeneratorServiceTest {
106106
assertEquals("masked@example.com", result["email"])
107107
assertEquals(1, result["id"])
108108
}
109+
110+
@Test
111+
fun `generateRows produces the requested number of rows`() {
112+
val generators = listOf(
113+
ColumnGenerator(tableConfigurationId = 1L, columnName = "name", generatorType = GeneratorType.NAME),
114+
ColumnGenerator(tableConfigurationId = 1L, columnName = "email", generatorType = GeneratorType.EMAIL)
115+
)
116+
val rows = service.generateRows(generators, 3)
117+
assertEquals(3, rows.size)
118+
rows.forEach { row ->
119+
assertTrue((row["name"] as String).isNotBlank())
120+
assertTrue((row["email"] as String).contains("@"))
121+
}
122+
}
123+
124+
@Test
125+
fun `generateRows returns empty list when count is zero`() {
126+
val generators = listOf(
127+
ColumnGenerator(tableConfigurationId = 1L, columnName = "name", generatorType = GeneratorType.NAME)
128+
)
129+
val rows = service.generateRows(generators, 0)
130+
assertTrue(rows.isEmpty())
131+
}
132+
133+
@Test
134+
fun `CUSTOM falls back to originalValue when no params provided`() {
135+
val result = service.generateValue(GeneratorType.CUSTOM, "fallback", null)
136+
assertEquals("fallback", result)
137+
}
109138
}

0 commit comments

Comments
 (0)