http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
deleted file mode 100644
index 5d7bb19..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientAbstractSelfTest.java
+++ /dev/null
@@ -1,1605 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import junit.framework.*;
-import net.sf.json.*;
-import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
-import org.apache.ignite.cache.GridCache;
-import org.apache.ignite.cache.affinity.consistenthash.*;
-import org.apache.ignite.cache.store.*;
-import org.apache.ignite.client.*;
-import org.apache.ignite.compute.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.client.ssl.*;
-import org.apache.ignite.lang.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.spi.swapspace.file.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.apache.ignite.internal.util.typedef.internal.*;
-import org.apache.ignite.testframework.junits.common.*;
-import org.jetbrains.annotations.*;
-
-import javax.cache.configuration.*;
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.concurrent.atomic.*;
-
-import static org.apache.ignite.IgniteSystemProperties.*;
-import static org.apache.ignite.cache.CacheMode.*;
-import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
-import static org.apache.ignite.testframework.GridTestUtils.*;
-
-/**
- * Tests for Java client.
- */
-@SuppressWarnings("deprecation")
-public abstract class ClientAbstractSelfTest extends GridCommonAbstractTest {
-    /** */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
-
-    /** */
-    private static final String CACHE_NAME = "cache";
-
-    /** */
-    public static final String HOST = "127.0.0.1";
-
-    /** */
-    public static final int JETTY_PORT = 8080;
-
-    /** */
-    public static final int BINARY_PORT = 11212;
-
-   /** Path to jetty config. */
-    public static final String REST_JETTY_CFG = 
"modules/clients/src/test/resources/jetty/rest-jetty.xml";
-
-    /** Need to be static because configuration inits only once per class. */
-    private static final ConcurrentMap<Object, Object> INTERCEPTED_OBJECTS = 
new ConcurrentHashMap<>();
-
-    /** */
-    private static final Map<String, HashMapStore> cacheStores = new 
HashMap<>();
-
-    /** Path to test log. */
-    private static final String TEST_LOG_PATH = 
"modules/core/src/test/resources/log/ignite.log.tst";
-
-    /** */
-    public static final String ROUTER_LOG_CFG = 
"modules/core/src/test/config/log4j-test.xml";
-
-    /** */
-    private static final String INTERCEPTED_SUF = "intercepted";
-
-    /** */
-    private static final String[] TASK_ARGS = new String[] {"executing", 
"test", "task"};
-
-    /** Flag indicating whether intercepted objects should be overwritten. */
-    private static volatile boolean overwriteIntercepted;
-
-    /** */
-    private ExecutorService exec;
-
-    /** */
-    protected GridClient client;
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        System.setProperty(IGNITE_JETTY_PORT, Integer.toString(JETTY_PORT));
-
-        startGrid();
-
-        System.clearProperty(IGNITE_JETTY_PORT);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
-        stopGrid();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        exec = Executors.newCachedThreadPool();
-
-        client = client();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTest() throws Exception {
-        exec.shutdown();
-        exec = null;
-
-        GridClientFactory.stop(client.id(), true);
-
-        client = null;
-
-        for (HashMapStore cacheStore : cacheStores.values())
-            cacheStore.map.clear();
-
-        grid().cache(null).clearAll();
-        grid().cache(CACHE_NAME).clearAll();
-
-        INTERCEPTED_OBJECTS.clear();
-    }
-
-    /**
-     * Gets protocol which should be used in client connection.
-     *
-     * @return Protocol.
-     */
-    protected abstract GridClientProtocol protocol();
-
-    /**
-     * Gets server address to which client should connect.
-     *
-     * @return Server address in format "host:port".
-     */
-    protected abstract String serverAddress();
-
-    /**
-     * @return Whether SSL should be used in test.
-     */
-    protected abstract boolean useSsl();
-
-    /**
-     * @return SSL context factory used in test.
-     */
-    protected abstract GridSslContextFactory sslContextFactory();
-
-    /**
-     * Get task name.
-     *
-     * @return Task name.
-     */
-    protected String getTaskName() {
-        return TestTask.class.getName();
-    }
-
-    /**
-     * @return name of the sleep task for current test.
-     */
-    protected String getSleepTaskName() {
-        return SleepTestTask.class.getName();
-    }
-
-    /**
-     * Get task argument.
-     *
-     * @return Task argument.
-     */
-    protected Object getTaskArgument() {
-        return Arrays.asList(TASK_ARGS);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration cfg = super.getConfiguration(gridName);
-
-        cfg.setLocalHost(HOST);
-
-        assert cfg.getClientConnectionConfiguration() == null;
-
-        ClientConnectionConfiguration clientCfg = new 
ClientConnectionConfiguration();
-
-        clientCfg.setRestTcpPort(BINARY_PORT);
-
-        clientCfg.setRestAccessibleFolders(
-            U.getGridGainHome() + "/work/log",
-            
U.resolveGridGainPath("modules/core/src/test/resources/log").getAbsolutePath());
-
-        if (useSsl()) {
-            clientCfg.setRestTcpSslEnabled(true);
-
-            clientCfg.setRestTcpSslContextFactory(sslContextFactory());
-        }
-
-        cfg.setClientConnectionConfiguration(clientCfg);
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(IP_FINDER);
-
-        cfg.setDiscoverySpi(disco);
-
-        cfg.setCacheConfiguration(cacheConfiguration(null), 
cacheConfiguration("replicated"),
-            cacheConfiguration("partitioned"), cacheConfiguration(CACHE_NAME));
-
-        clientCfg.setClientMessageInterceptor(new ClientMessageInterceptor() {
-            @Override public Object onReceive(@Nullable Object obj) {
-                if (obj != null)
-                    INTERCEPTED_OBJECTS.put(obj, obj);
-
-                return overwriteIntercepted && obj instanceof String ?
-                    obj + INTERCEPTED_SUF : obj;
-            }
-
-            @Override public Object onSend(Object obj) {
-                if (obj != null)
-                    INTERCEPTED_OBJECTS.put(obj, obj);
-
-                return obj;
-            }
-        });
-
-        // Specify swap SPI, otherwise test fails on windows.
-        cfg.setSwapSpaceSpi(new FileSwapSpaceSpi());
-
-        return cfg;
-    }
-
-    /**
-     * @param cacheName Cache name.
-     * @return Cache configuration.
-     * @throws Exception In case of error.
-     */
-    @SuppressWarnings("unchecked")
-    private CacheConfiguration cacheConfiguration(@Nullable String cacheName) 
throws Exception {
-        CacheConfiguration cfg = defaultCacheConfiguration();
-
-        cfg.setCacheMode(cacheName == null || CACHE_NAME.equals(cacheName) ? 
LOCAL : "replicated".equals(cacheName) ?
-            REPLICATED : PARTITIONED);
-        cfg.setName(cacheName);
-        cfg.setWriteSynchronizationMode(FULL_SYNC);
-
-        HashMapStore cacheStore = cacheStores.get(cacheName);
-
-        if (cacheStore == null)
-            cacheStores.put(cacheName, cacheStore = new HashMapStore());
-
-        cfg.setCacheStoreFactory(new 
FactoryBuilder.SingletonFactory(cacheStore));
-        cfg.setWriteThrough(true);
-        cfg.setReadThrough(true);
-        cfg.setLoadPreviousValue(true);
-
-        cfg.setSwapEnabled(true);
-
-        if (cfg.getCacheMode() == PARTITIONED)
-            cfg.setBackups(1);
-
-        return cfg;
-    }
-
-    /**
-     * @return Client.
-     * @throws GridClientException In case of error.
-     */
-    protected GridClient client() throws GridClientException {
-        return GridClientFactory.start(clientConfiguration());
-    }
-
-    /**
-     * @return Test client configuration.
-     */
-    protected GridClientConfiguration clientConfiguration() throws 
GridClientException {
-        GridClientConfiguration cfg = new GridClientConfiguration();
-
-        GridClientDataConfiguration nullCache = new 
GridClientDataConfiguration();
-
-        GridClientDataConfiguration cache = new GridClientDataConfiguration();
-
-        cache.setName(CACHE_NAME);
-
-        cfg.setDataConfigurations(Arrays.asList(nullCache, cache));
-
-        cfg.setProtocol(protocol());
-        cfg.setServers(Arrays.asList(serverAddress()));
-
-        // Setting custom executor, to avoid failures on client shutdown.
-        // And applying custom naming scheme to ease debugging.
-        cfg.setExecutorService(Executors.newCachedThreadPool(new 
ThreadFactory() {
-            private AtomicInteger cntr = new AtomicInteger();
-
-            @SuppressWarnings("NullableProblems")
-            @Override public Thread newThread(Runnable r) {
-                return new Thread(r, "client-worker-thread-" + 
cntr.getAndIncrement());
-            }
-        }));
-
-        if (useSsl())
-            cfg.setSslContextFactory(sslContextFactory());
-
-        return cfg;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testConnectable() throws Exception {
-        GridClient client = client();
-
-        List<GridClientNode> nodes = client.compute().refreshTopology(false, 
false);
-
-        assertTrue(F.first(nodes).connectable());
-    }
-
-    /**
-     * Check async API methods don't generate exceptions.
-     *
-     * @throws Exception If failed.
-     */
-    public void testNoAsyncExceptions() throws Exception {
-        GridClient client = client();
-
-        GridClientData data = client.data(CACHE_NAME);
-        GridClientCompute compute = client.compute().projection(new 
GridClientPredicate<GridClientNode>() {
-            @Override public boolean apply(GridClientNode e) {
-                return false;
-            }
-        });
-
-        Map<String, GridClientFuture<?>> futs = new LinkedHashMap<>();
-
-        futs.put("exec", compute.executeAsync("taskName", "taskArg"));
-        futs.put("affExec", compute.affinityExecuteAsync("taskName", 
"cacheName", "affKey", "taskArg"));
-        futs.put("refreshById", compute.refreshNodeAsync(UUID.randomUUID(), 
true, true));
-        futs.put("refreshByIP", compute.refreshNodeAsync("nodeIP", true, 
true));
-        futs.put("refreshTop", compute.refreshTopologyAsync(true, true));
-        futs.put("log", compute.logAsync(-1, -1));
-        futs.put("logForPath", compute.logAsync("path/to/log", -1, -1));
-
-        GridClientFactory.stop(client.id(), false);
-
-        futs.put("put", data.putAsync("key", "val"));
-        futs.put("putAll", data.putAllAsync(F.asMap("key", "val")));
-        futs.put("get", data.getAsync("key"));
-        futs.put("getAll", data.getAllAsync(Arrays.asList("key")));
-        futs.put("remove", data.removeAsync("key"));
-        futs.put("removeAll", data.removeAllAsync(Arrays.asList("key")));
-        futs.put("replace", data.replaceAsync("key", "val"));
-        futs.put("cas", data.casAsync("key", "val", "val2"));
-        futs.put("metrics", data.metricsAsync());
-
-        for (Map.Entry<String, GridClientFuture<?>> e : futs.entrySet()) {
-            try {
-                e.getValue().get();
-
-                info("Expects '" + e.getKey() + "' fails with grid client 
exception.");
-            }
-            catch (GridServerUnreachableException |GridClientClosedException 
ignore) {
-                // No op: compute projection is empty.
-            }
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testGracefulShutdown() throws Exception {
-        GridClientCompute compute = client.compute();
-
-        Object taskArg = getTaskArgument();
-        String taskName = getSleepTaskName();
-
-        GridClientFuture<Object> fut = compute.executeAsync(taskName, taskArg);
-        GridClientFuture<Object> fut2 = compute.executeAsync(taskName, 
taskArg);
-
-        GridClientFactory.stop(client.id(), true);
-
-        Assert.assertEquals(17, fut.get());
-        Assert.assertEquals(17, fut2.get());
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testForceShutdown() throws Exception {
-        GridClientCompute compute = client.compute();
-
-        Object taskArg = getTaskArgument();
-        String taskName = getSleepTaskName();
-
-        GridClientFuture<Object> fut = compute.executeAsync(taskName, taskArg);
-
-        GridClientFactory.stop(client.id(), false);
-
-        try {
-            fut.get();
-        }
-        catch (GridClientClosedException ignored) {
-            return;
-        }
-
-        Assert.fail("Expected GridClientClosedException.");
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testShutdown() throws Exception {
-        GridClient c = client();
-
-        GridClientCompute compute = c.compute();
-
-        String taskName = getTaskName();
-        Object taskArg = getTaskArgument();
-
-        Collection<GridClientFuture<Object>> futs = new ArrayList<>();
-
-        // Validate connection works.
-        compute.execute(taskName, taskArg);
-
-        info(">>> First task executed successfully, running batch.");
-
-        for (int i = 0; i < 100; i++)
-            futs.add(compute.executeAsync(taskName, taskArg));
-
-        // Stop client.
-        GridClientFactory.stop(c.id(), true);
-
-        info(">>> Completed stop request.");
-
-        int failed = 0;
-
-        for (GridClientFuture<Object> fut : futs) {
-            try {
-                assertEquals(17, fut.get());
-            }
-            catch (GridClientException e) {
-                failed++;
-
-                log.warning("Task execution failed.", e);
-            }
-        }
-
-        assertEquals(0, failed);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPut() throws Exception {
-        GridCache<String, String> dfltCache = grid().cache(null);
-        GridCache<Object, Object> namedCache = grid().cache(CACHE_NAME);
-
-        GridClientData dfltData = client.data();
-
-        assertNotNull(dfltData);
-
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertNotNull(namedData);
-
-        assertTrue(dfltData.put("key1", "val1"));
-        assertEquals("val1", dfltCache.get("key1"));
-
-        assertTrue(dfltData.putAsync("key2", "val2").get());
-        assertEquals("val2", dfltCache.get("key2"));
-
-        assertTrue(namedData.put("key1", "val1"));
-        assertEquals("val1", namedCache.get("key1"));
-
-        assertTrue(namedData.putAsync("key2", "val2").get());
-        assertEquals("val2", namedCache.get("key2"));
-
-        assertTrue(dfltData.put("", ""));
-        assertEquals("", dfltCache.get(""));
-
-        assertTrue(namedData.put("", ""));
-        assertEquals("", namedCache.get(""));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testCacheFlags() throws Exception {
-        /* Note! Only 'SKIP_STORE' flag is validated. */
-        final GridClientData data = client.data(CACHE_NAME);
-        final GridClientData readData = 
data.flagsOn(GridClientCacheFlag.SKIP_STORE);
-        final GridClientData writeData = 
readData.flagsOff(GridClientCacheFlag.SKIP_STORE);
-
-        assertEquals(Collections.singleton(GridClientCacheFlag.SKIP_STORE), 
readData.flags());
-        assertTrue(writeData.flags().isEmpty());
-
-        for (int i = 0; i < 100; i++) {
-            String key = UUID.randomUUID().toString();
-            Object val = UUID.randomUUID().toString();
-
-            // Put entry into cache & store.
-            assertTrue(writeData.put(key, val));
-
-            assertEquals(val, readData.get(key));
-            assertEquals(val, writeData.get(key));
-
-            // Remove from cache, skip store.
-            assertTrue(readData.remove(key));
-
-            assertNull(readData.get(key));
-            assertEquals(val, writeData.get(key));
-            assertEquals(val, readData.get(key));
-
-            // Remove from cache and from store.
-            assertTrue(writeData.remove(key));
-
-            assertNull(readData.get(key));
-            assertNull(writeData.get(key));
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutAll() throws Exception {
-        GridClientData dfltData = client.data();
-
-        assertNotNull(dfltData);
-
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertNotNull(namedData);
-
-        dfltData.putAll(F.asMap("key1", "val1", "key2", "val2"));
-
-        Map<String, String> map = grid().<String, 
String>cache(null).getAll(F.asList("key1", "key2"));
-
-        assertEquals(2, map.size());
-        assertEquals("val1", map.get("key1"));
-        assertEquals("val2", map.get("key2"));
-
-        dfltData.putAllAsync(F.asMap("key3", "val3", "key4", "val4")).get();
-
-        map = grid().<String, String>cache(null).getAll(F.asList("key3", 
"key4"));
-
-        assertEquals(2, map.size());
-        assertEquals("val3", map.get("key3"));
-        assertEquals("val4", map.get("key4"));
-
-        namedData.putAll(F.asMap("key1", "val1", "key2", "val2"));
-
-        map = grid().<String, String>cache(CACHE_NAME).getAll(F.asList("key1", 
"key2"));
-
-        assertEquals(2, map.size());
-        assertEquals("val1", map.get("key1"));
-        assertEquals("val2", map.get("key2"));
-
-        namedData.putAllAsync(F.asMap("key3", "val3", "key4", "val4")).get();
-
-        map = grid().<String, String>cache(CACHE_NAME).getAll(F.asList("key3", 
"key4"));
-
-        assertEquals(2, map.size());
-        assertEquals("val3", map.get("key3"));
-        assertEquals("val4", map.get("key4"));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testPutAllWithCornerCases() throws Exception {
-        final GridClientData dfltData = client.data();
-
-        assertNotNull(dfltData);
-
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertNotNull(namedData);
-
-        dfltData.putAll(F.asMap("", "val1"));
-
-        assertEquals(F.asMap("", "val1"), grid().<String, 
String>cache(null).getAll(F.asList("")));
-
-        GridClientProtocol proto = clientConfiguration().getProtocol();
-
-        assertThrows(log, new Callable<Object>() {
-            @Override public Object call() throws Exception {
-                dfltData.putAll(Collections.singletonMap("key3", null));
-
-                return null;
-            }
-        }, proto == GridClientProtocol.TCP ? GridClientException.class : 
IllegalArgumentException.class, null);
-
-        assertThrows(log, new Callable<Object>() {
-            @Override public Object call() throws Exception {
-                dfltData.putAll(Collections.singletonMap(null, "val2"));
-
-                return null;
-            }
-        }, proto == GridClientProtocol.TCP ? GridClientException.class : 
IllegalArgumentException.class, null);
-
-        assertThrows(log, new Callable<Object>() {
-            @Override public Object call() throws Exception {
-                dfltData.getAll(Collections.singleton(null));
-
-                return null;
-            }
-        }, proto == GridClientProtocol.TCP ? GridClientException.class : 
IllegalArgumentException.class, null);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testGet() throws Exception {
-        GridClientData dfltData = client.data();
-
-        assertNotNull(dfltData);
-
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertNotNull(namedData);
-
-        assertTrue(grid().cache(null).putx("key", "val"));
-
-        Assert.assertEquals("val", dfltData.get("key"));
-        Assert.assertEquals("val", dfltData.getAsync("key").get());
-
-        assertTrue(grid().cache(CACHE_NAME).putx("key", "val"));
-
-        Assert.assertEquals("val", namedData.get("key"));
-        Assert.assertEquals("val", namedData.getAsync("key").get());
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testGetAll() throws Exception {
-        GridClientData dfltData = client.data();
-
-        assertNotNull(dfltData);
-
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertNotNull(namedData);
-
-        assertTrue(grid().cache(null).putx("key1", "val1"));
-        assertTrue(grid().cache(null).putx("key2", "val2"));
-
-        Map<String, String> map = dfltData.getAll(F.asList("key1", "key2"));
-
-        assertEquals(2, map.size());
-        assertEquals("val1", map.get("key1"));
-        assertEquals("val2", map.get("key2"));
-
-        assertTrue(grid().cache(null).putx("key3", "val3"));
-        assertTrue(grid().cache(null).putx("key4", "val4"));
-
-        map = dfltData.getAll(F.asList("key3", "key4"));
-
-        assertEquals(2, map.size());
-        assertEquals("val3", map.get("key3"));
-        assertEquals("val4", map.get("key4"));
-
-        map = dfltData.getAll(F.asList("key1"));
-
-        assertEquals(1, map.size());
-        assertEquals("val1", map.get("key1"));
-
-        assertTrue(grid().cache(CACHE_NAME).putx("key1", "val1"));
-        assertTrue(grid().cache(CACHE_NAME).putx("key2", "val2"));
-
-        map = namedData.getAll(F.asList("key1", "key2"));
-
-        assertEquals(2, map.size());
-        assertEquals("val1", map.get("key1"));
-        assertEquals("val2", map.get("key2"));
-
-        assertTrue(grid().cache(CACHE_NAME).putx("key3", "val3"));
-        assertTrue(grid().cache(CACHE_NAME).putx("key4", "val4"));
-
-        map = namedData.getAll(F.asList("key3", "key4"));
-
-        assertEquals(2, map.size());
-        assertEquals("val3", map.get("key3"));
-        assertEquals("val4", map.get("key4"));
-
-        map = namedData.getAll(F.asList("key1"));
-
-        assertEquals(1, map.size());
-        assertEquals("val1", map.get("key1"));
-
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemove() throws Exception {
-        GridClientData dfltData = client.data();
-
-        assertNotNull(dfltData);
-
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertNotNull(namedData);
-
-        assertTrue(grid().cache(null).putx("key1", "val1"));
-        assertTrue(grid().cache(null).putx("key2", "val2"));
-
-        assertTrue(dfltData.remove("key1"));
-        assertTrue(dfltData.removeAsync("key2").get());
-        assertFalse(dfltData.remove("wrongKey"));
-        assertFalse(dfltData.removeAsync("wrongKey").get());
-
-        assertNull(grid().cache(null).get("key1"));
-        assertNull(grid().cache(null).get("key2"));
-
-        assertTrue(grid().cache(CACHE_NAME).putx("key1", "val1"));
-        assertTrue(grid().cache(CACHE_NAME).putx("key2", "val2"));
-
-        assertTrue(namedData.remove("key1"));
-        assertTrue(namedData.removeAsync("key2").get());
-        assertFalse(namedData.remove("wrongKey"));
-        assertFalse(namedData.removeAsync("wrongKey").get());
-
-        assertNull(grid().cache(CACHE_NAME).get("key1"));
-        assertNull(grid().cache(CACHE_NAME).get("key2"));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testSkipStoreFlag() throws Exception {
-        GridClientData namedData = 
client.data(CACHE_NAME).flagsOn(GridClientCacheFlag.SKIP_STORE);
-
-        // test keyA
-        assertTrue(grid().cache(CACHE_NAME).putx("keyA", "valA"));
-        assertTrue(namedData.remove("keyA"));
-        assertEquals("valA", cacheStores.get(CACHE_NAME).map.get("keyA"));
-        assertNull(namedData.get("keyA"));
-
-        // test keyX
-        assertTrue(namedData.put("keyX", "valX"));
-        assertEquals("valX", namedData.get("keyX"));
-        assertNull(cacheStores.get(CACHE_NAME).map.get("keyX"));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testSkipSwapFlag() throws Exception {
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertTrue(namedData.put("k", "v"));
-
-        assertTrue(grid().cache(CACHE_NAME).evict("k"));
-
-        assertNull(namedData.flagsOn(GridClientCacheFlag.SKIP_SWAP, 
GridClientCacheFlag.SKIP_STORE).get("k"));
-        assertEquals("v", 
namedData.flagsOn(GridClientCacheFlag.SKIP_STORE).get("k"));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRemoveAll() throws Exception {
-        GridClientData dfltData = client.data();
-
-        assertNotNull(dfltData);
-
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertNotNull(namedData);
-
-        assertTrue(grid().cache(null).putx("key1", "val1"));
-        assertTrue(grid().cache(null).putx("key2", "val2"));
-        assertTrue(grid().cache(null).putx("key3", "val3"));
-        assertTrue(grid().cache(null).putx("key4", "val4"));
-
-        dfltData.removeAll(F.asList("key1", "key2"));
-        dfltData.removeAllAsync(F.asList("key3", "key4")).get();
-
-        assertNull(grid().cache(null).get("key1"));
-        assertNull(grid().cache(null).get("key2"));
-        assertNull(grid().cache(null).get("key3"));
-        assertNull(grid().cache(null).get("key4"));
-
-        assertTrue(grid().cache(CACHE_NAME).putx("key1", "val1"));
-        assertTrue(grid().cache(CACHE_NAME).putx("key2", "val2"));
-        assertTrue(grid().cache(CACHE_NAME).putx("key3", "val3"));
-        assertTrue(grid().cache(CACHE_NAME).putx("key4", "val4"));
-
-        namedData.removeAll(F.asList("key1", "key2"));
-        namedData.removeAllAsync(F.asList("key3", "key4")).get();
-
-        assertNull(grid().cache(CACHE_NAME).get("key1"));
-        assertNull(grid().cache(CACHE_NAME).get("key2"));
-        assertNull(grid().cache(CACHE_NAME).get("key3"));
-        assertNull(grid().cache(CACHE_NAME).get("key4"));
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testReplace() throws Exception {
-        GridClientData dfltData = client.data();
-
-        assertNotNull(dfltData);
-
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        assertNotNull(namedData);
-
-        assertFalse(dfltData.replace("key1", "val1"));
-        assertTrue(grid().cache(null).putx("key1", "val1"));
-        assertTrue(dfltData.replace("key1", "val2"));
-        assertEquals("val2", grid().cache(null).get("key1"));
-
-        assertFalse(dfltData.replace("key2", "val1"));
-        assertTrue(grid().cache(null).putx("key2", "val1"));
-        assertTrue(dfltData.replace("key2", "val2"));
-        assertEquals("val2", grid().cache(null).get("key2"));
-
-        grid().cache(null).removeAll(F.asList("key1", "key2"));
-
-        assertFalse(dfltData.replaceAsync("key1", "val1").get());
-        assertTrue(grid().cache(null).putx("key1", "val1"));
-        assertTrue(dfltData.replaceAsync("key1", "val2").get());
-        assertEquals("val2", grid().cache(null).get("key1"));
-
-        assertFalse(dfltData.replaceAsync("key2", "val1").get());
-        assertTrue(grid().cache(null).putx("key2", "val1"));
-        assertTrue(dfltData.replaceAsync("key2", "val2").get());
-        assertEquals("val2", grid().cache(null).get("key2"));
-
-        assertFalse(namedData.replace("key1", "val1"));
-        assertTrue(grid().cache(CACHE_NAME).putx("key1", "val1"));
-        assertTrue(namedData.replace("key1", "val2"));
-        assertEquals("val2", grid().cache(CACHE_NAME).get("key1"));
-
-        assertFalse(namedData.replaceAsync("key2", "val1").get());
-        assertTrue(grid().cache(CACHE_NAME).putx("key2", "val1"));
-        assertTrue(namedData.replaceAsync("key2", "val2").get());
-        assertEquals("val2", grid().cache(CACHE_NAME).get("key2"));
-
-        grid().cache(CACHE_NAME).removeAll(F.asList("key1", "key2"));
-
-        assertFalse(namedData.replaceAsync("key1", "val1").get());
-        assertTrue(grid().cache(CACHE_NAME).putx("key1", "val1"));
-        assertTrue(namedData.replaceAsync("key1", "val2").get());
-        assertEquals("val2", grid().cache(CACHE_NAME).get("key1"));
-
-        assertFalse(namedData.replaceAsync("key2", "val1").get());
-        assertTrue(grid().cache(CACHE_NAME).putx("key2", "val1"));
-        assertTrue(namedData.replaceAsync("key2", "val2").get());
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings("NullableProblems")
-    public void testCompareAndSet() throws Exception {
-        GridClientData[] datas = new GridClientData[] {
-            client.data(),
-            client.data(CACHE_NAME)
-        };
-
-        assertNotNull(datas[0]);
-        assertNotNull(datas[1]);
-
-        GridCache[] caches = new GridCache[] {
-            grid().cache(null),
-            grid().cache(CACHE_NAME)
-        };
-
-        for (int i = 0; i < datas.length; i++) {
-            GridClientData data = datas[i];
-            GridCache<String, String> cache = (GridCache<String, 
String>)caches[i];
-
-            assertFalse(data.cas("key", null, null));
-            assertTrue(cache.putx("key", "val"));
-            assertTrue(data.cas("key", null, null));
-            assertNull(cache.get("key"));
-
-            assertFalse(data.cas("key", null, "val"));
-            assertTrue(cache.putx("key", "val"));
-            assertFalse(data.cas("key", null, "wrongVal"));
-            assertEquals("val", cache.get("key"));
-            assertTrue(data.cas("key", null, "val"));
-            assertNull(cache.get("key"));
-
-            assertTrue(data.cas("key", "val", null));
-            assertEquals("val", cache.get("key"));
-            assertFalse(data.cas("key", "newVal", null));
-            assertEquals("val", cache.get("key"));
-            assertTrue(cache.removex("key"));
-
-            assertFalse(data.cas("key", "val1", "val2"));
-            assertTrue(cache.putx("key", "val2"));
-            assertFalse(data.cas("key", "val1", "wrongVal"));
-            assertEquals("val2", cache.get("key"));
-            assertTrue(data.cas("key", "val1", "val2"));
-            assertEquals("val1", cache.get("key"));
-            assertTrue(cache.removex("key"));
-
-            assertFalse(data.casAsync("key", null, null).get());
-            assertTrue(cache.putx("key", "val"));
-            assertTrue(data.casAsync("key", null, null).get());
-            assertNull(cache.get("key"));
-
-            assertFalse(data.casAsync("key", null, "val").get());
-            assertTrue(cache.putx("key", "val"));
-            assertFalse(data.casAsync("key", null, "wrongVal").get());
-            assertEquals("val", cache.get("key"));
-            assertTrue(data.casAsync("key", null, "val").get());
-            assertNull(cache.get("key"));
-
-            assertTrue(data.casAsync("key", "val", null).get());
-            assertEquals("val", cache.get("key"));
-            assertFalse(data.casAsync("key", "newVal", null).get());
-            assertEquals("val", cache.get("key"));
-            assertTrue(cache.removex("key"));
-
-            assertFalse(data.casAsync("key", "val1", "val2").get());
-            assertTrue(cache.putx("key", "val2"));
-            assertFalse(data.casAsync("key", "val1", "wrongVal").get());
-            assertEquals("val2", cache.get("key"));
-            assertTrue(data.casAsync("key", "val1", "val2").get());
-            assertEquals("val1", cache.get("key"));
-            assertTrue(cache.removex("key"));
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testMetrics() throws Exception {
-        GridClientData dfltData = client.data();
-        GridClientData namedData = client.data(CACHE_NAME);
-
-        grid().cache(null).mxBean().clear();
-        grid().cache(CACHE_NAME).mxBean().clear();
-
-        grid().cache(null).putx("key1", "val1");
-        grid().cache(null).putx("key2", "val2");
-        grid().cache(null).putx("key2", "val3");
-
-        assertEquals("val1", grid().cache(null).get("key1"));
-        assertEquals("val3", grid().cache(null).get("key2"));
-        assertEquals("val3", grid().cache(null).get("key2"));
-
-        grid().cache(CACHE_NAME).putx("key1", "val1");
-        grid().cache(CACHE_NAME).putx("key2", "val2");
-        grid().cache(CACHE_NAME).putx("key2", "val3");
-
-        assertEquals("val1", grid().cache(CACHE_NAME).get("key1"));
-        assertEquals("val3", grid().cache(CACHE_NAME).get("key2"));
-        assertEquals("val3", grid().cache(CACHE_NAME).get("key2"));
-
-        GridClientDataMetrics m = dfltData.metrics();
-
-        CacheMetrics metrics = grid().cache(null).metrics();
-
-        assertNotNull(m);
-        assertEquals(metrics.getCacheGets(), m.reads());
-        assertEquals(metrics.getCachePuts(), m.writes());
-
-        m = dfltData.metricsAsync().get();
-
-        assertNotNull(m);
-        assertEquals(metrics.getCacheGets(), m.reads());
-        assertEquals(metrics.getCachePuts(), m.writes());
-
-        m = namedData.metrics();
-
-        metrics = grid().cache(CACHE_NAME).metrics();
-
-        assertNotNull(m);
-        assertEquals(metrics.getCacheGets(), m.reads());
-        assertEquals(metrics.getCachePuts(), m.writes());
-
-        m = namedData.metricsAsync().get();
-
-        assertNotNull(m);
-        assertEquals(metrics.getCacheGets(), m.reads());
-        assertEquals(metrics.getCachePuts(), m.writes());
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testAppendPrepend() throws Exception {
-        List<GridClientData> datas = Arrays.asList(client.data(), 
client.data(CACHE_NAME));
-
-        String key = UUID.randomUUID().toString();
-
-        for (GridClientData data : datas) {
-            assertNotNull(data);
-
-            data.remove(key);
-
-            assertFalse(data.append(key, ".suffix"));
-            assertTrue(data.put(key, "val"));
-            assertTrue(data.append(key, ".suffix"));
-            assertEquals("val.suffix", data.get(key));
-            assertTrue(data.remove(key));
-            assertFalse(data.append(key, ".suffix"));
-
-            data.remove(key);
-
-            assertFalse(data.prepend(key, "postfix."));
-            assertTrue(data.put(key, "val"));
-            assertTrue(data.prepend(key, "postfix."));
-            assertEquals("postfix.val", data.get(key));
-            assertTrue(data.remove(key));
-            assertFalse(data.prepend(key, "postfix."));
-        }
-
-        // TCP protocol supports work with collections.
-        if (protocol() != GridClientProtocol.TCP)
-            return;
-
-        List<String> origList = new ArrayList<>(Arrays.asList("1", "2")); // 
This list should be modifiable.
-        List<String> newList = Arrays.asList("3", "4");
-
-        Map<String, String> origMap = F.asMap("1", "a1", "2", "a2");
-        Map<String, String> newMap = F.asMap("2", "b2", "3", "b3");
-
-        for (GridClientData data : datas) {
-            assertNotNull(data);
-
-            data.remove(key);
-
-            assertFalse(data.append(key, newList));
-            assertTrue(data.put(key, origList));
-            assertTrue(data.append(key, newList));
-            assertEquals(Arrays.asList("1", "2", "3", "4"), data.get(key));
-
-            data.remove(key);
-
-            assertFalse(data.prepend(key, newList));
-            assertTrue(data.put(key, origList));
-            assertTrue(data.prepend(key, newList));
-            assertEquals(Arrays.asList("3", "4", "1", "2"), data.get(key));
-
-            data.remove(key);
-
-            assertFalse(data.append(key, newMap));
-            assertTrue(data.put(key, origMap));
-            assertTrue(data.append(key, newMap));
-            assertEquals(F.asMap("1", "a1", "2", "b2", "3", "b3"), 
data.get(key));
-
-            data.remove(key);
-
-            assertFalse(data.prepend(key, newMap));
-            assertTrue(data.put(key, origMap));
-            assertTrue(data.prepend(key, newMap));
-            assertEquals(F.asMap("1", "a1", "2", "a2", "3", "b3"), 
data.get(key));
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testExecute() throws Exception {
-        String taskName = getTaskName();
-        Object taskArg = getTaskArgument();
-
-        GridClientCompute compute = client.compute();
-
-        Assert.assertEquals(17, compute.execute(taskName, taskArg));
-        Assert.assertEquals(17, compute.executeAsync(taskName, taskArg).get());
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testNode() throws Exception {
-        GridClientCompute compute = client.compute();
-
-        assertNull(compute.refreshNode(UUID.randomUUID(), true, false));
-        assertNull(compute.refreshNode(UUID.randomUUID(), false, false));
-
-        GridClientNode node = compute.refreshNode(grid().localNode().id(), 
true, false);
-
-        assertNotNull(node);
-        assertFalse(node.attributes().isEmpty());
-        assertTrue(node.metrics() == null);
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-        assertEquals(4, node.caches().size());
-
-        Integer replica = 
grid().localNode().attribute(CacheConsistentHashAffinityFunction.DFLT_REPLICA_COUNT_ATTR_NAME);
-
-        if (replica == null)
-            replica = CacheConsistentHashAffinityFunction.DFLT_REPLICA_COUNT;
-
-        assertEquals((int)replica, node.replicaCount());
-
-        Map<String, GridClientCacheMode> caches = node.caches();
-
-        for (Map.Entry<String, GridClientCacheMode> e : caches.entrySet()) {
-            if (e.getKey() == null || CACHE_NAME.equals(e.getKey()))
-                assertEquals(GridClientCacheMode.LOCAL, e.getValue());
-            else if ("replicated".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.REPLICATED, e.getValue());
-            else if ("partitioned".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.PARTITIONED, e.getValue());
-            else
-                fail("Unexpected cache name: " + e.getKey());
-        }
-
-        node = compute.refreshNode(grid().localNode().id(), false, false);
-
-        assertNotNull(node);
-        assertTrue(node.attributes().isEmpty());
-        assertTrue(node.metrics() == null);
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-        assertEquals(4, node.caches().size());
-
-        caches = node.caches();
-
-        for (Map.Entry<String, GridClientCacheMode> e : caches.entrySet()) {
-            if (e.getKey() == null || CACHE_NAME.equals(e.getKey()))
-                assertEquals(GridClientCacheMode.LOCAL, e.getValue());
-            else if ("replicated".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.REPLICATED, e.getValue());
-            else if ("partitioned".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.PARTITIONED, e.getValue());
-            else
-                fail("Unexpected cache name: " + e.getKey());
-        }
-
-        node = compute.refreshNode(grid().localNode().id(), false, true);
-
-        assertNotNull(node);
-        assertTrue(node.attributes().isEmpty());
-        assertFalse(node.metrics() == null);
-        assertTrue(node.metrics().getCurrentActiveJobs() != -1);
-        assertTrue(node.metrics().getCurrentIdleTime() != -1);
-        assertTrue(node.metrics().getLastUpdateTime() != -1);
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-        assertEquals(4, node.caches().size());
-
-        caches = node.caches();
-
-        for (Map.Entry<String, GridClientCacheMode> e : caches.entrySet()) {
-            if (e.getKey() == null || CACHE_NAME.equals(e.getKey()))
-                assertEquals(GridClientCacheMode.LOCAL, e.getValue());
-            else if ("replicated".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.REPLICATED, e.getValue());
-            else if ("partitioned".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.PARTITIONED, e.getValue());
-            else
-                fail("Unexpected cache name: " + e.getKey());
-        }
-
-        assertNull(compute.refreshNodeAsync(UUID.randomUUID(), true, 
false).get());
-        assertNull(compute.refreshNodeAsync(UUID.randomUUID(), false, 
false).get());
-
-        node = compute.refreshNodeAsync(grid().localNode().id(), true, 
false).get();
-
-        assertNotNull(node);
-        assertFalse(node.attributes().isEmpty());
-        assertTrue(node.metrics() == null);
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-        assertEquals(4, node.caches().size());
-
-        caches = node.caches();
-
-        for (Map.Entry<String, GridClientCacheMode> e : caches.entrySet()) {
-            if (e.getKey() == null || CACHE_NAME.equals(e.getKey()))
-                assertEquals(GridClientCacheMode.LOCAL, e.getValue());
-            else if ("replicated".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.REPLICATED, e.getValue());
-            else if ("partitioned".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.PARTITIONED, e.getValue());
-            else
-                fail("Unexpected cache name: " + e.getKey());
-        }
-
-        node = compute.refreshNodeAsync(grid().localNode().id(), false, 
false).get();
-
-        assertNotNull(node);
-        assertTrue(node.attributes().isEmpty());
-        assertTrue(node.metrics() == null);
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-        assertEquals(4, node.caches().size());
-
-        caches = node.caches();
-
-        for (Map.Entry<String, GridClientCacheMode> e : caches.entrySet()) {
-            if (e.getKey() == null || CACHE_NAME.equals(e.getKey()))
-                assertEquals(GridClientCacheMode.LOCAL, e.getValue());
-            else if ("replicated".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.REPLICATED, e.getValue());
-            else if ("partitioned".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.PARTITIONED, e.getValue());
-            else
-                fail("Unexpected cache name: " + e.getKey());
-        }
-
-        node = compute.refreshNodeAsync(grid().localNode().id(), false, 
true).get();
-
-        assertNotNull(node);
-        assertTrue(node.attributes().isEmpty());
-        assertFalse(node.metrics() == null);
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-        assertEquals(4, node.caches().size());
-
-        caches = node.caches();
-
-        for (Map.Entry<String, GridClientCacheMode> e : caches.entrySet()) {
-            if (e.getKey() == null || CACHE_NAME.equals(e.getKey()))
-                assertEquals(GridClientCacheMode.LOCAL, e.getValue());
-            else if ("replicated".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.REPLICATED, e.getValue());
-            else if ("partitioned".equals(e.getKey()))
-                assertEquals(GridClientCacheMode.PARTITIONED, e.getValue());
-            else
-                fail("Unexpected cache name: " + e.getKey());
-        }
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testTopology() throws Exception {
-        GridClientCompute compute = client.compute();
-
-        List<GridClientNode> top = compute.refreshTopology(true, true);
-
-        assertNotNull(top);
-        assertEquals(1, top.size());
-
-        GridClientNode node = F.first(top);
-
-        assertNotNull(node);
-        assertFalse(node.attributes().isEmpty());
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-        assertNotNull(node.metrics());
-
-        top = compute.refreshTopology(false, false);
-
-        node = F.first(top);
-
-        assertNotNull(top);
-        assertEquals(1, top.size());
-        assertNull(node.metrics());
-        assertTrue(node.attributes().isEmpty());
-
-        node = F.first(top);
-
-        assertNotNull(node);
-        assertTrue(node.attributes().isEmpty());
-        assertNull(node.metrics());
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-
-        top = compute.refreshTopologyAsync(true, true).get();
-
-        assertNotNull(top);
-        assertEquals(1, top.size());
-
-        node = F.first(top);
-
-        assertNotNull(node);
-        assertFalse(node.attributes().isEmpty());
-        assertNotNull(node.metrics());
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-
-        top = compute.refreshTopologyAsync(false, false).get();
-
-        assertNotNull(top);
-        assertEquals(1, top.size());
-
-        node = F.first(top);
-
-        assertNotNull(node);
-        assertTrue(node.attributes().isEmpty());
-        assertNull(node.metrics());
-        assertNotNull(node.tcpAddresses());
-        assertEquals(grid().localNode().id(), node.nodeId());
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings("ThrowableResultOfMethodCallIgnored")
-    public void testLog() throws Exception {
-        final GridClientCompute compute = client.compute();
-
-        /* Usually this log file is created by log4j, but some times it 
doesn't exists. */
-        new File(U.getGridGainHome(), "work/log/gridgain.log").createNewFile();
-
-        List<String> log = compute.log(6, 7);
-        assertNotNull(log);
-
-        log = compute.log(-7, -6);
-        assertNotNull(log);
-
-        log = compute.log(-6, -7);
-        assertNotNull(log);
-        assertTrue(log.isEmpty());
-
-        String path = "work/log/gridgain.log." + System.currentTimeMillis();
-
-        File file = new File(U.getGridGainHome(), path);
-
-        assert !file.exists();
-
-        FileWriter writer = new FileWriter(file);
-
-        String sep = System.getProperty("line.separator");
-
-        writer.write("Line 1" + sep);
-        writer.write(sep);
-        writer.write("Line 2" + sep);
-        writer.write("Line 3" + sep);
-
-        writer.flush();
-        writer.close();
-
-        log = compute.log(path, -1, -1);
-        assertNotNull(log);
-        assertEquals(1, log.size());
-        assertEquals("Line 3", log.get(0));
-
-        // Indexing from 0.
-        log = compute.log(path, 2, 3);
-        assertNotNull(log);
-        assertEquals(2, log.size());
-        assertEquals("Line 2", log.get(0));
-        assertEquals("Line 3", log.get(1));
-
-        // Backward reading.
-        log = compute.log(path, -3, -1);
-        assertNotNull(log);
-        assertEquals(3, log.size());
-        assertEquals("", log.get(0));
-        assertEquals("Line 2", log.get(1));
-        assertEquals("Line 3", log.get(2));
-
-        log = compute.log(path, -4, -3);
-        assertNotNull(log);
-        assertEquals(2, log.size());
-        assertEquals("Line 1", log.get(0));
-        assertEquals("", log.get(1));
-
-        log = compute.log(path, -5, -8);
-        assertNotNull(log);
-        assertEquals(0, log.size());
-
-        assert file.delete();
-
-        log = compute.log(TEST_LOG_PATH, -9, -5);
-        assertNotNull(log);
-        assertEquals(5, log.size());
-
-        log = compute.log(TEST_LOG_PATH, -1, -1);
-        assertNotNull(log);
-        assertEquals(1, log.size());
-        assertEquals("[14:23:34,336][INFO 
][main][GridTaskContinuousMapperSelfTest] >>> Stopping test: " +
-            "testContinuousMapperNegative in 2633 ms <<<",
-            log.get(0));
-
-        log = compute.log(TEST_LOG_PATH, -13641, -13640);
-        assertNotNull(log);
-        assertEquals(1, log.size());
-        assertEquals("[14:14:22,515][INFO ][main][GridListenActorSelfTest] ", 
log.get(0));
-
-        assertThrows(
-            log(),
-            new Callable<Object>() {
-                @Override public Object call() throws Exception {
-                    compute.log("wrong/path", -1, -1);
-
-                    return null;
-                }
-            },
-            GridClientException.class,
-            null
-        );
-
-        assertThrows(
-            log(),
-            new Callable<Object>() {
-                @Override public Object call() throws Exception {
-                    new File(U.getGridGainHome(), 
"work/security.log").createNewFile();
-
-                    compute.log("work/log/../security.log", -1, -1);
-
-                    return null;
-                }
-            },
-            GridClientException.class,
-            null
-        );
-    }
-
-    /**
-     * Test if all user objects passed interception.
-     *
-     * @throws Exception If failed.
-     */
-    public void testInterception() throws Exception {
-        grid().cache(null).put("rem1", "rem1");
-
-        GridClientData data = client.data();
-
-        assertNotNull(data);
-
-        overwriteIntercepted = true;
-
-        data.put("key1", "val1");
-        data.putAll(F.asMap("key2", "val2", "key3", "val3"));
-        data.remove("rem1");
-        data.replace("key1", "nval1");
-
-        client.compute().execute(getTaskName(), getTaskArgument());
-
-        for (Object obj : Arrays.asList(
-            "rem1", "rem1", "key1", "key2", "key2", "val2", "key3", "val3", 
"rem1", "key1", "nval1",
-            getTaskArgument())) {
-
-            assert INTERCEPTED_OBJECTS.containsKey(obj);
-        }
-
-        assert ("nval1" + 
INTERCEPTED_SUF).equals(grid().cache(null).get("key1" + INTERCEPTED_SUF));
-        assert ("val2" + INTERCEPTED_SUF).equals(grid().cache(null).get("key2" 
+ INTERCEPTED_SUF));
-        assert "rem1".equals(grid().cache(null).get("rem1"));
-
-        overwriteIntercepted = false;
-    }
-
-    /**
-     * Test task.
-     */
-    private static class TestTask extends 
ComputeTaskSplitAdapter<List<Object>, Integer> {
-        /** {@inheritDoc} */
-        @Override protected Collection<? extends ComputeJob> split(int 
gridSize, List<Object> list)
-            throws IgniteCheckedException {
-            Collection<ComputeJobAdapter> jobs = new ArrayList<>();
-
-            if (list != null)
-                for (final Object val : list)
-                    jobs.add(new ComputeJobAdapter() {
-                        @Override public Object execute() {
-                            try {
-                                Thread.sleep(1);
-                            }
-                            catch (InterruptedException ignored) {
-                                Thread.currentThread().interrupt();
-                            }
-
-                            return val == null ? 0 : val.toString().length();
-                        }
-                    });
-
-            return jobs;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Integer reduce(List<ComputeJobResult> results) throws 
IgniteCheckedException {
-            int sum = 0;
-
-            for (ComputeJobResult res : results)
-                sum += res.<Integer>getData();
-
-            return sum;
-        }
-    }
-
-    /**
-     * Test task that sleeps 5 seconds.
-     */
-    private static class SleepTestTask extends 
ComputeTaskSplitAdapter<List<Object>, Integer> {
-        /** {@inheritDoc} */
-        @Override protected Collection<? extends ComputeJob> split(int 
gridSize, List<Object> list)
-            throws IgniteCheckedException {
-            Collection<ComputeJobAdapter> jobs = new ArrayList<>();
-
-            if (list != null)
-                for (final Object val : list)
-                    jobs.add(new ComputeJobAdapter() {
-                        @Override public Object execute() {
-                            try {
-                                Thread.sleep(5000);
-
-                                return val == null ? 0 : 
val.toString().length();
-                            }
-                            catch (InterruptedException ignored) {
-                                return -1;
-                            }
-                        }
-                    });
-
-            return jobs;
-        }
-
-        /** {@inheritDoc} */
-        @Override public Integer reduce(List<ComputeJobResult> results) throws 
IgniteCheckedException {
-            int sum = 0;
-
-            for (ComputeJobResult res : results)
-                sum += res.<Integer>getData();
-
-            return sum;
-        }
-    }
-
-    /**
-     * Http test task with restriction to string arguments only.
-     */
-    protected static class HttpTestTask extends 
ComputeTaskSplitAdapter<String, Integer> {
-        private final TestTask delegate = new TestTask();
-
-        /** {@inheritDoc} */
-        @SuppressWarnings("unchecked")
-        @Override protected Collection<? extends ComputeJob> split(int 
gridSize, String arg) throws IgniteCheckedException {
-            if (arg.endsWith("intercepted"))
-                arg = arg.substring(0, arg.length() - 11);
-
-            JSON json = JSONSerializer.toJSON(arg);
-
-            List list = json.isArray() ? JSONArray.toList((JSONArray)json, 
String.class, new JsonConfig()) : null;
-
-            return delegate.split(gridSize, list);
-        }
-
-        /** {@inheritDoc} */
-        @Override public Integer reduce(List<ComputeJobResult> results) throws 
IgniteCheckedException {
-            return delegate.reduce(results);
-        }
-    }
-
-    /**
-     * Http wrapper for sleep task.
-     */
-    protected static class SleepHttpTestTask extends 
ComputeTaskSplitAdapter<String, Integer> {
-        private final SleepTestTask delegate = new SleepTestTask();
-
-        /** {@inheritDoc} */
-        @SuppressWarnings("unchecked")
-        @Override protected Collection<? extends ComputeJob> split(int 
gridSize, String arg) throws IgniteCheckedException {
-            JSON json = JSONSerializer.toJSON(arg);
-
-            List list = json.isArray() ? JSONArray.toList((JSONArray)json, 
String.class, new JsonConfig()) : null;
-
-            return delegate.split(gridSize, list);
-        }
-
-        /** {@inheritDoc} */
-        @Override public Integer reduce(List<ComputeJobResult> results) throws 
IgniteCheckedException {
-            return delegate.reduce(results);
-        }
-    }
-
-    /**
-     * Simple HashMap based cache store emulation.
-     */
-    private static class HashMapStore extends CacheStoreAdapter<Object, 
Object> {
-        /** Map for cache store. */
-        private final Map<Object, Object> map = new HashMap<>();
-
-        /** {@inheritDoc} */
-        @Override public void loadCache(IgniteBiInClosure<Object, Object> clo, 
Object... args) {
-            for (Map.Entry e : map.entrySet()) {
-                clo.apply(e.getKey(), e.getValue());
-            }
-        }
-
-        /** {@inheritDoc} */
-        @Override public Object load(Object key) {
-            return map.get(key);
-        }
-
-        /** {@inheritDoc} */
-        @Override public void write(javax.cache.Cache.Entry<? extends Object, 
? extends Object> e) {
-            map.put(e.getKey(), e.getValue());
-        }
-
-        /** {@inheritDoc} */
-        @Override public void delete(Object key) {
-            map.remove(key);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientPreferDirectSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientPreferDirectSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientPreferDirectSelfTest.java
deleted file mode 100644
index b353bfa..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientPreferDirectSelfTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.*;
-import org.apache.ignite.client.*;
-import org.apache.ignite.compute.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.client.balancer.*;
-import org.apache.ignite.resources.*;
-import org.apache.ignite.spi.discovery.tcp.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.testframework.junits.common.*;
-
-import java.util.*;
-
-import static 
org.apache.ignite.client.integration.ClientAbstractMultiNodeSelfTest.*;
-
-/**
- *
- */
-public class ClientPreferDirectSelfTest extends GridCommonAbstractTest {
-    /** VM ip finder for TCP discovery. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new 
TcpDiscoveryVmIpFinder(true);
-
-    /** */
-    private static final int NODES_CNT = 6;
-
-    /** {@inheritDoc} */
-    @Override protected void beforeTestsStarted() throws Exception {
-        startGrids(NODES_CNT);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void afterTestsStopped() throws Exception {
-        info("Stopping grids.");
-
-        stopAllGrids();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected IgniteConfiguration getConfiguration(String gridName) 
throws Exception {
-        IgniteConfiguration c = super.getConfiguration(gridName);
-
-        TcpDiscoverySpi disco = new TcpDiscoverySpi();
-
-        disco.setIpFinder(IP_FINDER);
-
-        c.setDiscoverySpi(disco);
-
-        c.setLocalHost(HOST);
-
-        assert c.getClientConnectionConfiguration() == null;
-
-        ClientConnectionConfiguration clientCfg = new 
ClientConnectionConfiguration();
-
-        clientCfg.setRestTcpPort(REST_TCP_PORT_BASE);
-
-        c.setClientConnectionConfiguration(clientCfg);
-
-        return c;
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRandomBalancer() throws Exception {
-        GridClientRandomBalancer b = new GridClientRandomBalancer();
-
-        b.setPreferDirectNodes(true);
-
-        executeTest(b);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    public void testRoundRobinBalancer() throws Exception {
-        GridClientRoundRobinBalancer b = new GridClientRoundRobinBalancer();
-
-        b.setPreferDirectNodes(true);
-
-        executeTest(b);
-    }
-
-    /**
-     * @throws Exception If failed.
-     */
-    @SuppressWarnings("TypeMayBeWeakened")
-    private void executeTest(GridClientLoadBalancer b) throws Exception {
-        try (GridClient c = client(b)) {
-            Set<String> executions = new HashSet<>();
-
-            for (int i = 0; i < NODES_CNT * 10; i++)
-                executions.add(
-                    c.compute().<String>execute(TestTask.class.getName(), 
null));
-
-            assertEquals(NODES_CNT / 2, executions.size());
-
-            for (int i = 0; i < NODES_CNT / 2; i++)
-                executions.contains(grid(i).localNode().id().toString());
-        }
-    }
-
-    /**
-     * @param b Balancer.
-     * @return Client.
-     * @throws Exception If failed.
-     */
-    private GridClient client(GridClientLoadBalancer b) throws Exception {
-        GridClientConfiguration cfg = new GridClientConfiguration();
-
-        cfg.setBalancer(b);
-
-        cfg.setTopologyRefreshFrequency(TOP_REFRESH_FREQ);
-
-        Collection<String> rtrs = new ArrayList<>(3);
-
-        for (int i = 0; i < NODES_CNT / 2; i++)
-            rtrs.add(HOST + ':' + (REST_TCP_PORT_BASE + i));
-
-        cfg.setRouters(rtrs);
-
-        return GridClientFactory.start(cfg);
-    }
-
-    /**
-     * Test task. Returns Id of the node that has split the task,
-     */
-    private static class TestTask extends ComputeTaskSplitAdapter<Object, 
String> {
-        @IgniteInstanceResource
-        private Ignite ignite;
-
-        /** Count of tasks this job was split to. */
-        private int gridSize;
-
-        /** {@inheritDoc} */
-        @Override protected Collection<? extends ComputeJob> split(int 
gridSize, Object arg)
-            throws IgniteCheckedException {
-            Collection<ComputeJobAdapter> jobs = new ArrayList<>(gridSize);
-
-            this.gridSize = gridSize;
-
-            for (int i = 0; i < gridSize; i++) {
-                jobs.add(new ComputeJobAdapter() {
-                    @Override public Object execute() {
-                        try {
-                            Thread.sleep(100);
-                        }
-                        catch (InterruptedException ignored) {
-                            Thread.currentThread().interrupt();
-                        }
-
-                        return "OK";
-                    }
-                });
-            }
-
-            return jobs;
-        }
-
-        /** {@inheritDoc} */
-        @Override public String reduce(List<ComputeJobResult> results) throws 
IgniteCheckedException {
-            int sum = 0;
-
-            for (ComputeJobResult res : results) {
-                assertNotNull(res.getData());
-
-                sum += 1;
-            }
-
-            assert gridSize == sum;
-
-            return ignite.cluster().localNode().id().toString();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpConnectivitySelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpConnectivitySelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpConnectivitySelfTest.java
deleted file mode 100644
index 7b991ab..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpConnectivitySelfTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.*;
-import org.apache.ignite.configuration.*;
-import org.apache.ignite.internal.*;
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.util.typedef.*;
-import org.jetbrains.annotations.*;
-
-/**
- * Tests the REST client-server TCP connectivity with various configurations.
- */
-public class ClientTcpConnectivitySelfTest extends 
ClientAbstractConnectivitySelfTest {
-    /** {@inheritDoc} */
-    @Override protected Ignite startRestNode(String name, @Nullable String 
addr, @Nullable Integer port)
-        throws Exception {
-        IgniteConfiguration cfg = getConfiguration(name);
-
-        assert cfg.getClientConnectionConfiguration() == null;
-
-        ClientConnectionConfiguration clientCfg = new 
ClientConnectionConfiguration();
-
-        if (addr != null)
-            clientCfg.setRestTcpHost(addr);
-
-        if (port != null)
-            clientCfg.setRestTcpPort(port);
-
-        cfg.setClientConnectionConfiguration(clientCfg);
-
-        return G.start(cfg);
-    }
-
-    /** {@inheritDoc} */
-    @Override protected int defaultRestPort() {
-        return IgniteConfiguration.DFLT_TCP_PORT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String restAddressAttributeName() {
-        return GridNodeAttributes.ATTR_REST_TCP_ADDRS;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String restHostNameAttributeName() {
-        return GridNodeAttributes.ATTR_REST_TCP_HOST_NAMES;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String restPortAttributeName() {
-        return GridNodeAttributes.ATTR_REST_TCP_PORT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpDirectMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpDirectMultiNodeSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpDirectMultiNodeSelfTest.java
deleted file mode 100644
index 89f7b2f..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpDirectMultiNodeSelfTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.client.*;
-import org.apache.ignite.internal.client.*;
-
-import java.util.*;
-
-/**
- *
- */
-public class ClientTcpDirectMultiNodeSelfTest extends 
ClientAbstractMultiNodeSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String serverAddress() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridClientConfiguration clientConfiguration() throws 
GridClientException {
-        assert NODES_CNT > 3 : "Too few nodes to execute direct multinode 
test";
-
-        GridClientConfiguration cfg = super.clientConfiguration();
-
-        cfg.setServers(Collections.<String>emptySet());
-
-        Collection<String> srvs = new ArrayList<>(3);
-
-        for (int i = 0; i < NODES_CNT / 2; i++)
-            srvs.add(HOST + ':' + (REST_TCP_PORT_BASE + i));
-
-        cfg.setRouters(srvs);
-
-        return cfg;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpDirectSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpDirectSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpDirectSelfTest.java
deleted file mode 100644
index 563952e..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpDirectSelfTest.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.client.*;
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.client.ssl.*;
-
-import java.util.*;
-
-/**
- *
- */
-public class ClientTcpDirectSelfTest extends ClientAbstractSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String serverAddress() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean useSsl() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSslContextFactory sslContextFactory() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridClientConfiguration clientConfiguration() throws 
GridClientException {
-        GridClientConfiguration cfg = super.clientConfiguration();
-
-        cfg.setServers(Collections.<String>emptySet());
-        cfg.setRouters(Collections.singleton(HOST + ":" + BINARY_PORT));
-
-        return cfg;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpMultiNodeSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpMultiNodeSelfTest.java
deleted file mode 100644
index d65d5a1..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpMultiNodeSelfTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.internal.client.*;
-
-/**
- * Test for TCP binary rest protocol.
- */
-public class ClientTcpMultiNodeSelfTest extends 
ClientAbstractMultiNodeSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String serverAddress() {
-        return HOST + ":" + REST_TCP_PORT_BASE;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSelfTest.java
deleted file mode 100644
index 81fea72..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSelfTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.client.ssl.*;
-
-/**
- * Tests TCP protocol.
- */
-public class ClientTcpSelfTest extends ClientAbstractSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String serverAddress() {
-        return HOST + ":" + BINARY_PORT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean useSsl() {
-        return false;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSslContextFactory sslContextFactory() {
-        return null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslDirectMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslDirectMultiNodeSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslDirectMultiNodeSelfTest.java
deleted file mode 100644
index df3bb58..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslDirectMultiNodeSelfTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.client.*;
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.client.ssl.*;
-import org.apache.ignite.testframework.*;
-
-import java.util.*;
-
-/**
- *
- */
-public class ClientTcpSslDirectMultiNodeSelfTest extends 
ClientAbstractMultiNodeSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String serverAddress() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSslContextFactory sslContextFactory() {
-        return GridTestUtils.sslContextFactory();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridClientConfiguration clientConfiguration() throws 
GridClientException {
-        assert NODES_CNT > 3 : "Too few nodes to execute direct multinode 
test";
-
-        GridClientConfiguration cfg = super.clientConfiguration();
-
-        cfg.setServers(Collections.<String>emptySet());
-
-        Collection<String> srvs = new ArrayList<>(3);
-
-        for (int i = 0; i < NODES_CNT / 2; i++)
-            srvs.add(HOST + ':' + (REST_TCP_PORT_BASE + i));
-
-        cfg.setRouters(srvs);
-
-        return cfg;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslDirectSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslDirectSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslDirectSelfTest.java
deleted file mode 100644
index d49971a..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslDirectSelfTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.client.*;
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.client.ssl.*;
-import org.apache.ignite.testframework.*;
-
-import java.util.*;
-
-/**
- *
- */
-public class ClientTcpSslDirectSelfTest extends ClientAbstractSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String serverAddress() {
-        return null;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean useSsl() {
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSslContextFactory sslContextFactory() {
-        return GridTestUtils.sslContextFactory();
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridClientConfiguration clientConfiguration() throws 
GridClientException {
-        GridClientConfiguration cfg = super.clientConfiguration();
-
-        cfg.setServers(Collections.<String>emptySet());
-        cfg.setRouters(Collections.singleton(HOST + ":" + BINARY_PORT));
-
-        return cfg;
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslMultiNodeSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslMultiNodeSelfTest.java
deleted file mode 100644
index feeac8e..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslMultiNodeSelfTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.client.ssl.*;
-import org.apache.ignite.testframework.*;
-
-/**
- * Tests binary tcp protocol with SSL on multiple nodes.
- */
-public class ClientTcpSslMultiNodeSelfTest extends 
ClientAbstractMultiNodeSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String serverAddress() {
-        return HOST + ":" + REST_TCP_PORT_BASE;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSslContextFactory sslContextFactory() {
-        return GridTestUtils.sslContextFactory();
-    }
-}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/756034f3/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslSelfTest.java
 
b/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslSelfTest.java
deleted file mode 100644
index df5a52f..0000000
--- 
a/modules/clients/src/test/java/org/apache/ignite/client/integration/ClientTcpSslSelfTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.client.integration;
-
-import org.apache.ignite.internal.client.*;
-import org.apache.ignite.internal.client.ssl.*;
-import org.apache.ignite.testframework.*;
-
-/**
- * Tests TCP binary protocol with client when SSL is enabled.
- */
-public class ClientTcpSslSelfTest extends ClientAbstractSelfTest {
-    /** {@inheritDoc} */
-    @Override protected GridClientProtocol protocol() {
-        return GridClientProtocol.TCP;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected String serverAddress() {
-        return HOST + ":" + BINARY_PORT;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected boolean useSsl() {
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected GridSslContextFactory sslContextFactory() {
-        return GridTestUtils.sslContextFactory();
-    }
-}

Reply via email to