use of jakarta.ws.rs.core.Configurable in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method registerObjectWriterContractsInMapTest.
/*
* @testName: registerObjectWriterContractsInMapTest
*
* @assertion_ids: JAXRS:JAVADOC:990;
*
* @test_Strategy: This registration method provides same functionality as
* register(Object, Class[]) except that any binding priority specified on the
* registered JAX-RS component class using @Priority annotation is overridden
* for each extension provider contract type separately with an integer
* binding priority value specified as a value in the supplied map.
*/
@Test
public void registerObjectWriterContractsInMapTest() throws Fault {
final String content = "registerObjectWriterContractsInMapTest";
Object[] instances = createProviderInstances();
// entity to send to a server
Entity<?> entity = getCallableEntity(content);
// register only once per client build
IncrementableRegistrar registrar = new IncrementableRegistrar(0, 1) {
@Override
public void register(Configurable<?> config, Object registerable) {
if (currentValue++ == finalValue) {
Map<Class<?>, Integer> contracts = new HashMap<Class<?>, Integer>();
contracts.put(MessageBodyWriter.class, 100);
config.register(registerable, contracts);
}
}
};
setResourceMethod("echo");
// configurable each time
for (int cnt = 0; cnt != configurableCnt; cnt++) {
// Check the provider is registered
logMsg("Check on Configurable", Assertable.getLocation(cnt));
Assertable assertable = getAssertableWithRegisteredProviderInstancesOnConfigurable(cnt, 1);
// set we want to register the provider on Configurable
// Assertable::LOCATION[cnt]
registrar.setCurrentValue(0).setFinalValue(cnt);
Invocation i = checkConfig(registrar, assertable, instances, entity);
Response response = i.invoke();
response.bufferEntity();
String responseString = response.readEntity(String.class);
assertEquals(content, responseString, "Expected", content, "differs from given", response);
logMsg("sucessufully wrote Callable by provider registered on Configurable", Assertable.getLocation(cnt));
// check message body reader contract
try {
Callable<?> callable = response.readEntity(Callable.class);
fault("MessageBodyReader contract has been unexpectedly registered", callable);
} catch (Exception e) {
logMsg("MessageBodyReader contract has not been registered as expected", e);
}
}
}
use of jakarta.ws.rs.core.Configurable in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method registerObjectEmptyContractsTest.
/*
* @testName: registerObjectEmptyContractsTest
*
* @assertion_ids: JAXRS:JAVADOC:760;
*
* @test_Strategy: Implementations MUST ignore attempts to register a
* component class for an empty collection of contracts via this method and
* SHOULD raise a warning about such event.
*/
@Test
public void registerObjectEmptyContractsTest() throws Fault {
Object[] instances = createProviderInstances();
// entity to send to a server
Entity<?> entity = Entity.entity("", MediaType.WILDCARD);
// register only once per client build
IncrementableRegistrar registrar = new IncrementableRegistrar(0, 1) {
@Override
public void register(Configurable<?> config, Object registerable) {
if (currentValue++ == finalValue)
config.register(registerable, new Class<?>[] {});
}
};
setResourceMethod("echo");
// build client configurableCnt times to register provider using a
// different
// configurable each time
Assertable assertable = getAssertableWithNoRegisteredProviderInstance();
for (int cnt = 0; cnt != configurableCnt; cnt++) {
// Check the provider is registered
logMsg("Check on Configurable", Assertable.getLocation(cnt));
// set we want to register the provider on Configurable
// Assertable::LOCATION[cnt]
registrar.setCurrentValue(0).setFinalValue(cnt);
checkConfig(registrar, assertable, instances, entity);
logMsg("The provider with empty contracts has ben ignored as expected");
}
}
use of jakarta.ws.rs.core.Configurable in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method registerObjectNotAssignableContractsTest.
/*
* @testName: registerObjectNotAssignableContractsTest
*
* @assertion_ids: JAXRS:JAVADOC:760;
*
* @test_Strategy: Contracts that are not assignable from the registered
* component class MUST be ignored
*/
@Test
public void registerObjectNotAssignableContractsTest() throws Fault {
Object[] instances = createProviderInstances();
// entity to send to a server
Entity<?> entity = Entity.entity("", MediaType.WILDCARD);
// register only once per client build
IncrementableRegistrar registrar = new IncrementableRegistrar(0, 1) {
@Override
public void register(Configurable<?> config, Object registerable) {
if (currentValue++ == finalValue)
config.register(registerable, ClientRequestFilter.class);
}
};
setResourceMethod("echo");
// build client configurableCnt times to register provider using a
// different
// configurable each time
Assertable assertable = getAssertableWithNoRegisteredProviderInstance();
for (int cnt = 0; cnt != configurableCnt; cnt++) {
// Check the provider is registered
logMsg("Check on Configurable", Assertable.getLocation(cnt));
// set we want to register the provider on Configurable
// Assertable::LOCATION[cnt]
registrar.setCurrentValue(0).setFinalValue(cnt);
checkConfig(registrar, assertable, instances, entity);
logMsg("The provider withO unassignable contract has ben ignored as expected");
}
}
use of jakarta.ws.rs.core.Configurable in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method registerObjectBindingPriorityTest.
/*
* @testName: registerObjectBindingPriorityTest
*
* @assertion_ids: JAXRS:JAVADOC:759;
*
* @test_Strategy: Any binding priority specified on the registered JAX-RS
* component class via
*
* @Priority annotation is overridden with the supplied bindingPriority value.
*/
@Test
public void registerObjectBindingPriorityTest() throws Fault {
final String content = "registerObjectBindingPriorityTest";
Class<?>[] classes = createProviderClasses();
// entity to send to a server
Entity<?> entity = Entity.entity(content, MediaType.WILDCARD);
// register only once per client build
IncrementableRegistrar registrar = new IncrementableRegistrar(0, 1) {
@Override
public void register(Configurable<?> config, Object registerable) {
if (currentValue++ == finalValue) {
config.register(new FirstFilter(), 400);
config.register(new SecondFilter(), 399);
}
}
};
setResourceMethod("echo");
// configurable each time
for (int cnt = 0; cnt != configurableCnt; cnt++) {
// Check the provider is registered
logMsg("Check on Configurable", Assertable.getLocation(cnt));
// set we want to register the provider on Configurable
// Assertable::LOCATION[cnt]
registrar.setCurrentValue(0).setFinalValue(cnt);
Assertable assertable = getAssertableWithRegisteredProviderInstancesOnConfigurable(cnt, 2);
Invocation i = checkConfig(registrar, assertable, classes, entity);
String response = i.invoke(String.class);
assertEquals(FirstFilter.class.getName(), response, "Unexpected filter ordering, the last was", response);
logMsg(response, "has been executed as second, as expected");
}
}
use of jakarta.ws.rs.core.Configurable in project jaxrs-api by eclipse-ee4j.
the class JAXRSClientIT method registerObjectNullContractsTest.
/*
* @testName: registerObjectNullContractsTest
*
* @assertion_ids: JAXRS:JAVADOC:760;
*
* @test_Strategy: Implementations MUST ignore attempts to register a
* component class for a null collection of contracts via this method and
* SHOULD raise a warning about such event.
*/
@Test
public void registerObjectNullContractsTest() throws Fault {
Object[] instances = createProviderInstances();
// entity to send to a server
Entity<?> entity = Entity.entity("", MediaType.WILDCARD);
// register only once per client build
IncrementableRegistrar registrar = new IncrementableRegistrar(0, 1) {
@Override
public void register(Configurable<?> config, Object registerable) {
if (currentValue++ == finalValue)
config.register(registerable, (Class<?>[]) null);
}
};
setResourceMethod("echo");
// build client configurableCnt times to register provider using a
// different
// configurable each time
Assertable assertable = getAssertableWithNoRegisteredProvider();
for (int cnt = 0; cnt != configurableCnt; cnt++) {
// Check the provider is registered
logMsg("Check on Configurable", Assertable.getLocation(cnt));
// set we want to register the provider on Configurable
// Assertable::LOCATION[cnt]
registrar.setCurrentValue(0).setFinalValue(cnt);
checkConfig(registrar, assertable, instances, entity);
logMsg("The provider with null contract has ben ignored as expected");
}
}
Aggregations