add unit test

Signed-off-by: kakulisen <18813972746@163.com>
diff --git a/oas-generator/oas-generator-core/src/main/java/org/apache/servicecomb/toolkit/generator/util/LocalVariableVisitor.java b/oas-generator/oas-generator-core/src/main/java/org/apache/servicecomb/toolkit/generator/util/LocalVariableVisitor.java
index b7f19c1..4141d77 100644
--- a/oas-generator/oas-generator-core/src/main/java/org/apache/servicecomb/toolkit/generator/util/LocalVariableVisitor.java
+++ b/oas-generator/oas-generator-core/src/main/java/org/apache/servicecomb/toolkit/generator/util/LocalVariableVisitor.java
@@ -23,8 +23,6 @@
 
 public class LocalVariableVisitor extends MethodVisitor {
 
-  private boolean isStatic;
-
   private String[] parameterNames;
 
   private final int[] lvtSlotIndex;
@@ -33,7 +31,6 @@
 
   public LocalVariableVisitor(int api, String desc, boolean isStatic, String[] parameterNames) {
     super(api);
-    this.isStatic = isStatic;
     this.parameterNames = parameterNames;
     this.args = Type.getArgumentTypes(desc);
     this.lvtSlotIndex = computeLvtSlotIndices(isStatic, this.args);
diff --git a/oas-generator/oas-generator-core/src/test/java/org/apache/servicecomb/toolkit/generator/AnnotationProcessorTest.java b/oas-generator/oas-generator-core/src/test/java/org/apache/servicecomb/toolkit/generator/AnnotationProcessorTest.java
index a46854d..1f51291 100644
--- a/oas-generator/oas-generator-core/src/test/java/org/apache/servicecomb/toolkit/generator/AnnotationProcessorTest.java
+++ b/oas-generator/oas-generator-core/src/test/java/org/apache/servicecomb/toolkit/generator/AnnotationProcessorTest.java
@@ -21,8 +21,10 @@
 
 import org.apache.servicecomb.toolkit.generator.annotation.ApiResponseMethodAnnotationProcessor;
 import org.apache.servicecomb.toolkit.generator.annotation.ApiResponsesMethodAnnotationProcessor;
+import org.apache.servicecomb.toolkit.generator.annotation.OpenApiDefinitionClassAnnotationProcessor;
 import org.apache.servicecomb.toolkit.generator.annotation.OperationMethodAnnotationProcessor;
 import org.apache.servicecomb.toolkit.generator.annotation.ParameterAnnotationProcessor;
+import org.apache.servicecomb.toolkit.generator.annotation.RequestBodyParamAnnotationProcessor;
 import org.apache.servicecomb.toolkit.generator.context.OasContext;
 import org.apache.servicecomb.toolkit.generator.context.OperationContext;
 import org.apache.servicecomb.toolkit.generator.context.ParameterContext;
@@ -112,11 +114,9 @@
   @Test
   public void processOperationAnnotation() throws NoSuchMethodException {
 
-    OasContext oasContext = new OasContext(null);
-    OperationContext context = new OperationContext(null, oasContext);
+    OasContext oasContext = null;
+
     OperationMethodAnnotationProcessor operationMethodAnnotationProcessor = new OperationMethodAnnotationProcessor();
-//    Operation operation = Mockito.mock(Operation.class);
-//    operationMethodAnnotationProcessor.process(operation, context);
 
     Method helloMethod = OpenapiDef.class.getDeclaredMethod("hello", String.class, Object.class);
     Operation operation = helloMethod.getAnnotation(Operation.class);
@@ -131,10 +131,51 @@
         return true;
       }
     });
-    context = new OperationContext(helloMethod, oasContext);
+    OperationContext context = new OperationContext(helloMethod, oasContext);
     operationMethodAnnotationProcessor.process(operation, context);
+    Assert.assertEquals("hello-operation", context.getOperationId());
   }
 
+  @Test
+  public void processOpenApiDefinitionClassAnnotation() throws NoSuchMethodException {
+
+    OasContext oasContext = null;
+
+    OpenApiDefinitionClassAnnotationProcessor openApiDefinitionClassAnnotationProcessor = new OpenApiDefinitionClassAnnotationProcessor();
+
+    OpenAPIDefinition openAPIDefinition = OpenapiDef.class.getAnnotation(OpenAPIDefinition.class);
+    oasContext = new OasContext(new AbstractAnnotationParser() {
+      @Override
+      public int getOrder() {
+        return 0;
+      }
+
+      @Override
+      public boolean canProcess(Class<?> cls) {
+        return true;
+      }
+    });
+    openApiDefinitionClassAnnotationProcessor.process(openAPIDefinition, oasContext);
+//    Assert.assertEquals("hello-operation", context.getOperationId());
+  }
+
+  @Test
+  public void processRequestBodyAnnotation() throws NoSuchMethodException {
+
+    OasContext oasContext = new OasContext(null);
+    RequestBodyParamAnnotationProcessor operationMethodAnnotationProcessor = new RequestBodyParamAnnotationProcessor();
+
+    RequestBody requestBody = Mockito.mock(RequestBody.class);
+    Mockito.when(requestBody.content()).thenReturn(new Content[] {Mockito.mock(Content.class)});
+    Mockito.when(requestBody.ref()).thenReturn("#components/string");
+
+    Method helloMethod = OpenapiDef.class.getDeclaredMethod("hello", String.class, Object.class);
+    OperationContext operationContext = new OperationContext(helloMethod, oasContext);
+    ParameterContext parameterContext = new ParameterContext(operationContext, null);
+    operationMethodAnnotationProcessor.process(requestBody, parameterContext);
+
+    Assert.assertTrue(parameterContext.isRequestBody());
+  }
 
   @Test
   public void processParameterAnnotation() throws NoSuchMethodException, IllegalAccessException,
diff --git a/oas-generator/oas-generator-core/src/test/java/org/apache/servicecomb/toolkit/generator/ContextTest.java b/oas-generator/oas-generator-core/src/test/java/org/apache/servicecomb/toolkit/generator/ContextTest.java
index efce736..d4e726b 100644
--- a/oas-generator/oas-generator-core/src/test/java/org/apache/servicecomb/toolkit/generator/ContextTest.java
+++ b/oas-generator/oas-generator-core/src/test/java/org/apache/servicecomb/toolkit/generator/ContextTest.java
@@ -34,7 +34,10 @@
 import org.apache.servicecomb.toolkit.generator.context.ParameterContext.InType;
 import org.junit.Test;
 
+import io.swagger.v3.oas.annotations.enums.ParameterStyle;
 import io.swagger.v3.oas.models.PathItem.HttpMethod;
+import io.swagger.v3.oas.models.parameters.RequestBody;
+import io.swagger.v3.oas.models.responses.ApiResponses;
 
 public class ContextTest {
 
@@ -53,6 +56,8 @@
     context.setDefaultValue("default");
     context.setIn(InType.QUERY);
     context.setName("param1");
+    context.setDescription("desc");
+    context.setStyle(ParameterStyle.SIMPLE);
     context.addExtension("extension-key", "extension-value");
 
     assertFalse(context.isRequestBody());
@@ -72,7 +77,10 @@
     assertEquals(parameter, context.getParameter());
     assertNotNull(context.getSchema());
     assertEquals("default", context.getDefaultValue());
+    assertEquals("desc", context.getDescription());
+    assertEquals(ParameterStyle.SIMPLE, context.getStyle());
     assertFalse(context.isRequired());
+    assertNull(context.getDeprecated());
 
     context.setIn(InType.COOKIE);
     assertFalse(context.isRequestBody());
@@ -93,6 +101,12 @@
     context.setIn(InType.BODY);
     context.toParameter();
     assertTrue(context.isRequestBody());
+
+    context.addConsume(MediaTypes.APPLICATION_JSON);
+    assertEquals(MediaTypes.APPLICATION_JSON, context.getConsumers().get(0));
+
+    context.setRequestBody(new RequestBody());
+    assertNotNull(context.getRequestBody());
   }
 
   @Test
@@ -103,10 +117,26 @@
     Parameter parameter = method.getParameters()[0];
     ParameterContext context = new ParameterContext(operationContext, parameter);
     context.setIn(InType.FORM);
-
+    oasContext.toOpenAPI();
     operationContext.setHttpMethod(HttpMethod.GET.name());
+    operationContext.setTags(null);
+    operationContext.setApiResponses(new ApiResponses());
+    operationContext.setDescription("desc");
+    operationContext.setConsumers(new String[] {MediaTypes.APPLICATION_JSON});
+    operationContext.addExtension("x-extension", "value");
     operationContext.toOperation();
+    oasContext.toOpenAPI();
+    oasContext.addExtension("x-extension", "value");
 
+    assertEquals("value", oasContext.getExtensions().get("x-extension"));
+    assertEquals("value", operationContext.getExtensions().get("x-extension"));
     assertEquals(HttpMethod.GET.name(), operationContext.getHttpMethod());
+    assertNotNull(operationContext.getOperation());
+    assertNotNull(operationContext.getApiResponses());
+    assertEquals(oasContext, operationContext.getOpenApiContext());
+    assertNull(operationContext.getSummary());
+    assertNull(operationContext.getTags());
+    assertEquals(MediaTypes.APPLICATION_JSON, operationContext.getConsumers()[0]);
+    assertEquals("desc", operationContext.getDescription());
   }
 }
diff --git a/oas-generator/oas-generator-servicecomb/src/main/java/org/apache/servicecomb/toolkit/generator/parser/ServicecombPojoParser.java b/oas-generator/oas-generator-servicecomb/src/main/java/org/apache/servicecomb/toolkit/generator/parser/ServicecombPojoParser.java
index bf26c42..ff467fb 100644
--- a/oas-generator/oas-generator-servicecomb/src/main/java/org/apache/servicecomb/toolkit/generator/parser/ServicecombPojoParser.java
+++ b/oas-generator/oas-generator-servicecomb/src/main/java/org/apache/servicecomb/toolkit/generator/parser/ServicecombPojoParser.java
@@ -29,7 +29,7 @@
 
   @Override
   public int getOrder() {
-    return 0;
+    return 100;
   }
 
   @Override
diff --git a/oas-generator/oas-generator-servicecomb/src/test/java/org/apache/servicecomb/toolkit/generator/ServiceCombParserTest.java b/oas-generator/oas-generator-servicecomb/src/test/java/org/apache/servicecomb/toolkit/generator/ServiceCombParserTest.java
index d9cf795..8d5bb56 100644
--- a/oas-generator/oas-generator-servicecomb/src/test/java/org/apache/servicecomb/toolkit/generator/ServiceCombParserTest.java
+++ b/oas-generator/oas-generator-servicecomb/src/test/java/org/apache/servicecomb/toolkit/generator/ServiceCombParserTest.java
@@ -41,11 +41,19 @@
     boolean canProcess = servicecombJaxrsParser.canProcess(ServicecombJaxrs.class);
     Assert.assertTrue(canProcess);
 
+    canProcess = servicecombJaxrsParser.canProcess(ServicecombPojo.class);
+    Assert.assertFalse(canProcess);
+
     canProcess = servicecombSpringmvcParser.canProcess(ServicecombSpringmvc.class);
     Assert.assertTrue(canProcess);
+    canProcess = servicecombSpringmvcParser.canProcess(ServicecombPojo.class);
+    Assert.assertFalse(canProcess);
 
     canProcess = servicecombPojoParser.canProcess(ServicecombPojo.class);
     Assert.assertTrue(canProcess);
+    canProcess = servicecombPojoParser.canProcess(ServicecombSpringmvc.class);
+    Assert.assertFalse(canProcess);
+    Assert.assertEquals(100, servicecombPojoParser.getOrder());
 
     OasContext pojoOasContext = new OasContext(servicecombPojoParser);
     servicecombPojoParser.parser(ServicecombPojo.class, pojoOasContext);
diff --git a/oas-generator/oas-generator-spring/src/main/java/org/apache/servicecomb/toolkit/generator/parser/SpringmvcAnnotationParser.java b/oas-generator/oas-generator-spring/src/main/java/org/apache/servicecomb/toolkit/generator/parser/SpringmvcAnnotationParser.java
index d35621f..923ad4b 100644
--- a/oas-generator/oas-generator-spring/src/main/java/org/apache/servicecomb/toolkit/generator/parser/SpringmvcAnnotationParser.java
+++ b/oas-generator/oas-generator-spring/src/main/java/org/apache/servicecomb/toolkit/generator/parser/SpringmvcAnnotationParser.java
@@ -47,7 +47,7 @@
 
   @Override
   public int getOrder() {
-    return 0;
+    return 200;
   }
 
   @Override
@@ -87,16 +87,5 @@
     parameterAnnotationMap.put(RequestParam.class, new RequestParamAnnotationProcessor());
     parameterAnnotationMap.put(RequestHeader.class, new RequestHeaderAnnotationProcessor());
   }
-
-  public static void main(String[] args) {
-    List<Integer> integers = new ArrayList<>();
-    integers.add(1);
-    integers.add(2);
-    integers.add(5);
-    integers.add(3);
-    integers.sort(Comparator.comparingInt(Integer::intValue));
-
-    integers.forEach(System.out::println);
-  }
 }
 
diff --git a/oas-generator/oas-generator-spring/src/test/java/org/apache/servicecomb/toolkit/generator/SpringParserTest.java b/oas-generator/oas-generator-spring/src/test/java/org/apache/servicecomb/toolkit/generator/SpringParserTest.java
index 3acce3d..8295038 100644
--- a/oas-generator/oas-generator-spring/src/test/java/org/apache/servicecomb/toolkit/generator/SpringParserTest.java
+++ b/oas-generator/oas-generator-spring/src/test/java/org/apache/servicecomb/toolkit/generator/SpringParserTest.java
@@ -29,6 +29,7 @@
   public void parse() {
     SpringmvcAnnotationParser parser = new SpringmvcAnnotationParser();
 
+    Assert.assertEquals(200, parser.getOrder());
     boolean canProcess = parser.canProcess(String.class);
     Assert.assertFalse(canProcess);