Reference: Testing: Power Assert

Installation (Gradle)

dependencies {
    
    implementation(platform("org.http4k:http4k-bom:6.24.0.0"))

    implementation("org.http4k:http4k-testing-powerassert")
}

About

A set of Power Assert matchers for use when testing http4k apps.

Code

package content.ecosystem.http4k.reference.powerassert

import org.http4k.core.Method.POST
import org.http4k.core.Request
import org.http4k.core.Response
import org.http4k.core.Status.Companion.OK
import org.http4k.powerassert.hasBody
import org.http4k.powerassert.hasHeader
import org.http4k.powerassert.hasQuery
import org.http4k.powerassert.hasStatus
import org.junit.jupiter.api.Test

class ExampleTest {

    @Test
    fun `example matchers`() {

        val request = Request(POST, "/?a=b").body("http4k is cool").header("my header", "a value")

        // status
        assert(Response(OK).hasStatus(OK))

        // query
        assert(request.hasQuery("a", "b"))

        // header
        assert(request.hasHeader("my header", "a value"))

        // body
        assert(request.hasBody("http4k is cool"))

        // composite
        assert(request.hasBody("http4k is cool"))
    }
}
scarf