Skip to content

Commit 39d0b61

Browse files
committed
tests for #241
1 parent 378b1d5 commit 39d0b61

File tree

6 files changed

+99
-1
lines changed

6 files changed

+99
-1
lines changed

modules/swagger-jaxrs/pom.xml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,17 @@
6262
<artifactId>reflections</artifactId>
6363
<version>0.9.8</version>
6464
</dependency>
65+
<dependency>
66+
<groupId>ch.qos.logback</groupId>
67+
<artifactId>logback-classic</artifactId>
68+
<version>${logback-version}</version>
69+
<scope>provided</scope>
70+
</dependency>
71+
<dependency>
72+
<groupId>ch.qos.logback</groupId>
73+
<artifactId>logback-core</artifactId>
74+
<version>${logback-version}</version>
75+
<scope>provided</scope>
76+
</dependency>
6577
</dependencies>
66-
</project>
78+
</project>
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import testresources._
2+
3+
import com.wordnik.swagger.jaxrs.reader._
4+
import com.wordnik.swagger.core.util._
5+
import com.wordnik.swagger.model._
6+
import com.wordnik.swagger.config._
7+
import com.wordnik.swagger.core.filter._
8+
9+
import java.lang.reflect.Method
10+
11+
import java.util.Date
12+
13+
import org.junit.runner.RunWith
14+
import org.scalatest.junit.JUnitRunner
15+
import org.scalatest.FlatSpec
16+
import org.scalatest.matchers.ShouldMatchers
17+
18+
import scala.collection.mutable.ListBuffer
19+
20+
@RunWith(classOf[JUnitRunner])
21+
class NestedModelResourceTest extends FlatSpec with ShouldMatchers {
22+
it should "read an api and extract an error model" in {
23+
val reader = new DefaultJaxrsApiReader
24+
val config = new SwaggerConfig()
25+
val apiResource = reader.read("/api-docs", classOf[UserResource], config).getOrElse(fail("should not be None"))
26+
27+
apiResource.apis.size should be (1)
28+
29+
val models = apiResource.models.get
30+
models.size should be (3)
31+
(models.keys.toSet & Set("Wheel", "Car", "User")).size should be (3)
32+
}
33+
34+
it should "maintain models after filter" in {
35+
val reader = new DefaultJaxrsApiReader
36+
val config = new SwaggerConfig()
37+
val apiResource = reader.read("/api-docs", classOf[UserResource], config).getOrElse(fail("should not be None"))
38+
39+
val filtered = new SpecFilter().filter(apiResource, FilterFactory.filter, Map(), Map(), Map())
40+
41+
val models = filtered.models.get
42+
(models.keys.toSet & Set("Wheel", "Car", "User")).size should be (3)
43+
}
44+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package testmodels;
2+
3+
import java.util.List;
4+
5+
public class Car {
6+
public List<Wheel> wheels;
7+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package testmodels;
2+
3+
public class User {
4+
public Car car;
5+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package testmodels;
2+
3+
public class Wheel {
4+
public String name;
5+
public int id;
6+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package testresources;
2+
3+
import testmodels.*;
4+
import com.wordnik.swagger.core.*;
5+
import com.wordnik.swagger.annotations.*;
6+
7+
import javax.ws.rs.*;
8+
import javax.ws.rs.core.Response;
9+
10+
import javax.xml.bind.annotation.*;
11+
12+
@Path("/nested")
13+
@Api(value = "/nested", description = "nested model resource")
14+
public class UserResource {
15+
@GET
16+
@Path("/{id}")
17+
@ApiOperation(value = "Gets a family by id",
18+
notes = "No details provided",
19+
response = User.class)
20+
@ApiResponses({@ApiResponse(code = 404, message = "object not found")})
21+
public Response getUserById() {
22+
return Response.ok().build();
23+
}
24+
}

0 commit comments

Comments
 (0)