Skip to content

Commit 166c074

Browse files
committed
Fixes #1177: DefaultJaxrsScanner has been fixed
1 parent 32f7398 commit 166c074

File tree

4 files changed

+53
-6
lines changed

4 files changed

+53
-6
lines changed

modules/swagger-jaxrs/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@
126126
<artifactId>testng</artifactId>
127127
<scope>test</scope>
128128
</dependency>
129+
<dependency>
130+
<groupId>org.mockito</groupId>
131+
<artifactId>mockito-all</artifactId>
132+
</dependency>
129133
</dependencies>
130134
<properties>
131135
<coverage.complexity.minimum>0.29</coverage.complexity.minimum>

modules/swagger-jaxrs/src/main/java/io/swagger/jaxrs/config/DefaultJaxrsScanner.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
public class DefaultJaxrsScanner extends AbstractScanner implements JaxrsScanner {
99
private boolean prettyPrint = false;
1010

11-
public Set<Class<?>> classesFromContext(
12-
Application app,
13-
ServletConfig sc) {
11+
public Set<Class<?>> classesFromContext(Application app, ServletConfig sc) {
1412
Set<Class<?>> output = new HashSet<Class<?>>();
1513
if (app != null) {
1614
Set<Class<?>> clz = app.getClasses();
@@ -20,9 +18,7 @@ public Set<Class<?>> classesFromContext(
2018
Set<Object> singletons = app.getSingletons();
2119
if (singletons != null) {
2220
for (Object o : singletons) {
23-
if (o instanceof Class) {
24-
output.add((Class) o);
25-
}
21+
output.add(o.getClass());
2622
}
2723
}
2824
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package io.swagger;
2+
3+
import static org.mockito.Mockito.mock;
4+
import static org.mockito.Mockito.when;
5+
import static org.testng.Assert.assertEquals;
6+
7+
import io.swagger.jaxrs.config.DefaultJaxrsScanner;
8+
9+
import com.google.common.base.Function;
10+
import com.google.common.collect.Iterables;
11+
import com.google.common.collect.Sets;
12+
import org.testng.annotations.Test;
13+
14+
import java.util.Set;
15+
16+
import javax.ws.rs.core.Application;
17+
18+
public class DefaultJaxrsScannerTest {
19+
20+
@Test(description = "should return singletones")
21+
public void classesFromContextTest() {
22+
Application app = mock(Application.class);
23+
Set<Object> singletons = Sets.newHashSet(new io.swagger.jaxrs.listing.ApiListingResource(), new DefaultJaxrsScannerTest());
24+
25+
when(app.getClasses()).thenReturn(null);
26+
when(app.getSingletons()).thenReturn(singletons);
27+
28+
DefaultJaxrsScanner scanner = new DefaultJaxrsScanner();
29+
Set<Class<?>> output = scanner.classesFromContext(app, null);
30+
31+
Set<Class<?>> classes = Sets.newHashSet(Iterables.transform(singletons, new Function<Object, Class<?>>() {
32+
@Override
33+
public Class<?> apply(Object o) {
34+
return o.getClass();
35+
}
36+
}));
37+
38+
assertEquals(output, classes);
39+
}
40+
}

pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,12 @@
494494
<version>${testng-version}</version>
495495
<scope>test</scope>
496496
</dependency>
497+
<dependency>
498+
<groupId>org.mockito</groupId>
499+
<artifactId>mockito-all</artifactId>
500+
<version>${mockito-version}</version>
501+
<scope>test</scope>
502+
</dependency>
497503
<dependency>
498504
<groupId>javax.servlet</groupId>
499505
<artifactId>servlet-api</artifactId>
@@ -544,6 +550,7 @@
544550

545551
<junit-version>4.8.2</junit-version>
546552
<testng-version>6.9.4</testng-version>
553+
<mockito-version>1.9.5</mockito-version>
547554
<surefire-version>2.18.1</surefire-version>
548555
<maven-plugin-version>1.0.0</maven-plugin-version>
549556
<commons-lang-version>3.2.1</commons-lang-version>

0 commit comments

Comments
 (0)