blob: 55f33831f3eaf2618f85461a996410ebf07715bf [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 org.apache.servicecomb.it.testcase;
import org.apache.servicecomb.it.Consumers;
import org.apache.servicecomb.swagger.invocation.exception.InvocationException;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.Assertions;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
public class TestDefaultValue {
interface DefaultValueIntf {
int intQuery(Integer input);
int intHeader(Integer input);
int intForm(Integer input);
String stringQuery(String input);
String stringHeader(String input);
String stringForm(String input);
double doubleQuery(Double input);
double doubleHeader(Double input);
double doubleForm(Double input);
// float
float floatQuery(Float input);
float floatHeader(Float input);
float floatForm(Float input);
}
interface DefaultValueRequireIntf extends DefaultValueIntf {
int intQueryRequire(Integer input);
int intHeaderRequire(Integer input);
int intFormRequire(Integer input);
String stringQueryRequire(String input);
String stringHeaderRequire(String input);
String stringFormRequire(String input);
double doubleQueryRequire(Double input);
double doubleHeaderRequire(Double input);
double doubleFormRequire(Double input);
float floatQueryRequire(Float input);
float floatHeaderRequire(Float input);
float floatFormRequire(Float input);
}
private final String defaultStr = "string";
private final int defaultInt = 13;
private final double defaultDouble = 10.2;
private final float defaultFloat = 10.2f;
private static Consumers<DefaultValueIntf> consumersJaxrs = new Consumers<>("defaultValueJaxrs",
DefaultValueIntf.class);
private static Consumers<DefaultValueRequireIntf> consumersSpringmvc = new Consumers<>("defaultValueSpringmvc",
DefaultValueRequireIntf.class);
@Test
public void intQuery_jaxrs_intf() {
Assertions.assertEquals(defaultInt, consumersJaxrs.getIntf().intQuery(null));
}
@Test
public void doubleQuery_jaxrs_intf() {
Assertions.assertEquals(defaultDouble, consumersJaxrs.getIntf().doubleQuery(null), 0.0);
}
@Test
public void stringQuery_jaxrs_intf() {
Assertions.assertEquals(defaultStr, consumersJaxrs.getIntf().stringQuery(null));
}
@Test
public void intQuery_jaxrs_rt() {
Assertions.assertEquals(defaultInt, (int) consumersJaxrs.getSCBRestTemplate().getForObject("/intQuery", int.class));
}
@Test
public void doubleQuery_jaxrs_rt() {
Assertions.assertEquals(defaultDouble, consumersJaxrs.getSCBRestTemplate().getForObject("/doubleQuery", double.class),
0.0);
}
@Test
public void stringQuery_jaxrs_rt() {
Assertions.assertEquals(defaultStr, consumersJaxrs.getSCBRestTemplate().getForObject("/stringQuery", String.class));
}
@Test
public void intHeader_jaxrs_intf() {
Assertions.assertEquals(defaultInt, consumersJaxrs.getIntf().intHeader(null));
}
@Test
public void doubleHeader_jaxrs_intf() {
Assertions.assertEquals(defaultDouble, consumersJaxrs.getIntf().doubleHeader(null), 0.0);
}
@Test
public void stringHeader_jaxrs_intf() {
Assertions.assertEquals(defaultStr, consumersJaxrs.getIntf().stringHeader(null));
}
@Test
public void intHeader_jaxrs_rt() {
Assertions.assertEquals(defaultInt, (int) consumersJaxrs.getSCBRestTemplate().getForObject("/intHeader", int.class));
}
@Test
public void doubleHeader_jaxrs_rt() {
Assertions.assertEquals(defaultDouble,
consumersJaxrs.getSCBRestTemplate().getForObject("/doubleHeader", double.class), 0.0);
}
@Test
public void stringHeader_jaxrs_rt() {
Assertions.assertEquals(defaultStr,
consumersJaxrs.getSCBRestTemplate().getForObject("/stringHeader", String.class));
}
@Test
public void intForm_jaxrs_intf() {
Assertions.assertEquals(defaultInt, consumersJaxrs.getIntf().intForm(null));
}
@Test
public void doubleForm_jaxrs_intf() {
Assertions.assertEquals(defaultDouble, consumersJaxrs.getIntf().doubleForm(null), 0.0);
}
@Test
public void stringForm_jaxrs_intf() {
Assertions.assertEquals(defaultStr, consumersJaxrs.getIntf().stringForm(null));
}
@Test
public void intForm_jaxrs_rt() {
Assertions.assertEquals(defaultInt, (int) consumersJaxrs.getSCBRestTemplate().postForObject("/intForm", null, int.class));
}
@Test
public void doubleForm_jaxrs_rt() {
Assertions.assertEquals(defaultDouble,
consumersJaxrs.getSCBRestTemplate().postForObject("/doubleForm", null, double.class), 0.0);
}
@Test
public void stringForm_jaxrs_rt() {
Assertions.assertEquals(defaultStr,
consumersJaxrs.getSCBRestTemplate().postForObject("/stringForm", null, String.class));
}
@Test
public void intQuery_springmvc_intf() {
Assertions.assertEquals(defaultInt, consumersSpringmvc.getIntf().intQuery(null));
}
@Test
public void doubleQuery_springmvc_intf() {
Assertions.assertEquals(defaultDouble, consumersSpringmvc.getIntf().doubleQuery(null), 0.0);
}
@Test
public void stringQuery_springmvc_intf() {
Assertions.assertEquals(defaultStr, consumersSpringmvc.getIntf().stringQuery(null));
}
@Test
public void intQuery_springmvc_rt() {
Assertions.assertEquals(defaultInt, (int) consumersSpringmvc.getSCBRestTemplate().getForObject("/intQuery", int.class));
}
@Test
public void doubleQuery_springmvc_rt() {
Assertions.assertEquals(defaultDouble,
consumersSpringmvc.getSCBRestTemplate().getForObject("/doubleQuery", double.class), 0.0);
}
@Test
public void stringQuery_springmvc_rt() {
Assertions.assertEquals(defaultStr,
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringQuery", String.class));
}
@Test
public void stringQueryRequiredTrue_springmvc_rt() {
try {
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringQueryRequiredTrue", String.class);
Assertions.assertEquals("required is true, throw exception", "not throw exception");
} catch (InvocationException e) {
Assertions.assertEquals(400, e.getStatusCode());
Assertions.assertTrue(e.getMessage().contains("Parameter is not valid"));
}
}
@Test
public void intHeader_springmvc_intf() {
Assertions.assertEquals(defaultInt, consumersSpringmvc.getIntf().intHeader(null));
}
@Test
public void doubleHeader_springmvc_intf() {
Assertions.assertEquals(defaultDouble, consumersSpringmvc.getIntf().doubleHeader(null), 0.0);
}
@Test
public void stringHeader_springmvc_intf() {
Assertions.assertEquals(defaultStr, consumersSpringmvc.getIntf().stringHeader(null));
}
@Test
public void intHeader_springmvc_rt() {
Assertions.assertEquals(defaultInt, (int) consumersSpringmvc.getSCBRestTemplate().getForObject("/intHeader", int.class));
}
@Test
public void doubleHeader_springmvc_rt() {
Assertions.assertEquals(defaultDouble,
consumersSpringmvc.getSCBRestTemplate().getForObject("/doubleHeader", double.class), 0.0);
}
@Test
public void stringHeader_springmvc_rt() {
Assertions.assertEquals(defaultStr,
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringHeader", String.class));
}
@Test
public void stringHeaderRequiredTrue_springmvc_rt() {
try {
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringHeaderRequiredTrue", String.class);
Assertions.assertEquals("required is true, throw exception", "not throw exception");
} catch (InvocationException e) {
Assertions.assertEquals(400, e.getStatusCode());
Assertions.assertTrue(e.getMessage().contains("Parameter is not valid"));
}
}
@Test
public void intForm_springmvc_intf() {
Assertions.assertEquals(defaultInt, consumersSpringmvc.getIntf().intForm(null));
}
@Test
public void doubleForm_springmvc_intf() {
Assertions.assertEquals(defaultDouble, consumersSpringmvc.getIntf().doubleForm(null), 0.0);
}
@Test
public void stringForm_springmvc_intf() {
Assertions.assertEquals(defaultStr, consumersSpringmvc.getIntf().stringForm(null));
}
@Test
public void intForm_springmvc_rt() {
Assertions.assertEquals(defaultInt,
(int) consumersSpringmvc.getSCBRestTemplate().postForObject("/intForm", null, int.class));
}
@Test
public void doubleForm_springmvc_rt() {
Assertions.assertEquals(defaultDouble,
consumersSpringmvc.getSCBRestTemplate().postForObject("/doubleForm", null, double.class), 0.0);
}
@Test
public void stringForm_springmvc_rt() {
Assertions.assertEquals(defaultStr,
consumersSpringmvc.getSCBRestTemplate().postForObject("/stringForm", null, String.class));
}
@Test
public void stringFormRequiredTrue_springmvc_rt() {
try {
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringFormRequiredTrue", String.class);
Assertions.assertEquals("required is true, throw exception", "not throw exception");
} catch (InvocationException e) {
Assertions.assertEquals(400, e.getStatusCode());
Assertions.assertTrue(e.getMessage().contains("Parameter is not valid"));
}
}
@Test
public void intQuery_require_springmvc_intf() {
Assertions.assertEquals(defaultInt, consumersSpringmvc.getIntf().intQueryRequire(null));
}
@Test
public void doubleQuery_require_springmvc_intf() {
Assertions.assertEquals(defaultDouble, consumersSpringmvc.getIntf().doubleQueryRequire(null), 0.0);
}
@Test
public void stringQuery_require_springmvc_intf() {
Assertions.assertEquals(defaultStr, consumersSpringmvc.getIntf().stringQueryRequire(null));
}
@Test
public void intQuery_require_springmvc_rt() {
Assertions.assertEquals(defaultInt,
(int) consumersSpringmvc.getSCBRestTemplate().getForObject("/intQueryRequire", int.class));
}
@Test
public void doubleQuery_require_springmvc_rt() {
Assertions.assertEquals(defaultDouble,
consumersSpringmvc.getSCBRestTemplate().getForObject("/doubleQueryRequire", double.class), 0.0);
}
@Test
public void stringQuery_require_springmvc_rt() {
Assertions.assertEquals(defaultStr,
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringQueryRequire", String.class));
}
@Test
public void intHeader_require_springmvc_intf() {
Assertions.assertEquals(defaultInt, consumersSpringmvc.getIntf().intHeaderRequire(null));
}
@Test
public void doubleHeader_require_springmvc_intf() {
Assertions.assertEquals(defaultDouble, consumersSpringmvc.getIntf().doubleHeaderRequire(null), 0.0);
}
@Test
public void stringHeader_require_springmvc_intf() {
Assertions.assertEquals(defaultStr, consumersSpringmvc.getIntf().stringHeaderRequire(null));
}
@Test
public void intHeader_require_springmvc_rt() {
Assertions.assertEquals(defaultInt,
(int) consumersSpringmvc.getSCBRestTemplate().getForObject("/intHeaderRequire", int.class));
}
@Test
public void doubleHeader_require_springmvc_rt() {
Assertions.assertEquals(defaultDouble,
consumersSpringmvc.getSCBRestTemplate().getForObject("/doubleHeaderRequire", double.class), 0.0);
}
@Test
public void stringHeader_require_springmvc_rt() {
Assertions.assertEquals(defaultStr,
consumersSpringmvc.getSCBRestTemplate().getForObject("/stringHeaderRequire", String.class));
}
@Test
public void intForm_require_springmvc_intf() {
Assertions.assertEquals(defaultInt, consumersSpringmvc.getIntf().intFormRequire(null));
}
@Test
public void doubleForm_require_springmvc_intf() {
Assertions.assertEquals(defaultDouble, consumersSpringmvc.getIntf().doubleFormRequire(null), 0.0);
}
@Test
public void stringForm_require_springmvc_intf() {
Assertions.assertEquals(defaultStr, consumersSpringmvc.getIntf().stringFormRequire(null));
}
@Test
public void intForm_require_springmvc_rt() {
Assertions.assertEquals(defaultInt,
(int) consumersSpringmvc.getSCBRestTemplate().postForObject("/intFormRequire", null, int.class));
}
@Test
public void doubleForm_require_springmvc_rt() {
Assertions.assertEquals(defaultDouble,
consumersSpringmvc.getSCBRestTemplate().postForObject("/doubleFormRequire", null, double.class), 0.0);
}
@Test
public void stringForm_require_springmvc_rt() {
Assertions.assertEquals(defaultStr,
consumersSpringmvc.getSCBRestTemplate().postForObject("/stringFormRequire", null, String.class));
}
//float
@Test
public void floatQuery_jaxrs_intf() {
Assertions.assertEquals(defaultFloat, consumersJaxrs.getIntf().floatQuery(null), 0.0f);
}
@Test
public void floatQuery_jaxrs_rt() {
Assertions.assertEquals(defaultFloat, consumersJaxrs.getSCBRestTemplate().getForObject("/floatQuery", float.class),
0.0f);
}
@Test
public void floatHeader_jaxrs_intf() {
Assertions.assertEquals(defaultFloat, consumersJaxrs.getIntf().floatHeader(null), 0.0f);
}
@Test
public void floatHeader_jaxrs_rt() {
Assertions.assertEquals(defaultFloat,
consumersJaxrs.getSCBRestTemplate().getForObject("/floatHeader", float.class), 0.0f);
}
@Test
public void floatForm_jaxrs_intf() {
Assertions.assertEquals(defaultFloat, consumersJaxrs.getIntf().floatForm(null), 0.0f);
}
@Test
public void floatForm_jaxrs_rt() {
Assertions.assertEquals(defaultFloat,
consumersJaxrs.getSCBRestTemplate().postForObject("/floatForm", null, float.class), 0.0f);
}
@Test
public void floatQuery_springmvc_intf() {
Assertions.assertEquals(defaultFloat, consumersSpringmvc.getIntf().floatQuery(null), 0.0f);
}
@Test
public void floatQuery_springmvc_rt() {
Assertions.assertEquals(defaultFloat,
consumersSpringmvc.getSCBRestTemplate().getForObject("/floatQuery", float.class), 0.0f);
}
@Test
public void floatHeader_springmvc_intf() {
Assertions.assertEquals(defaultFloat, consumersSpringmvc.getIntf().floatHeader(null), 0.0f);
}
@Test
public void floatHeader_springmvc_rt() {
Assertions.assertEquals(defaultFloat,
consumersSpringmvc.getSCBRestTemplate().getForObject("/floatHeader", float.class), 0.0f);
}
@Test
public void floatForm_springmvc_intf() {
Assertions.assertEquals(defaultFloat, consumersSpringmvc.getIntf().floatForm(null), 0.0f);
}
@Test
public void floatForm_springmvc_rt() {
Assertions.assertEquals(defaultFloat,
consumersSpringmvc.getSCBRestTemplate().postForObject("/floatForm", null, float.class), 0.0f);
}
@Test
public void floatQuery_require_springmvc_intf() {
Assertions.assertEquals(defaultFloat, consumersSpringmvc.getIntf().floatQueryRequire(null), 0.0f);
}
@Test
public void floatQuery_require_springmvc_rt() {
Assertions.assertEquals(defaultFloat,
consumersSpringmvc.getSCBRestTemplate().getForObject("/floatQueryRequire", float.class), 0.0f);
}
@Test
public void floatHeader_require_springmvc_intf() {
Assertions.assertEquals(defaultFloat, consumersSpringmvc.getIntf().floatHeaderRequire(null), 0.0f);
}
@Test
public void floatHeader_require_springmvc_rt() {
Assertions.assertEquals(defaultFloat,
consumersSpringmvc.getSCBRestTemplate().getForObject("/floatHeaderRequire", float.class), 0.0f);
}
@Test
public void floatForm_require_springmvc_intf() {
Assertions.assertEquals(defaultFloat, consumersSpringmvc.getIntf().floatFormRequire(null), 0.0f);
}
@Test
public void floatForm_require_springmvc_rt() {
Assertions.assertEquals(defaultFloat,
consumersSpringmvc.getSCBRestTemplate().postForObject("/floatFormRequire", null, float.class), 0.0f);
}
@Test
public void stringHeader_springmvc_cart() {
HttpHeaders headers = new HttpHeaders();
headers.add("input", "setHeader");
HttpEntity<String> requestEntity = new HttpEntity<>(null, headers);
Assertions.assertNotEquals(defaultStr,
consumersSpringmvc.getCseAsyncRestTemplate()
.exchange("/stringHeader", HttpMethod.GET, requestEntity, String.class));
}
}