mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-05-13 21:20:56 +00:00
* 2nd attempt to make the automatic checkin testing work * trying to submit the samples in hopes that the CI matches them and passes * found some samples I hadn't updated. Maybe this is it?
95 lines
2.7 KiB
Scala
95 lines
2.7 KiB
Scala
import org.openapitools.client._
|
|
import org.openapitools.client.api._
|
|
import org.openapitools.client.model._
|
|
|
|
import org.junit.runner.RunWith
|
|
import org.scalatest.junit.JUnitRunner
|
|
import org.scalatest._
|
|
|
|
import scala.collection.mutable.{ ListBuffer, HashMap }
|
|
import scala.collection.JavaConverters._
|
|
import scala.beans.BeanProperty
|
|
|
|
@RunWith(classOf[JUnitRunner])
|
|
class PetApiTest extends FlatSpec with Matchers {
|
|
behavior of "PetApi"
|
|
val api = new PetApi
|
|
|
|
it should "add and fetch a pet" in {
|
|
val pet = Pet(
|
|
Some(1000),
|
|
Some(Category(Some(1), Some("sold"))),
|
|
"dragon",
|
|
(for (i <- (1 to 10)) yield "http://foo.com/photo/" + i).toList,
|
|
Some((for (i <- (1 to 5)) yield org.openapitools.client.model.Tag(Some(i), Some("tag-" + i))).toList),
|
|
Some("lost")
|
|
)
|
|
|
|
api.addPet(pet)
|
|
api.getPetById(1000) match {
|
|
case Some(pet) => {
|
|
pet.id should be(Some(1000))
|
|
pet.tags.get.size should be(5)
|
|
pet.status should be(Some("lost"))
|
|
pet.category should not be (null)
|
|
pet.category.get.name should be(Some("sold"))
|
|
pet.name should be("dragon")
|
|
pet.photoUrls.size should be(10)
|
|
}
|
|
case None => fail("didn't find pet created")
|
|
}
|
|
}
|
|
|
|
it should "update a pet" in {
|
|
val pet = Pet(
|
|
Some(1000),
|
|
Some(Category(Some(1), Some("sold"))),
|
|
"programmer",
|
|
(for (i <- (1 to 10)) yield "http://foo.com/photo/" + i).toList,
|
|
Some((for (i <- (1 to 5)) yield org.openapitools.client.model.Tag(Some(i), Some("tag-" + i))).toList),
|
|
Some("confused")
|
|
)
|
|
|
|
api.addPet(pet)
|
|
|
|
api.getPetById(1000) match {
|
|
case Some(pet) => {
|
|
pet.name should be("programmer")
|
|
pet.status should be(Some("confused"))
|
|
}
|
|
case None => fail("didn't find pet created")
|
|
}
|
|
val updatedPet = pet.copy(status = Some("fulfilled"))
|
|
api.updatePet(updatedPet)
|
|
api.getPetById(1000) match {
|
|
case Some(pet) => {
|
|
pet.name should be("programmer")
|
|
pet.status should be(Some("fulfilled"))
|
|
}
|
|
case None => fail("didn't find pet updated")
|
|
}
|
|
}
|
|
|
|
it should "find pets by status" in {
|
|
api.findPetsByStatus(List("available")) match {
|
|
case Some(pets) => {
|
|
pets.foreach(pet => pet.status should be("available"))
|
|
}
|
|
case None => fail("didn't find pets by status")
|
|
}
|
|
}
|
|
|
|
it should "find pets by tag" in {
|
|
api.findPetsByTags(List("tag1", "tag2")) match {
|
|
case Some(pets) => {
|
|
pets.foreach(pet => {
|
|
val tags = (for (tag <- pet.tags.get) yield tag.name).toSet
|
|
if ((tags & Set(Some("tag1"), Some("tag2"))).size == 0)
|
|
fail("unexpected tags in " + tags)
|
|
})
|
|
}
|
|
case None => fail("didn't find pets by tag")
|
|
}
|
|
}
|
|
}
|