58 lines
1.4 KiB
Groovy
58 lines
1.4 KiB
Groovy
package com.github.jrubygradle.storm
|
|
|
|
import org.gradle.testkit.runner.GradleRunner
|
|
import org.gradle.testkit.runner.TaskOutcome
|
|
import org.gradle.testkit.runner.BuildResult
|
|
import org.junit.Rule
|
|
import org.junit.rules.TemporaryFolder
|
|
import spock.lang.*
|
|
|
|
/**
|
|
*/
|
|
class JRubyStormLocalIntegrationSpec extends Specification {
|
|
@Rule
|
|
final TemporaryFolder testProjectDir = new TemporaryFolder()
|
|
File buildFile
|
|
String pluginDependencies
|
|
|
|
def setup() {
|
|
buildFile = testProjectDir.newFile('build.gradle')
|
|
def pluginClasspathResource = getClass().classLoader.findResource("plugin-classpath.json")
|
|
|
|
if (pluginClasspathResource == null) {
|
|
throw new IllegalStateException("Did not find plugin classpath resource, run `testClasses` build task.")
|
|
}
|
|
|
|
pluginDependencies = pluginClasspathResource.text
|
|
}
|
|
|
|
def "executing runJRubyStorm with no topology should error"() {
|
|
given:
|
|
buildFile << """
|
|
buildscript {
|
|
dependencies {
|
|
classpath files(${pluginDependencies})
|
|
}
|
|
}
|
|
apply plugin: 'com.github.jruby-gradle.storm'
|
|
|
|
repositories {
|
|
jcenter()
|
|
mavenLocal()
|
|
}
|
|
|
|
jrubyStorm {
|
|
}
|
|
"""
|
|
|
|
when:
|
|
BuildResult result = GradleRunner.create()
|
|
.withProjectDir(testProjectDir.root)
|
|
.withArguments('runJRubyStorm')
|
|
.build()
|
|
|
|
then:
|
|
result.task(":runJRubyStorm").outcome == TaskOutcome.FAILURE
|
|
}
|
|
}
|