Skip to content

Commit

Permalink
Merge pull request #145 from gedhi/PR/#144
Browse files Browse the repository at this point in the history
Pr/#144
  • Loading branch information
fabiomaffioletti committed Sep 23, 2015
2 parents e2c8462 + 8f09d21 commit 12c9aaa
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 70 deletions.
Expand Up @@ -5,6 +5,7 @@
import java.util.LinkedHashSet;
import java.util.Set;

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;

public class SpringConsumesBuilder {
Expand Down Expand Up @@ -34,6 +35,10 @@ public static Set<String> buildConsumes(Method method) {
consumes.addAll(Arrays.asList(requestMapping.consumes()));
}
}

if(consumes.isEmpty()) {
consumes.add(MediaType.APPLICATION_JSON_VALUE);
}

return consumes;
}
Expand Down
Expand Up @@ -16,90 +16,92 @@

public class SpringConsumesBuilderTest {

private JSONDocScanner jsondocScanner = new Spring3JSONDocScanner();
private JSONDocScanner jsondocScanner = new Spring3JSONDocScanner();

@Controller
@RequestMapping
public class SpringController {
@Controller
@RequestMapping
public class SpringController {

@RequestMapping(value = "/consumes-one", consumes = MediaType.APPLICATION_JSON_VALUE)
public void consumesOne() {
@RequestMapping(value = "/consumes-one", consumes = MediaType.APPLICATION_JSON_VALUE)
public void consumesOne() {

}

@RequestMapping(value = "/consumes-two", consumes = { MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE })
public void consumesTwo() {
}

@RequestMapping(value = "/consumes-two", consumes = { MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE })
public void consumesTwo() {

}

@RequestMapping(value = "/consumes-three")
public void consumesThree() {

}

@RequestMapping(value = "/consumes-three")
public void consumesThree() {
}

}

@Controller
@RequestMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
public class SpringController2 {

}
@RequestMapping(value = "/consumes-one")
public void consumesOne() {

}

@Controller
@RequestMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
public class SpringController2 {

@RequestMapping(value = "/consumes-one")
public void consumesOne() {
@RequestMapping(value = "/consumes-two", consumes = { MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE })
public void consumesTwo() {

}

@RequestMapping(value = "/consumes-two", consumes = { MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE })
public void consumesTwo() {
}

}

@RequestMapping(value = "/consumes-three", consumes = MediaType.APPLICATION_XML_VALUE)
public void consumesThree() {
@RequestMapping(value = "/consumes-three", consumes = MediaType.APPLICATION_XML_VALUE)
public void consumesThree() {

}
}

}

@Test
public void testApiVerb() {
ApiDoc apiDoc = jsondocScanner.getApiDocs(Sets.<Class<?>> newHashSet(SpringController.class), MethodDisplay.URI).iterator().next();
Assert.assertEquals("SpringController", apiDoc.getName());
Assert.assertEquals(3, apiDoc.getMethods().size());
for (ApiMethodDoc apiMethodDoc : apiDoc.getMethods()) {
if (apiMethodDoc.getPath().contains("/consumes-one")) {
Assert.assertEquals(1, apiMethodDoc.getConsumes().size());
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, apiMethodDoc.getConsumes().iterator().next());
}
if (apiMethodDoc.getPath().contains("/consumes-two")) {
Assert.assertEquals(2, apiMethodDoc.getConsumes().size());
Iterator<String> iterator = apiMethodDoc.getConsumes().iterator();
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, iterator.next());
Assert.assertEquals(MediaType.APPLICATION_XML_VALUE, iterator.next());
}
if (apiMethodDoc.getPath().contains("/consumes-three")) {
Assert.assertEquals(1, apiMethodDoc.getConsumes().size());
String consumes = apiMethodDoc.getConsumes().iterator().next();
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, consumes);
}
}

@Test
public void testApiVerb() {
ApiDoc apiDoc = jsondocScanner.getApiDocs(Sets.<Class<?>> newHashSet(SpringController.class), MethodDisplay.URI).iterator().next();
Assert.assertEquals("SpringController", apiDoc.getName());
Assert.assertEquals(3, apiDoc.getMethods().size());
for (ApiMethodDoc apiMethodDoc : apiDoc.getMethods()) {
if (apiMethodDoc.getPath().contains("/consumes-one")) {
Assert.assertEquals(1, apiMethodDoc.getConsumes().size());
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, apiMethodDoc.getConsumes().iterator().next());
}
if (apiMethodDoc.getPath().contains("/consumes-two")) {
Assert.assertEquals(2, apiMethodDoc.getConsumes().size());
Iterator<String> iterator = apiMethodDoc.getConsumes().iterator();
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, iterator.next());
Assert.assertEquals(MediaType.APPLICATION_XML_VALUE, iterator.next());
}
if (apiMethodDoc.getPath().contains("/consumes-three")) {
Assert.assertEquals(0, apiMethodDoc.getConsumes().size());
}
}

apiDoc = jsondocScanner.getApiDocs(Sets.<Class<?>> newHashSet(SpringController2.class), MethodDisplay.URI).iterator().next();
Assert.assertEquals("SpringController2", apiDoc.getName());
Assert.assertEquals(3, apiDoc.getMethods().size());
for (ApiMethodDoc apiMethodDoc : apiDoc.getMethods()) {
if (apiMethodDoc.getPath().contains("/consumes-one")) {
Assert.assertEquals(1, apiMethodDoc.getConsumes().size());
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, apiMethodDoc.getConsumes().iterator().next());
}
if (apiMethodDoc.getPath().contains("/consumes-two")) {
Assert.assertEquals(2, apiMethodDoc.getConsumes().size());
Iterator<String> iterator = apiMethodDoc.getConsumes().iterator();
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, iterator.next());
Assert.assertEquals(MediaType.APPLICATION_XML_VALUE, iterator.next());
}
if (apiMethodDoc.getPath().contains("/consumes-three")) {
Assert.assertEquals(1, apiMethodDoc.getConsumes().size());
Assert.assertEquals(MediaType.APPLICATION_XML_VALUE, apiMethodDoc.getConsumes().iterator().next());
}
}
apiDoc = jsondocScanner.getApiDocs(Sets.<Class<?>> newHashSet(SpringController2.class), MethodDisplay.URI).iterator().next();
Assert.assertEquals("SpringController2", apiDoc.getName());
Assert.assertEquals(3, apiDoc.getMethods().size());
for (ApiMethodDoc apiMethodDoc : apiDoc.getMethods()) {
if (apiMethodDoc.getPath().contains("/consumes-one")) {
Assert.assertEquals(1, apiMethodDoc.getConsumes().size());
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, apiMethodDoc.getConsumes().iterator().next());
}
if (apiMethodDoc.getPath().contains("/consumes-two")) {
Assert.assertEquals(2, apiMethodDoc.getConsumes().size());
Iterator<String> iterator = apiMethodDoc.getConsumes().iterator();
Assert.assertEquals(MediaType.APPLICATION_JSON_VALUE, iterator.next());
Assert.assertEquals(MediaType.APPLICATION_XML_VALUE, iterator.next());
}
if (apiMethodDoc.getPath().contains("/consumes-three")) {
Assert.assertEquals(1, apiMethodDoc.getConsumes().size());
Assert.assertEquals(MediaType.APPLICATION_XML_VALUE, apiMethodDoc.getConsumes().iterator().next());
}
}
}

}

0 comments on commit 12c9aaa

Please sign in to comment.