Search in sources :

Example 96 with Json

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));
}
Also used : RestClient(org.infinispan.client.rest.RestClient) RestCacheClient(org.infinispan.client.rest.RestCacheClient) Json(org.infinispan.commons.dataconversion.internal.Json) Test(org.testng.annotations.Test) AbstractMultipleSitesTest(org.infinispan.xsite.AbstractMultipleSitesTest)

Example 97 with Json

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();
}
Also used : RestCacheClient(org.infinispan.client.rest.RestCacheClient) Json(org.infinispan.commons.dataconversion.internal.Json)

Example 98 with Json

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));
}
Also used : RestCacheClient(org.infinispan.client.rest.RestCacheClient) Json(org.infinispan.commons.dataconversion.internal.Json) Test(org.testng.annotations.Test) AbstractMultipleSitesTest(org.infinispan.xsite.AbstractMultipleSitesTest)

Example 99 with Json

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()));
    }
}
Also used : RestResponse(org.infinispan.client.rest.RestResponse) Json(org.infinispan.commons.dataconversion.internal.Json) Test(org.testng.annotations.Test)

Example 100 with Json

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();
}
Also used : RestResponse(org.infinispan.client.rest.RestResponse) Util.getResourceAsString(org.infinispan.commons.util.Util.getResourceAsString) Json(org.infinispan.commons.dataconversion.internal.Json) RestSchemaClient(org.infinispan.client.rest.RestSchemaClient) Test(org.testng.annotations.Test)

Aggregations

Json (org.infinispan.commons.dataconversion.internal.Json)130 RestResponse (org.infinispan.client.rest.RestResponse)51 Test (org.testng.annotations.Test)51 RestClient (org.infinispan.client.rest.RestClient)15 Util.getResourceAsString (org.infinispan.commons.util.Util.getResourceAsString)13 Test (org.junit.Test)13 RestCacheClient (org.infinispan.client.rest.RestCacheClient)12 MultipleCacheManagersTest (org.infinispan.test.MultipleCacheManagersTest)12 AbstractMultipleSitesTest (org.infinispan.xsite.AbstractMultipleSitesTest)7 ArrayList (java.util.ArrayList)6 List (java.util.List)6 Map (java.util.Map)6 NettyRestResponse (org.infinispan.rest.NettyRestResponse)6 ResourceUtil.addEntityAsJson (org.infinispan.rest.resources.ResourceUtil.addEntityAsJson)6 HashMap (java.util.HashMap)5 RestEntity (org.infinispan.client.rest.RestEntity)5 IOException (java.io.IOException)4 HashSet (java.util.HashSet)4 Request (okhttp3.Request)4 RestSchemaClient (org.infinispan.client.rest.RestSchemaClient)4