/* * Copyright 2017 SmartBear Software * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package io.swagger.oas.test; import io.swagger.oas.inflector.converters.DefaultConverter; import io.swagger.v3.oas.models.Operation; import io.swagger.v3.oas.models.media.ArraySchema; import io.swagger.v3.oas.models.media.BooleanSchema; import io.swagger.v3.oas.models.media.DateSchema; import io.swagger.v3.oas.models.media.DateTimeSchema; import io.swagger.v3.oas.models.media.IntegerSchema; import io.swagger.v3.oas.models.media.NumberSchema; import io.swagger.v3.oas.models.media.StringSchema; import io.swagger.v3.oas.models.parameters.QueryParameter; import org.joda.time.DateTime; import org.joda.time.LocalDate; import org.testng.annotations.Test; import com.fasterxml.jackson.databind.JavaType; import java.util.List; import static org.testng.Assert.assertEquals; public class SerializableParamExtractionTest { DefaultConverter utils = new DefaultConverter(); @Test public void getMethodGenerationNameTest() throws Exception { Operation operation = new Operation(); String methodName = utils.getMethodName("/foo/bar", "GET", operation); assertEquals(methodName, "fooBarGET"); } @Test public void getMethodNameWithOperationIDTest() throws Exception { Operation operation = new Operation().operationId("superFun"); String methodName = utils.getMethodName("/foo/bar", "GET", operation); assertEquals(methodName, "superFun"); } @Test public void getStringParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter().schema(new StringSchema()), null); assertEquals(jt.getRawClass(), String.class); } @Test public void getIntegerParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter().schema(new IntegerSchema()), null); assertEquals(jt.getRawClass(), Integer.class); } @Test public void getLongParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter().schema(new IntegerSchema().format("int64")), null); assertEquals(jt.getRawClass(), Long.class); } @Test public void getFloatParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter().schema(new NumberSchema().format("float")), null); assertEquals(jt.getRawClass(), Float.class); } @Test public void getDoubleParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter().schema(new NumberSchema().format("double")), null); assertEquals(jt.getRawClass(), Double.class); } @Test public void getBooleanParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter().schema(new BooleanSchema()), null); assertEquals(jt.getRawClass(), Boolean.class); } @Test public void getDateParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter().schema(new DateSchema()), null); assertEquals(jt.getRawClass(), LocalDate.class); } @Test public void getDateTimeParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter().schema(new DateTimeSchema()), null); assertEquals(jt.getRawClass(), DateTime.class); } @Test public void getStringArrayParameterClassTest() throws Exception { JavaType jt = utils.getTypeFromParameter(new QueryParameter() .schema(new ArraySchema().items(new StringSchema())), null); assertEquals(jt.getRawClass(), List.class); assertEquals(jt.getContentType().getRawClass(), String.class); } }