Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
import ratpack.exec.Promise
import ratpack.handling.Context
import ratpack.groovy.test.embed.GroovyEmbeddedApp
@GrabResolver(name = 'jcenter', root = 'http://jcenter.bintray.com/')
@GrabExclude('org.codehaus.groovy:groovy-all')
@Grab('org.slf4j:slf4j-simple:1.7.12')
@Grab('io.ratpack:ratpack-groovy:1.3.3')
@Grab('io.ratpack:ratpack-rx:1.3.3')
@Grab('io.ratpack:ratpack-groovy-test:1.3.3')
GroovyEmbeddedApp app = GroovyEmbeddedApp.of {
handlers {
all { Context context ->
println "A. Original compute thread: ${Thread.currentThread().name}"
Promise.async { downstream ->
println "B. Promise thread : ${Thread.currentThread().name}"
downstream.success("hello from async promise")
}.then { result ->
context.render result
}
println "C. Original compute thread: ${Thread.currentThread().name}"
}
}
}.test {
assert getText() == "hello from async promise"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment