forked from iurysza/module-graph
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModuleGraphPluginTest.kt
More file actions
63 lines (54 loc) · 2.6 KB
/
Copy pathModuleGraphPluginTest.kt
File metadata and controls
63 lines (54 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package dev.iurysouza.modulegraph
import dev.iurysouza.modulegraph.gradle.CreateModuleGraphTask
import dev.iurysouza.modulegraph.gradle.ModuleGraphExtension
import org.gradle.testfixtures.ProjectBuilder
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertNotNull
import org.junit.jupiter.api.Test
class ModuleGraphPluginTest {
private val pluginId = "dev.iurysouza.modulegraph"
private val pluginExtension = "moduleGraphConfig"
@Test
fun `extension moduleGraphConfig is created correctly`() {
val project = ProjectBuilder.builder().build()
project.pluginManager.apply(pluginId)
assertNotNull(project.extensions.getByName(pluginExtension))
}
@Test
fun `plugin is correctly applied to the project with minimal valid graph config`() {
val project = ProjectBuilder.builder().build()
project.pluginManager.apply(pluginId)
assert(project.tasks.getByName("createModuleGraph") is CreateModuleGraphTask)
}
@Test
fun `parameters are passed correctly from extension to task`() {
val project = ProjectBuilder.builder().build()
project.pluginManager.apply(pluginId)
val aFilePath = "${project.projectDir}/README.md"
(project.extensions.getByName(pluginExtension) as ModuleGraphExtension).apply {
readmePath.set(aFilePath)
heading.set("### Dependency Diagram")
theme.set(Theme.NEUTRAL)
showFullPath.set(true)
linkText.set(LinkText.CONFIGURATION)
orientation.set(Orientation.TOP_TO_BOTTOM)
excludedConfigurationsRegex.set("implementation")
excludedModulesRegex.set("project")
focusedModulesRegex.set(".*test.*")
rootModulesRegex.set(".*")
includeIsolatedModules.set(true)
}
val task = project.tasks.getByName("createModuleGraph") as CreateModuleGraphTask
assertEquals("### Dependency Diagram", task.heading.get())
assertEquals(aFilePath, task.readmePath.get())
assertEquals(LinkText.CONFIGURATION, task.linkText.get())
assertEquals(true, task.showFullPath.get())
assertEquals(Theme.NEUTRAL, task.theme.get())
assertEquals(Orientation.TOP_TO_BOTTOM, task.orientation.get())
assertEquals(".*test.*", task.focusedModulesRegex.get())
assertEquals("implementation", task.excludedConfigurationsRegex.get())
assertEquals("project", task.excludedModulesRegex.get())
assertEquals(".*", task.rootModulesRegex.get())
assertEquals(true, task.includeIsolatedModules.get())
}
}