WebResourceFactoryBeanParamTest.java
/*
* Copyright (c) 2023 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* This Source Code may also be made available under the following Secondary
* Licenses when the conditions for such availability set forth in the
* Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
* version 2 with the GNU Classpath Exception, which is available at
* https://www.gnu.org/software/classpath/license.html.
*
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
*/
package org.glassfish.jersey.client.proxy;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Arrays;
import java.util.List;
import javax.ws.rs.core.Cookie;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.TestProperties;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
/**
* @author Richard Obersheimer
*/
public class WebResourceFactoryBeanParamTest extends JerseyTest {
private MyResourceWithBeanParamIfc resourceWithBeanParam;
@Override
protected ResourceConfig configure() {
enable(TestProperties.LOG_TRAFFIC);
return new ResourceConfig(MyResourceWithBeanParam.class);
}
@BeforeEach
@Override
public void setUp() throws Exception {
super.setUp();
resourceWithBeanParam = WebResourceFactory.newResource(MyResourceWithBeanParamIfc.class, target());
}
@Test
public void testBeanParamQuery() {
MyGetBeanParam myGetBeanParam = new MyGetBeanParam();
myGetBeanParam.setQueryParam("query");
String response = resourceWithBeanParam.echoQuery(myGetBeanParam);
assertEquals("query", response);
}
@Test
public void testBeanParamHeader() {
MyGetBeanParam myGetBeanParam = new MyGetBeanParam();
myGetBeanParam.setHeaderParam("header");
String response = resourceWithBeanParam.echoHeader(myGetBeanParam);
assertEquals("header", response);
}
@Test
public void testBeanParamPath() {
MyGetBeanParam myGetBeanParam = new MyGetBeanParam();
myGetBeanParam.setPathParam("path");
String response = resourceWithBeanParam.echoPath(myGetBeanParam);
assertEquals("path", response);
}
@Test
public void testBeanParamCookie() {
MyGetBeanParam myGetBeanParam = new MyGetBeanParam();
Cookie cookie = new Cookie("cName", "cValue");
myGetBeanParam.setCookieParam(cookie);
String response = resourceWithBeanParam.echoCookie(myGetBeanParam);
assertEquals("cValue", response);
}
@Test
public void testBeanParamMatrix() {
MyGetBeanParam myGetBeanParam = new MyGetBeanParam();
List<String> matrixParam = Arrays.asList("1", "2", "3");
myGetBeanParam.setMatrixParam(matrixParam);
String response = resourceWithBeanParam.echoMatrix(myGetBeanParam);
assertEquals(matrixParam.toString(), response);
}
@Test
public void testBeanParamSubBean() {
MyGetBeanParam myGetBeanParam = new MyGetBeanParam();
List<String> subQueryParam = Arrays.asList("1", "2", "3");
MySubBeanParam subBeanParam = new MySubBeanParam(subQueryParam);
myGetBeanParam.setSubBeanParam(subBeanParam);
String response = resourceWithBeanParam.echoSubBean(myGetBeanParam);
assertEquals(subQueryParam.toString(), response);
}
@Test
public void testBeanParam() {
List<String> matrixParam = Arrays.asList("1", "2", "3");
Cookie cookieParam = new Cookie("cookie1", "value1");
List<String> subQueryParam = Arrays.asList("subQuery1", "subQuery2");
MySubBeanParam subBeanParam = new MySubBeanParam(subQueryParam);
MyBeanParam myBeanParam = new MyBeanParam("header", "path", "query",
"form1", "form2", matrixParam, cookieParam, subBeanParam);
myBeanParam.setQueryParam2("q2");
String response = resourceWithBeanParam.echo(myBeanParam);
assertEquals("HEADER=header,PATH=path,FORM=form1,form2,QUERY=query,MATRIX=3,COOKIE=value1,SUB=2"
+ ",Q2=q2", response);
}
@Test
public void testSubResource() {
MyGetBeanParam myGetBeanParam = new MyGetBeanParam();
myGetBeanParam.setQueryParam("query");
String response = resourceWithBeanParam.getSubResource().echoQuery(myGetBeanParam);
assertEquals("query", response);
}
}