use of org.infinispan.client.rest.configuration.RestClientConfigurationBuilder in project infinispan by infinispan.
the class HotRodCacheQueries method testQueryViaRest.
@Test
public void testQueryViaRest() throws IOException {
RemoteCache<Integer, User> remoteCache = ClusteredIT.createQueryableCache(SERVER_TEST, indexed);
remoteCache.put(1, createUser1());
remoteCache.put(2, createUser2());
String query = "FROM sample_bank_account.User WHERE name='Adrian'";
RestClient restClient = SERVER_TEST.newRestClient(new RestClientConfigurationBuilder());
RestResponse response = sync(restClient.cache(SERVER_TEST.getMethodName()).query(query));
Json results = Json.read(response.getBody());
assertEquals(1, results.at("total_results").asInteger());
}
use of org.infinispan.client.rest.configuration.RestClientConfigurationBuilder in project infinispan by infinispan.
the class BaseRestSearchTest method createCacheManagers.
@Override
protected void createCacheManagers() throws Exception {
// global config
GlobalConfigurationBuilder globalCfg = GlobalConfigurationBuilder.defaultClusteredBuilder();
globalCfg.serialization().addContextInitializer(RestTestSCI.INSTANCE);
// test cache config
ConfigurationBuilder builder = getConfigBuilder();
builder.statistics().enabled(true);
// create a 'default' config which is not indexed
ConfigurationBuilder defaultBuilder = new ConfigurationBuilder();
// start cache managers + default cache
createClusteredCaches(getNumNodes(), globalCfg, defaultBuilder, isServerMode(), "default");
// start rest sever for each cache manager
cacheManagers.forEach(cm -> {
RestServerHelper restServer = new RestServerHelper(cm);
restServer.start(TestResourceTracker.getCurrentTestShortName());
restServers.add(restServer);
RestClientConfigurationBuilder clientConfigurationBuilder = new RestClientConfigurationBuilder();
clientConfigurationBuilder.addServer().host(restServer.getHost()).port(restServer.getPort());
clients.add(RestClient.forConfiguration(clientConfigurationBuilder.build()));
});
client = clients.get(0);
cacheClient = client.cache(CACHE_NAME);
// register protobuf schema
String protoFileContents = Util.getResourceAsString(PROTO_FILE_NAME, getClass().getClassLoader());
registerProtobuf(protoFileContents);
// start indexed test cache that depends on the protobuf schema
cacheManagers.forEach(cm -> {
cm.defineConfiguration(CACHE_NAME, builder.build());
cm.getCache(CACHE_NAME);
});
}
use of org.infinispan.client.rest.configuration.RestClientConfigurationBuilder in project infinispan by infinispan.
the class MultiNodeRestTest method createCacheManagers.
@Override
protected void createCacheManagers() throws Throwable {
createClusteredCaches(getMembers(), GlobalConfigurationBuilder.defaultClusteredBuilder(), new ConfigurationBuilder(), true);
cacheManagers.forEach(cm -> {
RestServerHelper restServer = new RestServerHelper(cm);
restServer.start(TestResourceTracker.getCurrentTestShortName());
restServers.add(restServer);
});
RestClientConfigurationBuilder clientConfigurationBuilder = new RestClientConfigurationBuilder();
restServers.forEach(s -> clientConfigurationBuilder.addServer().host(s.getHost()).port(s.getPort()));
this.client = RestClient.forConfiguration(clientConfigurationBuilder.build());
// Register the proto schema before starting the caches
String protoFileContents = Util.getResourceAsString(getProtoFile(), getClass().getClassLoader());
registerProtobuf(protoFileContents);
cacheManagers.forEach(cm -> {
getCacheConfigs().forEach((name, configBuilder) -> cm.createCache(name, configBuilder.build()));
});
cacheClients = getCacheConfigs().keySet().stream().collect(Collectors.toMap(Function.identity(), client::cache));
}
use of org.infinispan.client.rest.configuration.RestClientConfigurationBuilder in project infinispan by infinispan.
the class SinglePortTest method shouldUpgradeToHotRodThroughHTTP11UpgradeHeaders.
@Test
public void shouldUpgradeToHotRodThroughHTTP11UpgradeHeaders() {
// given
EmbeddedCacheManager cacheManager = TestCacheManagerFactory.createCacheManager(hotRodCacheConfiguration());
// Initialize a transport-less Hot Rod server
HotRodServerConfigurationBuilder hotRodServerBuilder = new HotRodServerConfigurationBuilder();
hotRodServerBuilder.startTransport(false);
hotRodServerBuilder.name(TestResourceTracker.getCurrentTestName());
hotrodServer = HotRodClientTestingUtil.startHotRodServer(cacheManager, hotRodServerBuilder);
// Initialize a transport-less REST server
restServer = new RestServer();
RestServerConfigurationBuilder restServerConfigurationBuilder = new RestServerConfigurationBuilder();
restServerConfigurationBuilder.startTransport(false);
restServerConfigurationBuilder.name(TestResourceTracker.getCurrentTestName());
restServer.setServerManagement(new DummyServerManagement(), true);
restServer.start(restServerConfigurationBuilder.build(), cacheManager);
// Initialize a Single Port server with routes to the Hot Rod and REST servers
HotRodServerRouteDestination hotrodDestination = new HotRodServerRouteDestination("hotrod", hotrodServer);
RestServerRouteDestination restDestination = new RestServerRouteDestination("rest", restServer);
SinglePortRouteSource singlePortSource = new SinglePortRouteSource();
Route<SinglePortRouteSource, HotRodServerRouteDestination> routeToHotRod = new Route<>(singlePortSource, hotrodDestination);
Route<SinglePortRouteSource, RestServerRouteDestination> routeToRest = new Route<>(singlePortSource, restDestination);
RouterConfigurationBuilder routerConfigurationBuilder = new RouterConfigurationBuilder();
routerConfigurationBuilder.singlePort().port(0).ip(InetAddress.getLoopbackAddress()).routing().add(routeToRest).add(routeToHotRod);
router = new Router(routerConfigurationBuilder.build());
router.start();
EndpointRouter endpointRouter = router.getRouter(EndpointRouter.Protocol.SINGLE_PORT).get();
String host = endpointRouter.getHost();
int port = endpointRouter.getPort();
// First off we verify that the HTTP side of things works
RestClientConfigurationBuilder builder = new RestClientConfigurationBuilder();
builder.addServer().host(host).port(port).protocol(Protocol.HTTP_11);
httpClient = RestClient.forConfiguration(builder.build());
CompletionStage<RestResponse> response = httpClient.cache(cacheManager.getCacheManagerConfiguration().defaultCacheName().get()).post("key", VALUE);
ResponseAssertion.assertThat(response).hasNoContent();
Assertions.assertThat(restServer.getCacheManager().getCache().size()).isEqualTo(1);
// Next up, the RemoteCacheManager
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.marshaller(new UTF8StringMarshaller());
configurationBuilder.addServer().host(host).port(port);
hotRodClient = new RemoteCacheManager(configurationBuilder.build());
Object value = hotRodClient.getCache().withDataFormat(DataFormat.builder().keyType(TEXT_PLAIN).valueType(TEXT_PLAIN).build()).get("key");
Assertions.assertThat(value).isEqualTo("test");
}
use of org.infinispan.client.rest.configuration.RestClientConfigurationBuilder in project infinispan by infinispan.
the class RestAuthentication method testStaticResourcesAnonymously.
@Test
public void testStaticResourcesAnonymously() {
InfinispanServerDriver serverDriver = SERVERS.getServerDriver();
InetSocketAddress serverAddress = serverDriver.getServerSocket(0, 11222);
RestClientConfigurationBuilder builder = new RestClientConfigurationBuilder().followRedirects(false);
builder.addServer().host(serverAddress.getHostName()).port(serverAddress.getPort());
RestClient restClient = RestClient.forConfiguration(builder.build());
RestResponse response = sync(restClient.raw().get("/"));
// The root resource redirects to the console
assertEquals(307, response.getStatus());
}
Aggregations