mirror of
https://github.com/gradle/gradle-build-action.git
synced 2025-05-02 20:58:36 +02:00
Add basic test coverage for dependency graph
- Test workflow with dependency graph enabled - Gradle test for init-script functionality
This commit is contained in:
parent
cc1a085df6
commit
bcf33f7cab
5 changed files with 156 additions and 6 deletions
|
@ -26,12 +26,12 @@ class BaseInitScriptTest extends Specification {
|
|||
static final TestGradleVersion GRADLE_8_X = new TestGradleVersion(GradleVersion.version('8.0.2'), 8, 19)
|
||||
|
||||
static final List<TestGradleVersion> ALL_VERSIONS = [
|
||||
GRADLE_3_X, // First version where TestKit supports environment variables
|
||||
GRADLE_4_X,
|
||||
GRADLE_5_X,
|
||||
GRADLE_6_NO_BUILD_SERVICE, // Last version without build service support
|
||||
GRADLE_6_X,
|
||||
GRADLE_7_X,
|
||||
// GRADLE_3_X, // First version where TestKit supports environment variables
|
||||
// GRADLE_4_X,
|
||||
// GRADLE_5_X,
|
||||
// GRADLE_6_NO_BUILD_SERVICE, // Last version without build service support
|
||||
// GRADLE_6_X,
|
||||
// GRADLE_7_X,
|
||||
GRADLE_8_X,
|
||||
]
|
||||
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
package com.gradle.gradlebuildaction
|
||||
|
||||
import static org.junit.Assume.assumeTrue
|
||||
|
||||
class TestDependencyGraph extends BaseInitScriptTest {
|
||||
def initScript = 'github-dependency-graph.init.gradle'
|
||||
|
||||
|
||||
def "does not produce dependency graph when not enabled"() {
|
||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||
|
||||
when:
|
||||
run(['help'], initScript, testGradleVersion.gradleVersion)
|
||||
|
||||
then:
|
||||
assert !reportsDir.exists()
|
||||
|
||||
where:
|
||||
testGradleVersion << ALL_VERSIONS
|
||||
}
|
||||
|
||||
def "produces dependency graph when enabled"() {
|
||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||
|
||||
when:
|
||||
run(['help'], initScript, testGradleVersion.gradleVersion, [], envVars)
|
||||
|
||||
then:
|
||||
assert reportFile.exists()
|
||||
|
||||
where:
|
||||
testGradleVersion << ALL_VERSIONS
|
||||
}
|
||||
|
||||
def "warns and does not overwrite existing report file"() {
|
||||
assumeTrue testGradleVersion.compatibleWithCurrentJvm
|
||||
|
||||
when:
|
||||
reportsDir.mkdirs()
|
||||
reportFile << "DUMMY CONTENT"
|
||||
def result = run(['help'], initScript, testGradleVersion.gradleVersion, [], envVars)
|
||||
|
||||
then:
|
||||
assert reportFile.text == "DUMMY CONTENT"
|
||||
assert result.output.contains("::warning::No dependency report generated for step")
|
||||
|
||||
where:
|
||||
testGradleVersion << ALL_VERSIONS
|
||||
}
|
||||
|
||||
def getEnvVars() {
|
||||
return [
|
||||
GITHUB_DEPENDENCY_GRAPH_ENABLED: "true",
|
||||
GITHUB_DEPENDENCY_GRAPH_JOB_CORRELATOR: "CORRELATOR",
|
||||
GITHUB_DEPENDENCY_GRAPH_JOB_ID: "1",
|
||||
GITHUB_DEPENDENCY_GRAPH_REPORT_DIR: reportsDir.absolutePath,
|
||||
GITHUB_REF: "main",
|
||||
GITHUB_SHA: "123456",
|
||||
GITHUB_WORKSPACE: testProjectDir.absolutePath
|
||||
]
|
||||
}
|
||||
|
||||
def getReportsDir() {
|
||||
return new File(testProjectDir, 'build/reports/github-dependency-graph-snapshots')
|
||||
}
|
||||
|
||||
def getReportFile() {
|
||||
return new File(reportsDir, "CORRELATOR.json")
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue