use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class ContainerResourceTest method testHealth.
@Test
public void testHealth() {
RestResponse response = join(cacheManagerClient.health());
ResponseAssertion.assertThat(response).isOk();
Json jsonNode = Json.read(response.getBody());
Json clusterHealth = jsonNode.at("cluster_health");
// One of the caches is in FAILED state
assertEquals(clusterHealth.at("health_status").asString(), HealthStatus.FAILED.toString());
assertEquals(clusterHealth.at("number_of_nodes").asInteger(), 2);
assertEquals(clusterHealth.at("node_names").asJsonList().size(), 2);
Json cacheHealth = jsonNode.at("cache_health");
List<String> cacheNames = extractCacheNames(cacheHealth);
assertTrue(cacheNames.contains("cache1"));
assertTrue(cacheNames.contains("cache2"));
response = join(cacheManagerClient.health(true));
ResponseAssertion.assertThat(response).isOk();
ResponseAssertion.assertThat(response).hasNoContent();
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class ContainerResourceTest method testCachesWithIgnoreCache.
@Test
public void testCachesWithIgnoreCache() {
if (security) {
Security.doAs(TestingUtil.makeSubject(AuthorizationPermission.ADMIN.name()), (PrivilegedAction<CompletableFuture<Void>>) () -> serverStateManager.ignoreCache("cache1"));
} else {
serverStateManager.ignoreCache("cache1");
}
RestResponse response = join(cacheManagerClient.caches());
ResponseAssertion.assertThat(response).isOk();
String json = response.getBody();
Json jsonNode = Json.read(json);
List<String> names = find(jsonNode, "name");
Set<String> expectedNames = Util.asSet("defaultcache", "cache1", "cache2", "invalid");
assertEquals(expectedNames, new HashSet<>(names));
List<String> status = find(jsonNode, "status");
assertTrue(status.contains("RUNNING"));
assertTrue(status.contains("IGNORED"));
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class CounterResourceTest method testWeakCounterLifecycle.
@Test
public void testWeakCounterLifecycle() {
CounterConfiguration counterConfig = CounterConfiguration.builder(CounterType.WEAK).initialValue(5).storage(Storage.VOLATILE).concurrencyLevel(6).build();
createCounter("sample-counter", counterConfig);
RestCounterClient counterClient = client.counter("sample-counter");
RestResponse response = join(counterClient.configuration(APPLICATION_JSON_TYPE));
Json jsonNode = Json.read(response.getBody());
Json config = jsonNode.at("weak-counter");
assertEquals(config.at("initial-value").asInteger(), 5);
assertEquals(config.at("storage").asString(), "VOLATILE");
assertEquals(config.at("concurrency-level").asInteger(), 6);
response = join(counterClient.delete());
assertThat(response).isOk();
response = join(counterClient.configuration());
assertThat(response).isNotFound();
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class ServerResource method connectorIpFilterSet.
private CompletionStage<RestResponse> connectorIpFilterSet(RestRequest restRequest) {
NettyRestResponse.Builder builder = new NettyRestResponse.Builder().status(NO_CONTENT);
String connectorName = restRequest.variables().get("connector");
ProtocolServer connector = invocationHelper.getServer().getProtocolServers().get(connectorName);
if (connector == null)
return completedFuture(builder.status(NOT_FOUND).build());
Json json = Json.read(restRequest.contents().asString());
if (!json.isArray()) {
return completedFuture(builder.status(BAD_REQUEST).build());
}
List<Json> list = json.asJsonList();
List<IpSubnetFilterRule> rules = new ArrayList<>(list.size());
for (Json o : list) {
if (!o.has("type") || !o.has("cidr")) {
return completedFuture(builder.status(BAD_REQUEST).build());
} else {
rules.add(new IpSubnetFilterRule(o.at("cidr").asString(), IpFilterRuleType.valueOf(o.at("type").asString())));
}
}
// Verify that none of the REJECT rules match the address from which the request was made
if (connector.equals(invocationHelper.getProtocolServer()) || connector.equals(invocationHelper.getProtocolServer().getEnclosingProtocolServer())) {
InetSocketAddress remoteAddress = restRequest.getRemoteAddress();
for (IpSubnetFilterRule rule : rules) {
if (rule.ruleType() == IpFilterRuleType.REJECT && rule.matches(remoteAddress)) {
return completedFuture(builder.status(CONFLICT).entity(Messages.MSG.rejectRuleMatchesRequestAddress(rule, remoteAddress)).build());
}
}
}
ServerStateManager serverStateManager = invocationHelper.getServer().getServerStateManager();
return Security.doAs(restRequest.getSubject(), (PrivilegedAction<CompletionStage<RestResponse>>) () -> serverStateManager.setConnectorIpFilterRule(connectorName, rules).thenApply(r -> builder.build()));
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class ServerResource method ipFilterRulesAsJson.
private Json ipFilterRulesAsJson(ProtocolServer connector) {
Collection<IpSubnetFilterRule> rules = connector.getConfiguration().ipFilter().rules();
Json array = Json.array();
for (IpSubnetFilterRule rule : rules) {
array.add(Json.object().set("type", rule.ruleType().name().toLowerCase()).set("from", rule.cidr()));
}
return array;
}
Aggregations