mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-06-06 08:50:52 +00:00
66 lines
2.4 KiB
Scala
66 lines
2.4 KiB
Scala
/**
|
|
* Copyright 2014 Wordnik, Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
package swaggerSpec1_1
|
|
|
|
import com.wordnik.swagger.codegen.model._
|
|
import com.wordnik.swagger.codegen.util.{ResourceExtractor, ApiExtractor, CoreUtils}
|
|
|
|
import org.junit.runner.RunWith
|
|
import org.scalatest.junit.JUnitRunner
|
|
import org.scalatest.FlatSpec
|
|
import org.scalatest.Matchers
|
|
|
|
import scala.collection.JavaConverters._
|
|
import scala.beans.BeanProperty
|
|
|
|
@RunWith(classOf[JUnitRunner])
|
|
class ResourceExtractorTest extends FlatSpec with Matchers {
|
|
behavior of "ResourceExtractor"
|
|
it should "get 3 apis from a resource listing" in {
|
|
val resourceListing = ResourceExtractor.fetchListing("src/test/resources/petstore-1.1/resources.json")
|
|
resourceListing should not be(null)
|
|
resourceListing.apis.size should be (3)
|
|
}
|
|
}
|
|
|
|
@RunWith(classOf[JUnitRunner])
|
|
class ApiExtractorTest extends FlatSpec with Matchers {
|
|
behavior of "ApiExtractor"
|
|
it should "verify the deserialization of the store api" in {
|
|
val resourceListing = ResourceExtractor.fetchListing("src/test/resources/petstore-1.1/resources.json")
|
|
val docs = ApiExtractor.extractApiOperations(resourceListing.swaggerVersion, "src/test/resources/petstore-1.1", resourceListing.apis)
|
|
|
|
val m = docs.map(t => (t.resourcePath, t)).toMap
|
|
val storeApi = m("/store")
|
|
|
|
storeApi should not be (null)
|
|
storeApi.apis.size should be (2)
|
|
|
|
val f = storeApi.apis.map(m => (m.path, m)).toMap
|
|
(f.keys.toSet & Set("/store.{format}/order/{orderId}","/store.{format}/order")).size should be (2)
|
|
|
|
val storeOps = f("/store.{format}/order/{orderId}")
|
|
val ops = storeOps.operations.map(o => (o.nickname, o)).toMap
|
|
val getOrderById = ops("getOrderById")
|
|
|
|
getOrderById should not be null
|
|
|
|
getOrderById.method should be ("GET")
|
|
getOrderById.parameters.size should be (1)
|
|
getOrderById.responseMessages.size should be (2)
|
|
}
|
|
}
|