io.specmatic.core.Contract.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of specmatic-core Show documentation
Show all versions of specmatic-core Show documentation
Turn your contracts into executable specifications. Contract Driven Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends.
package io.specmatic.core
import io.specmatic.stub.HttpStub
import io.specmatic.test.HttpClient
data class Contract(val feature: Feature) {
companion object {
fun fromGherkin(contractGherkin: String): Contract {
return Contract(parseGherkinStringToFeature(contractGherkin))
}
}
fun samples(fake: HttpStub) = samples(fake.endPoint)
private fun samples(endPoint: String) {
val httpClient = HttpClient(endPoint)
feature.generateContractTests(emptyList()).fold(Results()) { results, contractTest ->
Results(results = results.results.plus(contractTest.runTest(httpClient).first))
}
}
}