use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class XSiteResourceTest method testPushAllCaches.
@Test
public void testPushAllCaches() {
RestClient restClientLon = clientPerSite.get(LON);
RestClient restClientSfo = clientPerSite.get(SFO);
RestCacheClient cache1Lon = restClientLon.cache(CACHE_1);
RestCacheClient cache2Lon = restClientLon.cache(CACHE_2);
RestCacheClient cache1Sfo = restClientSfo.cache(CACHE_1);
RestCacheClient cache2Sfo = restClientSfo.cache(CACHE_2);
// Take SFO offline for all caches
assertSuccessful(restClientLon.cacheManager(CACHE_MANAGER).takeOffline(SFO));
Json backupStatuses = jsonResponseBody(restClientLon.cacheManager(CACHE_MANAGER).backupStatuses());
assertEquals("offline", backupStatuses.at(SFO).at("status").asString());
// Write to the caches
int entries = 10;
IntStream.range(0, entries).forEach(i -> {
String key = String.valueOf(i);
String value = "value";
assertNoContent(cache1Lon.put(key, value));
assertNoContent(cache2Lon.put(key, value));
});
// Backups should be empty
assertEquals(0, getCacheSize(cache1Sfo));
assertEquals(0, getCacheSize(cache2Sfo));
// Start state push
assertSuccessful(restClientLon.cacheManager(CACHE_MANAGER).pushSiteState(SFO));
// Backups go online online immediately
assertEquals(ONLINE, getBackupStatus(LON, SFO));
// State push should eventually finish
eventuallyEquals("OK", () -> pushStateStatus(cache1Lon, SFO));
eventuallyEquals("OK", () -> pushStateStatus(cache2Lon, SFO));
// ... and with state
assertEquals(entries, getCacheSize(cache1Sfo));
assertEquals(entries, getCacheSize(cache2Sfo));
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class XSiteResourceTest method getBackupStatus.
private String getBackupStatus(String site, String backup) {
RestCacheClient cacheClient = getCacheClient(site);
String cacheManagerAddress = getFirstCacheManagerAddress(site);
Json json = jsonResponseBody(cacheClient.backupStatus(backup));
return json.at(cacheManagerAddress).asString();
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class XSiteResourceTest method testCancelPushState.
@Test
public void testCancelPushState() throws Exception {
RestCacheClient cache = getCacheClient(LON);
RestCacheClient backupCache = getCacheClient(NYC);
// Take backup offline
takeBackupOffline(LON, NYC);
assertEquals(OFFLINE, getBackupStatus(LON, NYC));
// Write in the cache
int entries = 50;
IntStream.range(0, entries).forEach(i -> assertNoContent(cache.put(String.valueOf(i), "value")));
// Backup should be empty
assertEquals(entries, getCacheSize(cache));
assertEquals(0, getCacheSize(backupCache));
// Start state push
BlockXSitePushStateTransport transport = BlockXSitePushStateTransport.replace(cache(LON, 0));
transport.startBlocking();
assertSuccessful(cache.pushSiteState(NYC));
transport.waitForCommand();
// Cancel push
assertSuccessful(cache.cancelPushState(NYC));
transport.stopBlocking();
Json status = jsonResponseBody(cache.pushStateStatus());
assertEquals("CANCELED", status.at(NYC).asString());
// Clear status
assertSuccessful(cache.clearPushStateStatus());
status = jsonResponseBody(cache.pushStateStatus());
assertEquals(2, status.asMap().size());
assertEquals("IDLE", status.asMap().get(NYC));
assertEquals("IDLE", status.asMap().get(SFO));
assertSuccessful(cache.cancelReceiveState(NYC));
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class CounterResourceTest method testCounterNames.
@Test
public void testCounterNames() {
String name = "weak-one-%d";
for (int i = 0; i < 5; i++) {
createCounter(String.format(name, i), CounterConfiguration.builder(CounterType.WEAK).initialValue(5).build());
}
RestResponse response = join(client.counters());
assertThat(response).isOk();
Json jsonNode = Json.read(response.getBody());
Collection<String> counterNames = EmbeddedCounterManagerFactory.asCounterManager(cacheManagers.get(0)).getCounterNames();
int size = jsonNode.asList().size();
assertEquals(counterNames.size(), size);
for (int i = 0; i < size; i++) {
assertTrue(counterNames.contains(jsonNode.at(i).asString()));
}
}
use of org.infinispan.commons.dataconversion.internal.Json in project infinispan by infinispan.
the class ProtobufResourceTest method crudSchema.
@Test
public void crudSchema() throws Exception {
RestSchemaClient schemaClient = client.schemas();
String personProto = getResourceAsString("person.proto", getClass().getClassLoader());
// Create
RestResponse response = join(schemaClient.post("person", personProto));
ResponseAssertion.assertThat(response).isOk();
Json jsonNode = Json.read(response.getBody());
assertTrue(jsonNode.at("error").isNull());
// Read
response = join(schemaClient.get("person"));
ResponseAssertion.assertThat(response).isOk();
ResponseAssertion.assertThat(response).hasContentEqualToFile("person.proto");
// Read adding .proto should also work
response = join(schemaClient.get("person.proto"));
ResponseAssertion.assertThat(response).isOk();
ResponseAssertion.assertThat(response).hasContentEqualToFile("person.proto");
// Update
response = join(schemaClient.put("person", personProto));
ResponseAssertion.assertThat(response).isOk();
// Delete
response = join(schemaClient.delete("person"));
ResponseAssertion.assertThat(response).isOk();
response = join(schemaClient.get("person"));
ResponseAssertion.assertThat(response).isNotFound();
}
Aggregations