Skip to content

Commit 6089121

Browse files
committed
Merge pull request #775 from dilipkrish/develop_scala-2.10
Fix for problem with serializing ApiListing with authorizations
2 parents 7a75357 + f73150a commit 6089121

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

modules/swagger-core/src/main/scala/com/wordnik/swagger/model/SwaggerSerializers.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -509,9 +509,9 @@ trait Serializers {
509509
}) ~
510510
("authorizations" -> {
511511
x.authorizations match {
512-
case e: List[AuthorizationType] if (e.size > 0) => {
513-
Extraction.decompose((for(at: AuthorizationType <- e) yield {
514-
if(at.`type` != "") Some(at.getName, at)
512+
case e: List[Authorization] if (e.size > 0) => {
513+
Extraction.decompose((for(at: Authorization <- e) yield {
514+
if(at.`type` != "") Some(at.`type`, at)
515515
else None
516516
}).flatten.toMap)
517517
}

modules/swagger-core/src/test/scala/converter/SwaggerSerializersTest.scala

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package converter
22

3+
import com.wordnik.swagger.core.SwaggerSpec
34
import com.wordnik.swagger.model._
45

56
import org.json4s._
@@ -32,10 +33,29 @@ class SwaggerSerializersTest extends FlatSpec with Matchers {
3233
}""")*/
3334
}
3435

36+
it should "serialize an api listing with authorizations" in {
37+
val auth = new Authorization("oauth2", Array(AuthorizationScope("scope1", "description 1"),
38+
AuthorizationScope("scope2", "description 2")))
39+
val emptyList = List()
40+
val apiListing = ApiListing(
41+
"1.0",
42+
SwaggerSpec.version,
43+
"",
44+
"/relative-path-to-endpoint",
45+
emptyList,
46+
emptyList,
47+
emptyList,
48+
List(auth),
49+
emptyList,
50+
None,
51+
None,
52+
1)
53+
println(pretty(render(parse(write(apiListing)))))
54+
}
55+
3556
it should "deserialize an ApiDeclaration" in {
3657
parse(apiDeclaration).extract[ApiListing] should not be (null)
3758
}
3859

39-
4060
val apiDeclaration = """{"apiVersion":"1.0.0","swaggerVersion":"1.2","basePath":"http://localhost:9095/resteasy","resourcePath":"/library","apis":[{"path":"/library/books/badger","operations":[{"method":"GET","summary":"gets books with Badger","notes":"gets books with @Badgerfish","type":"listing","nickname":"getBooksBadger","produces":["application/json"],"authorizations":{},"parameters":[],"responseMessages":[{"code":400,"message":"Not sure"},{"code":404,"message":"bad"}]}]},{"path":"/library/books/mapped","operations":[{"method":"GET","summary":"gets books with mapped","notes":"gets books with @Mapped","type":"listing","nickname":"getBooksMapped","produces":["application/json"],"authorizations":{},"parameters":[],"responseMessages":[{"code":400,"message":"Not sure"},{"code":404,"message":"bad"}]}]}],"models":{"book":{"id":"book","properties":{"author":{"type":"string"},"title":{"type":"string"},"iSBN":{"type":"string"}}},"listing":{"id":"listing","properties":{"books":{"type":"array","items":{"$ref":"book"}}}}}}"""
4161
}

0 commit comments

Comments
 (0)