package org.jboss.resteasy.test.client;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;
import org.jboss.resteasy.client.jaxrs.internal.ClientWebTarget;
import org.junit.Assert;
import org.junit.Test;
import java.util.Collections;
/**
* @tpSubChapter Resteasy-client
* @tpChapter Client tests
* @tpTestCaseDetails Regression test for JBEAP-4708
* @tpSince RESTEasy 3.0.17
*/
public class ClientWebTargetTest {
/**
* @tpTestDetails Test for removing property from WebTarget.
* @tpSince RESTEasy 3.0.17
*/
@Test
public void propertyNullTest() throws Exception {
String property = "property";
ResteasyClient client = new ResteasyClientBuilder().build();
ClientWebTarget clientWebTarget = (ClientWebTarget) client.target("");
Assert.assertTrue("Client properties should not be empty", client.getConfiguration().getProperties().isEmpty());
clientWebTarget.property(property, property);
Assert.assertEquals("Add of property faild", Collections.singletonMap(property, property), clientWebTarget.getConfiguration().getProperties());
try {
clientWebTarget.property(property, null);
} catch (NullPointerException ex) {
Assert.fail("Cannot remove property with null value.");
}
Object value = clientWebTarget.getConfiguration().getProperty(property);
Assert.assertNull("Property from webTarget can not be removed", value);
}
}