package io.swagger;
import io.swagger.jaxrs.Reader;
import io.swagger.models.Scheme;
import io.swagger.models.Swagger;
import io.swagger.resources.ResourceWithScheme;
import io.swagger.resources.ResourceWithoutScheme;
import org.testng.annotations.Test;
import java.util.Arrays;
import java.util.List;
import static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertNull;
public class ResourceWithSchemeTest {
private final Reader reader = new Reader(new Swagger());
private Swagger getSwagger(Class<?> resource) {
return reader.read(resource);
}
private List<Scheme> loadSchemes(Swagger swagger, String path) {
return swagger.getPaths().get(path).getGet().getSchemes();
}
@Test(description = "scan another resource with subresources")
public void scanResourceWithSubresources() {
Swagger swagger = getSwagger(ResourceWithScheme.class);
assertEquals(loadSchemes(swagger, "/test/status"), Arrays.asList(Scheme.HTTPS));
assertEquals(loadSchemes(swagger, "/test/value"), Arrays.asList(Scheme.WS, Scheme.WSS));
assertEquals(loadSchemes(swagger, "/test/notes"), Arrays.asList(Scheme.HTTP));
assertEquals(loadSchemes(swagger, "/test/description"), Arrays.asList(Scheme.HTTP));
}
@Test(description = "scan resource without schemes")
public void scanResourceWithoutSchemes() {
Swagger swagger = getSwagger(ResourceWithoutScheme.class);
assertNull(loadSchemes(swagger, "/test/status"));
assertNull(loadSchemes(swagger, "/test/value"));
}
}