package io.swagger;
import com.google.common.base.Function;
import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
import io.swagger.jaxrs.config.DefaultJaxrsScanner;
import org.testng.annotations.Test;
import javax.ws.rs.core.Application;
import java.util.Set;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import static org.testng.Assert.assertEquals;
public class DefaultJaxrsScannerTest {
@Test(description = "should return singletones")
public void classesFromContextTest() {
Application app = mock(Application.class);
Set<Object> singletons = Sets.newHashSet(new io.swagger.jaxrs.listing.ApiListingResource(), new DefaultJaxrsScannerTest());
when(app.getClasses()).thenReturn(null);
when(app.getSingletons()).thenReturn(singletons);
DefaultJaxrsScanner scanner = new DefaultJaxrsScanner();
Set<Class<?>> output = scanner.classesFromContext(app, null);
Set<Class<?>> classes = Sets.newHashSet(Iterables.transform(singletons, new Function<Object, Class<?>>() {
@Override
public Class<?> apply(Object o) {
return o.getClass();
}
}));
assertEquals(output, classes);
}
}