You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/05/18 11:14:20 UTC

[06/13] incubator-ignite git commit: ignite-471: revert 8a6dd007d79e6bd62fb288f1c38310860949ca45

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
index 529bd23..dd3ce27 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheFailoverTestSuite.java
@@ -54,11 +54,6 @@ public class IgniteCacheFailoverTestSuite extends TestSuite {
         suite.addTestSuite(GridCacheAtomicPrimaryWriteOrderFailoverSelfTest.class);
         suite.addTestSuite(GridCacheAtomicReplicatedFailoverSelfTest.class);
 
-        // TODO IGNITE-157.
-        // suite.addTestSuite(GridCachePartitionedFailoverSelfTest.class);
-        // suite.addTestSuite(GridCacheColocatedFailoverSelfTest.class);
-        // suite.addTestSuite(GridCacheReplicatedFailoverSelfTest.class);
-
         suite.addTestSuite(IgniteCacheAtomicNodeJoinTest.class);
         suite.addTestSuite(IgniteCacheTxNodeJoinTest.class);
         suite.addTestSuite(IgniteCacheTxFairAffinityNodeJoinTest.class);
@@ -66,6 +61,11 @@ public class IgniteCacheFailoverTestSuite extends TestSuite {
         suite.addTestSuite(IgniteCacheTxNearDisabledPutGetRestartTest.class);
         suite.addTestSuite(IgniteCacheTxNearDisabledFairAffinityPutGetRestartTest.class);
 
+        // TODO IGNITE-882.
+        //suite.addTestSuite(GridCachePartitionedFailoverSelfTest.class);
+        //suite.addTestSuite(GridCacheColocatedFailoverSelfTest.class);
+        //suite.addTestSuite(GridCacheReplicatedFailoverSelfTest.class);
+
         return suite;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java
index a449cfc..24945dd 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheRestartTestSuite.java
@@ -35,10 +35,10 @@ public class IgniteCacheRestartTestSuite extends TestSuite {
 
         suite.addTestSuite(GridCachePartitionedTxSalvageSelfTest.class);
 
-        // TODO: IGNITE-157.
-        // suite.addTestSuite(GridCachePartitionedNodeRestartTest.class);
-        // suite.addTestSuite(GridCachePartitionedOptimisticTxNodeRestartTest.class);
-        // suite.addTestSuite(GridCacheReplicatedNodeRestartSelfTest.class);
+        // TODO IGNITE-882.
+        //suite.addTestSuite(GridCachePartitionedNodeRestartTest.class);
+        //suite.addTestSuite(GridCachePartitionedOptimisticTxNodeRestartTest.class);
+        //suite.addTestSuite(GridCacheReplicatedNodeRestartSelfTest.class);
 
         suite.addTestSuite(IgniteCacheAtomicNodeRestartTest.class);
         // suite.addTestSuite(IgniteCacheAtomicReplicatedNodeRestartSelfTest.class); // TODO IGNITE-747

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
index dfd88a8..5738778 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite2.java
@@ -58,6 +58,7 @@ public class IgniteCacheTestSuite2 extends TestSuite {
         suite.addTestSuite(GridCachePartitionedGetSelfTest.class);
         suite.addTest(new TestSuite(GridCachePartitionedBasicApiTest.class));
         suite.addTest(new TestSuite(GridCacheNearMultiGetSelfTest.class));
+        suite.addTest(new TestSuite(NoneRebalanceModeSelfTest.class));
         suite.addTest(new TestSuite(GridCacheNearJobExecutionSelfTest.class));
         suite.addTest(new TestSuite(GridCacheNearOneNodeSelfTest.class));
         suite.addTest(new TestSuite(GridCacheNearMultiNodeSelfTest.class));
@@ -76,6 +77,7 @@ public class IgniteCacheTestSuite2 extends TestSuite {
         suite.addTest(new TestSuite(GridCachePartitionedNearDisabledBasicStoreMultiNodeSelfTest.class));
         suite.addTest(new TestSuite(GridCachePartitionedEventSelfTest.class));
         suite.addTest(new TestSuite(GridCachePartitionedLockSelfTest.class));
+        suite.addTest(new TestSuite(GridCachePartitionedNearDisabledLockSelfTest.class));
         suite.addTest(new TestSuite(GridCachePartitionedMultiNodeLockSelfTest.class));
         suite.addTest(new TestSuite(GridCachePartitionedMultiNodeSelfTest.class));
         suite.addTest(new TestSuite(GridCachePartitionedMultiThreadedPutGetSelfTest.class));

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
index 9394693..c2b56ca 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite3.java
@@ -135,6 +135,8 @@ public class IgniteCacheTestSuite3 extends TestSuite {
         // Cache interceptor tests.
         suite.addTest(IgniteCacheInterceptorSelfTestSuite.suite());
 
+        suite.addTestSuite(IgniteTxGetAfterStopTest.class);
+
         return suite;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
index f7272d4..aaf7e5b 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
@@ -126,6 +126,10 @@ public class IgniteCacheTestSuite4 extends TestSuite {
 
         suite.addTestSuite(CacheNoValueClassOnServerNodeTest.class);
 
+        suite.addTestSuite(CacheRemoveAllSelfTest.class);
+
+        suite.addTestSuite(CacheOffheapMapEntrySelfTest.class);
+
         return suite;
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStreamTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStreamTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStreamTestSuite.java
new file mode 100644
index 0000000..61be976
--- /dev/null
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteStreamTestSuite.java
@@ -0,0 +1,39 @@
+/*
+ * 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.testsuites;
+
+import org.apache.ignite.stream.socket.*;
+
+import junit.framework.*;
+
+/**
+ * Stream test suite.
+ */
+public class IgniteStreamTestSuite extends TestSuite {
+    /**
+     * @return Stream tests suite.
+     * @throws Exception If failed.
+     */
+    public static TestSuite suite() throws Exception {
+        TestSuite suite = new TestSuite("Ignite Stream Test Suite");
+
+        suite.addTest(new TestSuite(SocketStreamerSelfTest.class));
+
+        return suite;
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
index 941b06e..32cd038 100644
--- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
+++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteUtilSelfTestSuite.java
@@ -67,6 +67,7 @@ public class IgniteUtilSelfTestSuite extends TestSuite {
         suite.addTestSuite(GridNioSelfTest.class);
         suite.addTestSuite(GridNioFilterChainSelfTest.class);
         suite.addTestSuite(GridNioSslSelfTest.class);
+        suite.addTestSuite(GridNioDelimitedBufferTest.class);
 
         return suite;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffheapIndexGetSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffheapIndexGetSelfTest.java b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffheapIndexGetSelfTest.java
new file mode 100644
index 0000000..4e40040
--- /dev/null
+++ b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheOffheapIndexGetSelfTest.java
@@ -0,0 +1,111 @@
+/*
+ * 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.internal.processors.cache;
+
+import org.apache.ignite.*;
+import org.apache.ignite.configuration.*;
+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.testframework.junits.common.*;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.*;
+import static org.apache.ignite.cache.CacheMemoryMode.*;
+import static org.apache.ignite.cache.CacheMode.*;
+import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
+import static org.apache.ignite.configuration.DeploymentMode.*;
+
+/**
+ * Tests off heap storage when both offheaped and swapped entries exists.
+ */
+public class GridCacheOffheapIndexGetSelfTest extends GridCommonAbstractTest {
+    /** */
+    private static final long OFFHEAP_MEM = 10L * 1024L;
+
+    /** */
+    private final TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(gridName);
+
+        TcpDiscoverySpi disco = new TcpDiscoverySpi();
+
+        disco.setIpFinder(ipFinder);
+
+        cfg.setDiscoverySpi(disco);
+
+        cfg.setNetworkTimeout(2000);
+
+        cfg.setSwapSpaceSpi(new FileSwapSpaceSpi());
+
+        CacheConfiguration cacheCfg = defaultCacheConfiguration();
+
+        cacheCfg.setWriteSynchronizationMode(FULL_SYNC);
+        cacheCfg.setSwapEnabled(true);
+        cacheCfg.setCacheMode(PARTITIONED);
+        cacheCfg.setBackups(1);
+        cacheCfg.setOffHeapMaxMemory(OFFHEAP_MEM);
+        cacheCfg.setEvictSynchronized(true);
+        cacheCfg.setEvictSynchronizedKeyBufferSize(1);
+        cacheCfg.setAtomicityMode(TRANSACTIONAL);
+        cacheCfg.setMemoryMode(OFFHEAP_TIERED);
+        cacheCfg.setEvictionPolicy(null);
+        cacheCfg.setOffHeapMaxMemory(OFFHEAP_MEM);
+        cacheCfg.setIndexedTypes(Long.class, Long.class);
+
+        cfg.setCacheConfiguration(cacheCfg);
+
+        cfg.setDeploymentMode(SHARED);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        startGrids(2);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        stopAllGrids();
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        grid(0).cache(null).clear();
+    }
+
+    /**
+     * Tests behavior on offheaped entries.
+     *
+     * @throws Exception If failed.
+     */
+    public void testGet() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-873");
+
+        IgniteCache<Long, Long> cache = grid(0).cache(null);
+
+        for (long i = 0; i < 100; i++)
+            cache.put(i, i);
+
+        for (long i = 0; i < 100; i++)
+            assertEquals((Long)i, cache.get(i));
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheWithIndexingTestSuite.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheWithIndexingTestSuite.java b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheWithIndexingTestSuite.java
index a2ccc82..ae45120 100644
--- a/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheWithIndexingTestSuite.java
+++ b/modules/indexing/src/test/java/org/apache/ignite/testsuites/IgniteCacheWithIndexingTestSuite.java
@@ -46,6 +46,8 @@ public class IgniteCacheWithIndexingTestSuite extends TestSuite {
         suite.addTestSuite(CacheTtlOnheapAtomicLocalSelfTest.class);
         suite.addTestSuite(CacheTtlOnheapAtomicPartitionedSelfTest.class);
 
+        suite.addTestSuite(GridCacheOffheapIndexGetSelfTest.class);
+
         suite.addTestSuite(CacheConfigurationP2PTest.class);
 
         return suite;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java
----------------------------------------------------------------------
diff --git a/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java b/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java
index 56bd676..9af29d6 100644
--- a/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java
+++ b/modules/jta/src/main/java/org/apache/ignite/internal/processors/cache/jta/CacheJtaManager.java
@@ -85,9 +85,7 @@ public class CacheJtaManager extends CacheJtaManagerAdapter {
                                 tCfg.getDefaultTxIsolation(),
                                 tCfg.getDefaultTxTimeout(),
                                 /*store enabled*/true,
-                                /*tx size*/0,
-                                /*group lock keys*/null,
-                                /*partition lock*/false
+                                /*tx size*/0
                             );
                         }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheQueriesSpec.scala
----------------------------------------------------------------------
diff --git a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheQueriesSpec.scala b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheQueriesSpec.scala
index 8d91fdc..2a11e5e 100644
--- a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheQueriesSpec.scala
+++ b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheQueriesSpec.scala
@@ -31,7 +31,7 @@ import scala.collection.JavaConversions._
  * Tests for Scalar cache queries API.
  */
 @RunWith(classOf[JUnitRunner])
-class ScalarCacheQueriesSpec extends FlatSpec with ShouldMatchers with BeforeAndAfterAll {
+class ScalarCacheQueriesSpec extends FunSpec with ShouldMatchers with BeforeAndAfterAll {
     /** Entries count. */
     private val ENTRY_CNT = 10
 
@@ -67,142 +67,142 @@ class ScalarCacheQueriesSpec extends FlatSpec with ShouldMatchers with BeforeAnd
         stop()
     }
 
-    behavior of "Scalar cache queries API"
+    describe("Scalar cache queries API") {
+        it("should correctly execute SCAN queries") {
+            var res = c.scan(classOf[ObjectValue], (k: Int, v: ObjectValue) => k > 5 && v.intVal < 8).getAll
 
-    it should "correctly execute SCAN queries" in {
-        var res = c.scan(classOf[ObjectValue], (k: Int, v: ObjectValue) => k > 5 && v.intVal < 8).getAll
+            assert(res.size == 2)
 
-        assert(res.size == 2)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey < 8 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey < 8 && t.getKey == t.getValue.intVal))
+            res = c.scan((k: Int, v: ObjectValue) => k > 5 && v.intVal < 8).getAll
 
-        res = c.scan((k: Int, v: ObjectValue) => k > 5 && v.intVal < 8).getAll
+            assert(res.size == 2)
 
-        assert(res.size == 2)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey < 8 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey < 8 && t.getKey == t.getValue.intVal))
+            res = c.scan(classOf[ObjectValue], (k: Int, v: ObjectValue) => k > 5 && v.intVal < 8).getAll
 
-        res = c.scan(classOf[ObjectValue], (k: Int, v: ObjectValue) => k > 5 && v.intVal < 8).getAll
+            assert(res.size == 2)
 
-        assert(res.size == 2)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey < 8 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey < 8 && t.getKey == t.getValue.intVal))
+            res = c.scan((k: Int, v: ObjectValue) => k > 5 && v.intVal < 8).getAll
 
-        res = c.scan((k: Int, v: ObjectValue) => k > 5 && v.intVal < 8).getAll
+            assert(res.size == 2)
 
-        assert(res.size == 2)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey < 8 && t.getKey == t.getValue.intVal))
+        }
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey < 8 && t.getKey == t.getValue.intVal))
-    }
+        it("should correctly execute SQL queries") {
+            var res = c.sql(classOf[ObjectValue], "intVal > 5").getAll
 
-    it should "correctly execute SQL queries" in {
-        var res = c.sql(classOf[ObjectValue], "intVal > 5").getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+            res = c.sql(classOf[ObjectValue], "intVal > ?", 5).getAll
 
-        res = c.sql(classOf[ObjectValue], "intVal > ?", 5).getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+            res = c.sql("intVal > 5").getAll
 
-        res = c.sql("intVal > 5").getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+            res = c.sql("intVal > ?", 5).getAll
 
-        res = c.sql("intVal > ?", 5).getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+            res = c.sql(classOf[ObjectValue], "intVal > 5").getAll
 
-        res = c.sql(classOf[ObjectValue], "intVal > 5").getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+            res = c.sql(classOf[ObjectValue], "intVal > ?", 5).getAll
 
-        res = c.sql(classOf[ObjectValue], "intVal > ?", 5).getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+            res = c.sql("intVal > 5").getAll
 
-        res = c.sql("intVal > 5").getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+            res = c.sql("intVal > ?", 5).getAll
 
-        res = c.sql("intVal > ?", 5).getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
+        }
 
-        res.foreach(t => assert(t.getKey > 5 && t.getKey == t.getValue.intVal))
-    }
+        it("should correctly execute TEXT queries") {
+            var res = c.text(classOf[ObjectValue], "str").getAll
 
-    it should "correctly execute TEXT queries" in {
-        var res = c.text(classOf[ObjectValue], "str").getAll
+            assert(res.size == ENTRY_CNT)
 
-        assert(res.size == ENTRY_CNT)
+            res = c.text(classOf[ObjectValue], "five").getAll
 
-        res = c.text(classOf[ObjectValue], "five").getAll
+            assert(res.size == 1)
+            assert(res.head.getKey == 5)
 
-        assert(res.size == 1)
-        assert(res.head.getKey == 5)
+            res = c.text("str").getAll
 
-        res = c.text("str").getAll
+            assert(res.size == ENTRY_CNT)
 
-        assert(res.size == ENTRY_CNT)
+            res = c.text("five").getAll
 
-        res = c.text("five").getAll
+            assert(res.size == 1)
+            assert(res.head.getKey == 5)
 
-        assert(res.size == 1)
-        assert(res.head.getKey == 5)
+            res = c.text(classOf[ObjectValue], "str").getAll
 
-        res = c.text(classOf[ObjectValue], "str").getAll
+            assert(res.size == ENTRY_CNT)
 
-        assert(res.size == ENTRY_CNT)
+            res = c.text(classOf[ObjectValue], "five").getAll
 
-        res = c.text(classOf[ObjectValue], "five").getAll
+            assert(res.size == 1)
+            assert(res.head.getKey == 5)
 
-        assert(res.size == 1)
-        assert(res.head.getKey == 5)
+            res = c.text("str").getAll
 
-        res = c.text("str").getAll
+            assert(res.size == ENTRY_CNT)
 
-        assert(res.size == ENTRY_CNT)
+            res = c.text("five").getAll
 
-        res = c.text("five").getAll
+            assert(res.size == 1)
+            assert(res.head.getKey == 5)
+        }
 
-        assert(res.size == 1)
-        assert(res.head.getKey == 5)
-    }
+        it("should correctly execute fields queries") {
+            var res = c.sqlFields("select intVal from ObjectValue where intVal > 5").getAll
 
-    it should "correctly execute fields queries" in {
-        var res = c.sqlFields("select intVal from ObjectValue where intVal > 5").getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
+            res.foreach(t => assert(t.size == 1 && t.head.asInstanceOf[Int] > 5))
 
-        res.foreach(t => assert(t.size == 1 && t.head.asInstanceOf[Int] > 5))
+            res = c.sqlFields("select intVal from ObjectValue where intVal > ?", 5).getAll
 
-        res = c.sqlFields("select intVal from ObjectValue where intVal > ?", 5).getAll
+            assert(res.size == ENTRY_CNT - 5)
 
-        assert(res.size == ENTRY_CNT - 5)
-
-        res.foreach(t => assert(t.size == 1 && t.head.asInstanceOf[Int] > 5))
-    }
+            res.foreach(t => assert(t.size == 1 && t.head.asInstanceOf[Int] > 5))
+        }
 
-    it should "correctly execute queries with multiple arguments" in {
-        val res = c.sql("from ObjectValue where intVal in (?, ?, ?)", 1, 2, 3).getAll
+        it("should correctly execute queries with multiple arguments") {
+            val res = c.sql("from ObjectValue where intVal in (?, ?, ?)", 1, 2, 3).getAll
 
-        assert(res.size == 3)
+            assert(res.size == 3)
+        }
     }
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheSpec.scala
----------------------------------------------------------------------
diff --git a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheSpec.scala b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheSpec.scala
index 0fde48f..853cc16 100644
--- a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheSpec.scala
+++ b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarCacheSpec.scala
@@ -22,32 +22,35 @@ import org.apache.ignite.events.EventType._
 import org.apache.ignite.lang.IgnitePredicate
 import org.apache.ignite.scalar.scalar
 import org.apache.ignite.scalar.scalar._
+
 import org.junit.runner.RunWith
 import org.scalatest._
 import org.scalatest.junit.JUnitRunner
+
 import scala.collection.JavaConversions._
 
 /**
  * Scalar cache test.
  */
 @RunWith(classOf[JUnitRunner])
-class ScalarCacheSpec extends FlatSpec with ShouldMatchers {
+class ScalarCacheSpec extends FunSpec with ShouldMatchers {
     private val CFG = "modules/scalar/src/test/resources/spring-cache.xml"
 
-    behavior of "Scalar cache"
+    describe("Scalar cache") {
 
-    it should "work properly via Java APIs" in {
-        scalar(CFG) {
-            registerListener()
+        it("should work properly via Java APIs") {
+            scalar(CFG) {
+                registerListener()
 
-            val c = cache$[Int, Int]("partitioned").get
+                val c = cache$[Int, Int]("partitioned").get
 
-            c.put(1, 1)
-            c.put(2, 2)
+                c.put(1, 1)
+                c.put(2, 2)
 
-            c.iterator() foreach println
+                c.iterator() foreach println
 
-            println("Size is: " + c.size())
+                println("Size is: " + c.size())
+            }
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarConversionsSpec.scala
----------------------------------------------------------------------
diff --git a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarConversionsSpec.scala b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarConversionsSpec.scala
index b20c755..c766422 100644
--- a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarConversionsSpec.scala
+++ b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarConversionsSpec.scala
@@ -21,7 +21,7 @@ import org.apache.ignite.internal.util.lang._
 import org.apache.ignite.lang._
 import org.apache.ignite.scalar.scalar._
 import org.junit.runner.RunWith
-import org.scalatest.FlatSpec
+import org.scalatest._
 import org.scalatest.junit.JUnitRunner
 import org.scalatest.matchers.ShouldMatchers
 
@@ -31,10 +31,10 @@ import java.util.concurrent.atomic._
  *
  */
 @RunWith(classOf[JUnitRunner])
-class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
-    behavior of "Scalar mixin"
+class ScalarConversionsSpec extends FunSpec with ShouldMatchers {
+    describe("Scalar mixin") {
 
-    it should "convert reducer" in {
+    it("should convert reducer") {
         val r = new IgniteReducer[Int, Int] {
             var sum = 0
 
@@ -52,7 +52,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(r.scala.apply(Seq(1, 2, 3)) == 6)
     }
 
-    it should "convert reducer 2" in {
+    it("should convert reducer 2") {
         val r = new IgniteReducer2[Int, Int, Int] {
             var sum = 0
 
@@ -70,7 +70,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(r.scala.apply(Seq(1, 2), Seq(3, 4)) == 21)
     }
 
-    it should "convert reducer 3" in {
+    it("should convert reducer 3") {
         val r = new IgniteReducer3[Int, Int, Int, Int] {
             var sum = 0
 
@@ -88,14 +88,14 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(r.scala.apply(Seq(1, 2), Seq(1, 2), Seq(1, 2)) == 27)
     }
 
-    it should "convert tuple 2" in {
+    it("should convert tuple 2") {
         val t = new IgniteBiTuple[Int, Int](1, 2)
 
         assert(t.scala._1 == 1)
         assert(t.scala._2 == 2)
     }
 
-    it should "convert tuple 3" in {
+    it("should convert tuple 3") {
         val t = new GridTuple3[Int, Int, Int](1, 2, 3)
 
         assert(t.scala._1 == 1)
@@ -103,7 +103,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(t.scala._3 == 3)
     }
 
-    it should "convert tuple 4" in {
+    it("should convert tuple 4") {
         val t = new GridTuple4[Int, Int, Int, Int](1, 2, 3, 4)
 
         assert(t.scala._1 == 1)
@@ -112,7 +112,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(t.scala._4 == 4)
     }
 
-    it should "convert tuple 5" in {
+    it("should convert tuple 5") {
         val t = new GridTuple5[Int, Int, Int, Int, Int](1, 2, 3, 4, 5)
 
         assert(t.scala._1 == 1)
@@ -122,7 +122,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(t.scala._5 == 5)
     }
 
-    it should "convert in closure" in {
+    it("should convert in closure") {
         val i = new AtomicInteger()
 
         val f = new IgniteInClosure[Int] {
@@ -136,7 +136,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(i.get == 9)
     }
 
-    it should "convert in closure 2" in {
+    it("should convert in closure 2") {
         val i = new AtomicInteger()
 
         val f = new IgniteBiInClosure[Int, Int] {
@@ -150,7 +150,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(i.get == 6)
     }
 
-    it should "convert in closure 3" in {
+    it("should convert in closure 3") {
         val i = new AtomicInteger()
 
         val f = new GridInClosure3[Int, Int, Int] {
@@ -164,7 +164,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(i.get == 9)
     }
 
-    it should "convert absolute closure" in {
+    it("should convert absolute closure") {
         val i = new AtomicInteger()
 
         val f = new GridAbsClosure {
@@ -178,7 +178,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(i.get == 3)
     }
 
-    it should "convert absolute predicate" in {
+    it("should convert absolute predicate") {
         val i = new AtomicInteger()
 
         val p = new GridAbsPredicate {
@@ -195,7 +195,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(p.scala.apply())
     }
 
-    it should "convert predicate" in {
+    it("should convert predicate") {
         val p = new IgnitePredicate[Int] {
             override def apply(e: Int): Boolean =
                 e > 5
@@ -205,7 +205,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(p.scala.apply(6))
     }
 
-    it should "convert predicate 2" in {
+    it("should convert predicate 2") {
         val p = new IgniteBiPredicate[Int, Int] {
             override def apply(e1: Int, e2: Int): Boolean =
                 e1 + e2 > 5
@@ -215,7 +215,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(p.scala.apply(3, 3))
     }
 
-    it should "convert predicate 3" in {
+    it("should convert predicate 3") {
         val p = new GridPredicate3[Int, Int, Int] {
             override def apply(e1: Int, e2: Int, e3: Int): Boolean =
                 e1 + e2 + e3 > 5
@@ -225,7 +225,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(p.scala.apply(2, 2, 2))
     }
 
-    it should "convert closure" in {
+    it("should convert closure") {
         val f = new IgniteClosure[Int, Int] {
             override def apply(e: Int): Int =
                 e * 3
@@ -234,7 +234,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(f.scala.apply(3) == 9)
     }
 
-    it should "convert closure 2" in {
+    it("should convert closure 2") {
         val f = new IgniteBiClosure[Int, Int, Int] {
             override def apply(e1: Int, e2: Int): Int =
                 e1 + e2
@@ -243,7 +243,7 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
         assert(f.scala.apply(3, 3) == 6)
     }
 
-    it should "convert closure 3" in {
+    it("should convert closure 3") {
         val f = new GridClosure3[Int, Int, Int, Int] {
             override def apply(e1: Int, e2: Int, e3: Int): Int =
                 e1 + e2 + e3
@@ -251,4 +251,5 @@ class ScalarConversionsSpec extends FlatSpec with ShouldMatchers {
 
         assert(f.scala.apply(3, 3, 3) == 9)
     }
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarProjectionSpec.scala
----------------------------------------------------------------------
diff --git a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarProjectionSpec.scala b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarProjectionSpec.scala
index a035550..ecb1e5a 100644
--- a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarProjectionSpec.scala
+++ b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarProjectionSpec.scala
@@ -23,6 +23,7 @@ import org.apache.ignite.configuration.IgniteConfiguration
 import org.apache.ignite.messaging.MessagingListenActor
 import org.apache.ignite.scalar.scalar
 import org.apache.ignite.scalar.scalar._
+
 import org.junit.runner.RunWith
 import org.scalatest._
 import org.scalatest.junit.JUnitRunner
@@ -35,7 +36,7 @@ import scala.collection.JavaConversions._
  * Scalar cache test.
  */
 @RunWith(classOf[JUnitRunner])
-class ScalarProjectionSpec extends FlatSpec with ShouldMatchers with BeforeAndAfterAll {
+class ScalarProjectionSpec extends FunSpec with ShouldMatchers with BeforeAndAfterAll {
     /**
      *
      */
@@ -68,82 +69,95 @@ class ScalarProjectionSpec extends FlatSpec with ShouldMatchers with BeforeAndAf
         cfg
     }
 
-    behavior of "ScalarProjectionPimp class"
-
-    it should "return all nodes" in scalar(gridConfig("node-scalar", true)) {
-        assertResult(3) {
-            ignite$("node-scalar").get.cluster().nodes().size
+    describe("ScalarProjectionPimp class") {
+        it("should return all nodes") {
+            scalar(gridConfig("node-scalar", true)) {
+                assertResult(3)(ignite$("node-scalar").get.cluster().nodes().size)
+            }
         }
-    }
-
-    it should "return shown nodes" in  scalar(gridConfig("node-scalar", true)) {
-        assert(ignite$("node-scalar").get.nodes$((node: ClusterNode) => node.attribute[Boolean]("shown")).size == 2)
-    }
 
-    it should "return all remote nodes" in scalar(gridConfig("node-scalar", true)) {
-        assertResult(2) {
-            ignite$("node-scalar").get.remoteNodes$().size
+        it("should return shown nodes") {
+            scalar(gridConfig("node-scalar", true)) {
+                assert(ignite$("node-scalar").get.nodes$(
+                    (node: ClusterNode) => node.attribute[Boolean]("shown")).size == 2)
+            }
         }
-    }
-
-    it should "return shown remote nodes" in  scalar(gridConfig("node-scalar", true)) {
-        assert(ignite$("node-scalar").get.remoteNodes$((node: ClusterNode) =>
-            node.attribute[Boolean]("shown")).size == 1)
-    }
-
-    it should "correctly send messages" in scalar(gridConfig("node-scalar", true)) {
 
-        ignite$("node-1").get.message().remoteListen(null, new MessagingListenActor[Any]() {
-            def receive(nodeId: UUID, msg: Any) {
-                println("node-1 received " + msg)
+        it("should return all remote nodes") {
+            scalar(gridConfig("node-scalar", true)) {
+                assertResult(2)(ignite$("node-scalar").get.remoteNodes$().size)
             }
-        })
+        }
 
-        ignite$("node-2").get.message().remoteListen(null, new MessagingListenActor[Any]() {
-            def receive(nodeId: UUID, msg: Any) {
-                println("node-2 received " + msg)
+        it("should return shown remote nodes") {
+            scalar(gridConfig("node-scalar", true)) {
+                assert(ignite$("node-scalar").get.remoteNodes$((node: ClusterNode) =>
+                    node.attribute[Boolean]("shown")).size == 1)
             }
-        })
+        }
 
-        ignite$("node-scalar").get !< ("Message", null)
-        ignite$("node-scalar").get !< (Seq("Message1", "Message2"), null)
-    }
+        it("should correctly send messages") {
+            scalar(gridConfig("node-scalar", true)) {
+                ignite$("node-1").get.message().remoteListen(null, new MessagingListenActor[Any]() {
+                    def receive(nodeId: UUID, msg: Any) {
+                        println("node-1 received " + msg)
+                    }
+                })
+
+                ignite$("node-2").get.message().remoteListen(null, new MessagingListenActor[Any]() {
+                    def receive(nodeId: UUID, msg: Any) {
+                        println("node-2 received " + msg)
+                    }
+                })
+
+                ignite$("node-scalar").get !<("Message", null)
+                ignite$("node-scalar").get !<(Seq("Message1", "Message2"), null)
+            }
+        }
 
-    it should "correctly make calls" in scalar(gridConfig("node-scalar", true)) {
-        println("CALL RESULT: " + ignite$("node-scalar").get #< (() => "Message", null))
+        it("should correctly make calls") {
+            scalar(gridConfig("node-scalar", true)) {
+                println("CALL RESULT: " + ignite$("node-scalar").get #<(() => "Message", null))
 
-        println("ASYNC CALL RESULT: " + ignite$("node-scalar").get.callAsync$[String](() => "Message", null).get)
+                println("ASYNC CALL RESULT: " + ignite$("node-scalar").get.callAsync$[String](() => "Message", null).get)
 
-        val call1: () => String = () => "Message1"
-        val call2: () => String = () => "Message2"
+                val call1: () => String = () => "Message1"
+                val call2: () => String = () => "Message2"
 
-        println("MULTIPLE CALL RESULT: " + ignite$("node-scalar").get #< (Seq(call1, call2), null))
+                println("MULTIPLE CALL RESULT: " + ignite$("node-scalar").get #<(Seq(call1, call2), null))
 
-        println("MULTIPLE ASYNC CALL RESULT: " +
-            (ignite$("node-scalar").get #? (Seq(call1, call2), null)).get)
-    }
+                println("MULTIPLE ASYNC CALL RESULT: " +
+                    (ignite$("node-scalar").get #?(Seq(call1, call2), null)).get)
+            }
+        }
 
-    it should "correctly make runs" in scalar(gridConfig("node-scalar", true)) {
-        ignite$("node-scalar").get *< (() => println("RUN RESULT: Message"), null)
+        it("should correctly make runs") {
+            scalar(gridConfig("node-scalar", true)) {
+                ignite$("node-scalar").get *<(() => println("RUN RESULT: Message"), null)
 
-        (ignite$("node-scalar").get *? (() => println("ASYNC RUN RESULT: Message"), null)).get
+                (ignite$("node-scalar").get *?(() => println("ASYNC RUN RESULT: Message"), null)).get
 
-        val run1: () => Unit = () => println("RUN 1 RESULT: Message1")
-        val run2: () => Unit = () => println("RUN 2 RESULT: Message2")
+                val run1: () => Unit = () => println("RUN 1 RESULT: Message1")
+                val run2: () => Unit = () => println("RUN 2 RESULT: Message2")
 
-        ignite$("node-scalar").get *< (Seq(run1, run2), null)
+                ignite$("node-scalar").get *<(Seq(run1, run2), null)
 
-        val runAsync1: () => Unit = () => println("ASYNC RUN 1 RESULT: Message1")
-        val runAsync2: () => Unit = () => println("ASYNC RUN 2 RESULT: Message2")
+                val runAsync1: () => Unit = () => println("ASYNC RUN 1 RESULT: Message1")
+                val runAsync2: () => Unit = () => println("ASYNC RUN 2 RESULT: Message2")
 
-        (ignite$("node-scalar").get *? (Seq(runAsync1, runAsync2), null)).get
-    }
+                (ignite$("node-scalar").get *?(Seq(runAsync1, runAsync2), null)).get
+            }
+        }
 
-    it should "correctly reduce" in scalar(gridConfig("node-scalar", true)) {
-        val call1: () => Int = () => 15
-        val call2: () => Int = () => 82
+        it("should correctly reduce") {
+            scalar(gridConfig("node-scalar", true)) {
+                val call1: () => Int = () => 15
+                val call2: () => Int = () => 82
 
-        assert(ignite$("node-scalar").get @< (Seq(call1, call2), (n: Seq[Int]) => n.sum, null) == 97)
-        assert(ignite$("node-scalar").get.reduceAsync$(Seq(call1, call2), (n: Seq[Int]) => n.sum, null).get == 97)
+                assert(ignite$("node-scalar").get @<(Seq(call1, call2), (n: Seq[Int]) => n.sum, null) == 97)
+                assert(ignite$("node-scalar").get.reduceAsync$(Seq(call1, call2), (
+                    n: Seq[Int]) => n.sum, null).get == 97)
+            }
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarReturnableSpec.scala
----------------------------------------------------------------------
diff --git a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarReturnableSpec.scala b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarReturnableSpec.scala
index 21e8cef..2927dd7 100644
--- a/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarReturnableSpec.scala
+++ b/modules/scalar/src/test/scala/org/apache/ignite/scalar/tests/ScalarReturnableSpec.scala
@@ -18,6 +18,7 @@
 package org.apache.ignite.scalar.tests
 
 import org.apache.ignite.scalar.scalar._
+
 import org.junit.runner.RunWith
 import org.scalatest._
 import org.scalatest.junit.JUnitRunner
@@ -28,30 +29,32 @@ import scala.util.control.Breaks._
  *
  */
 @RunWith(classOf[JUnitRunner])
-class ScalarReturnableSpec extends FlatSpec with ShouldMatchers {
-    "Scalar '^^'" should "work" in {
-        var i = 0
+class ScalarReturnableSpec extends FunSpec with ShouldMatchers {
+    describe("Scalar '^^'") {
+        it("should work") {
+            var i = 0
+
+            breakable {
+                while (true) {
+                    if (i == 0)
+                        println("Only once!") ^^
+
+                    i += 1
+                }
+            }
 
-        breakable {
-            while (true) {
-                if (i == 0)
-                    println("Only once!") ^^
+            assert(i == 0)
+        }
 
-                i += 1
+        // Ignore exception below.
+        def test() = breakable {
+            while (true) {
+                println("Only once!") ^^
             }
         }
 
-        assert(i == 0)
-    }
-
-    "Scalar '^^'" should "also work" in {
-        test()
-    }
-
-    // Ignore exception below.
-    def test() = breakable {
-        while (true) {
-            println("Only once!") ^^
+        it("should also work") {
+            test()
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/pom.xml
----------------------------------------------------------------------
diff --git a/modules/visor-console/pom.xml b/modules/visor-console/pom.xml
index 45e0f30..95eb6cf 100644
--- a/modules/visor-console/pom.xml
+++ b/modules/visor-console/pom.xml
@@ -100,7 +100,7 @@
         <dependency>
             <groupId>org.scalatest</groupId>
             <artifactId>scalatest_2.11</artifactId>
-            <version>2.2.2</version>
+            <version>2.2.4</version>
             <scope>test</scope>
             <exclusions>
                 <exclusion>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/VisorRuntimeBaseSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/VisorRuntimeBaseSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/VisorRuntimeBaseSpec.scala
index aa6ab84..f27bae3 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/VisorRuntimeBaseSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/VisorRuntimeBaseSpec.scala
@@ -24,7 +24,7 @@ import org.scalatest._
 /**
  * Base abstract class for unit tests requiring Visor runtime.
  */
-abstract class VisorRuntimeBaseSpec(private[this] val num: Int) extends FlatSpec with Matchers
+abstract class VisorRuntimeBaseSpec(private[this] val num: Int) extends FunSpec with Matchers
     with BeforeAndAfterAll with BeforeAndAfterEach {
     assert(num >= 1)
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorArgListSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorArgListSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorArgListSpec.scala
index 8b71918..a581899 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorArgListSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorArgListSpec.scala
@@ -25,48 +25,48 @@ import visor._
 /**
  * Test for visor's argument list parsing.
  */
-class VisorArgListSpec extends FlatSpec with ShouldMatchers {
-    behavior of "A visor argument list"
+class VisorArgListSpec extends FunSpec with ShouldMatchers {
+    describe("A visor argument list") {
+        it("should properly parse 'null' arguments") {
+            val v = parseArgs(null)
 
-    it should "properly parse 'null' arguments" in {
-        val v = parseArgs(null)
+            assert(v.isEmpty)
+        }
 
-        assert(v.isEmpty)
-    }
-
-    it should "properly parse non-empty arguments" in {
-        val v = parseArgs("-a=b c d -minus -d=")
+        it("should properly parse non-empty arguments") {
+            val v = parseArgs("-a=b c d -minus -d=")
 
-        assert(v.size == 5)
+            assert(v.size == 5)
 
-        assert(v(0)._1 == "a")
-        assert(v(0)._2 == "b")
+            assert(v(0)._1 == "a")
+            assert(v(0)._2 == "b")
 
-        assert(v(1)._1 == null)
-        assert(v(1)._2 == "c")
+            assert(v(1)._1 == null)
+            assert(v(1)._2 == "c")
 
-        assert(v(2)._1 == null)
-        assert(v(2)._2 == "d")
+            assert(v(2)._1 == null)
+            assert(v(2)._2 == "d")
 
-        assert(v(3)._1 == "minus")
-        assert(v(3)._2 == null)
+            assert(v(3)._1 == "minus")
+            assert(v(3)._2 == null)
 
-        assert(v(4)._1 == "d")
-        assert(v(4)._2 == "")
-    }
+            assert(v(4)._1 == "d")
+            assert(v(4)._2 == "")
+        }
 
-    it should "properly parse quoted arguments" in {
-        val v = parseArgs("-a='b 'c' d' -minus -d=")
+        it("should properly parse quoted arguments") {
+            val v = parseArgs("-a='b 'c' d' -minus -d=")
 
-        assert(v.size == 3)
+            assert(v.size == 3)
 
-        assert(v(0)._1 == "a")
-        assert(v(0)._2 == "b 'c' d")
+            assert(v(0)._1 == "a")
+            assert(v(0)._2 == "b 'c' d")
 
-        assert(v(1)._1 == "minus")
-        assert(v(1)._2 == null)
+            assert(v(1)._1 == "minus")
+            assert(v(1)._2 == null)
 
-        assert(v(2)._1 == "d")
-        assert(v(2)._2 == "")
+            assert(v(2)._1 == "d")
+            assert(v(2)._2 == "")
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorFileNameCompleterSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorFileNameCompleterSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorFileNameCompleterSpec.scala
index 9767fc4..e7333c6 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorFileNameCompleterSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/VisorFileNameCompleterSpec.scala
@@ -25,34 +25,34 @@ import java.util
 /**
  * Test for visor's file name completer.
  */
-class VisorFileNameCompleterSpec extends FlatSpec with ShouldMatchers {
-    behavior of "A visor file name completer"
+class VisorFileNameCompleterSpec extends FunSpec with ShouldMatchers {
+    describe("A visor file name completer") {
+        it("should properly parse empty path") {
+            val c = new VisorFileNameCompleter()
 
-    it should "properly parse empty path" in {
-        val c = new VisorFileNameCompleter()
+            val res = new util.ArrayList[CharSequence]()
 
-        val res = new util.ArrayList[CharSequence]()
+            c.complete("", 0, res)
 
-        c.complete("", 0, res)
+            assertResult(new File("").getAbsoluteFile.listFiles().length)(res.size)
 
-        assertResult(new File("").getAbsoluteFile.listFiles().length)(res.size)
+            res.clear()
 
-        res.clear()
+            c.complete(null, 0, res)
 
-        c.complete(null, 0, res)
+            assertResult(new File("").getAbsoluteFile.listFiles().length)(res.size)
 
-        assertResult(new File("").getAbsoluteFile.listFiles().length)(res.size)
+            res.clear()
 
-        res.clear()
+            c.complete("    ", 2, res)
 
-        c.complete("    ", 2, res)
+            assertResult(new File("").getAbsoluteFile.listFiles().length)(res.size)
 
-        assertResult(new File("").getAbsoluteFile.listFiles().length)(res.size)
+            res.clear()
 
-        res.clear()
+            c.complete("help ", 5, res)
 
-        c.complete("help ", 5, res)
-
-        assertResult(new File("").getAbsoluteFile.listFiles().length)(res.size)
+            assertResult(new File("").getAbsoluteFile.listFiles().length)(res.size)
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/ack/VisorAckCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/ack/VisorAckCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/ack/VisorAckCommandSpec.scala
index 6c6c829..b6a9608 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/ack/VisorAckCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/ack/VisorAckCommandSpec.scala
@@ -24,17 +24,17 @@ import org.apache.ignite.visor.commands.ack.VisorAckCommand._
  * Unit test for 'ack' command.
  */
 class VisorAckCommandSpec extends VisorRuntimeBaseSpec(2) {
-    behavior of "A 'ack' visor command"
+    describe("A 'ack' visor command") {
+        it("should properly execute w/o arguments"){
+            visor ack()
+        }
 
-    it should "properly execute w/o arguments" in {
-        visor ack()
-    }
-
-    it should "properly execute with arguments" in {
-        visor ack "Broadcasting!"
-    }
+        it("should properly execute with arguments") {
+            visor ack "Broadcasting!"
+        }
 
-    it should "print error message when not connected" in {
-        visor ack()
+        it("should print error message when not connected") {
+            visor ack()
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommandSpec.scala
index 0a3a011..ec7d1b5 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommandSpec.scala
@@ -100,54 +100,54 @@ class VisorAlertCommandSpec extends VisorRuntimeBaseSpec(1) {
         }
     }
 
-    behavior of "An 'alert' visor command"
+    describe("An 'alert' visor command") {
+        it("should print not connected error message") {
+            visor.close()
 
-    it should "print not connected error message" in {
-        visor.close()
+            checkOut(visor.alert("-r -t=5 -cc=gte4"), "Visor is disconnected.")
 
-        checkOut(visor.alert("-r -t=5 -cc=gte4"), "Visor is disconnected.")
-
-        checkOut(visor.alert(), "No alerts are registered.")
-    }
-
-    it should "register new alert" in {
-        try {
             checkOut(visor.alert(), "No alerts are registered.")
+        }
 
-            matchOut(visor.alert("-r -t=5 -cc=gte4"), "Alert.+registered.")
+        it("should register new alert") {
+            try {
+                checkOut(visor.alert(), "No alerts are registered.")
 
-            checkOut(visor.alert(), "No alerts are registered.", false)
-        }
-        finally {
-            visor.alert("-u -a")
+                matchOut(visor.alert("-r -t=5 -cc=gte4"), "Alert.+registered.")
+
+                checkOut(visor.alert(), "No alerts are registered.", false)
+            }
+            finally {
+                visor.alert("-u -a")
+            }
         }
-    }
 
-    it should "print error messages on incorrect alerts" in {
-        try {
-            matchOut(visor.alert("-r -t=5"), "Alert.+registered.")
+        it("should print error messages on incorrect alerts") {
+            try {
+                matchOut(visor.alert("-r -t=5"), "Alert.+registered.")
 
-            checkOut(visor.alert("-r -UNKNOWN_KEY=lt20"), "Invalid argument")
+                checkOut(visor.alert("-r -UNKNOWN_KEY=lt20"), "Invalid argument")
 
-            checkOut(visor.alert("-r -cc=UNKNOWN_OPERATION20"), "Invalid expression")
-        }
-        finally {
-            visor.alert("-u -a")
+                checkOut(visor.alert("-r -cc=UNKNOWN_OPERATION20"), "Invalid expression")
+            }
+            finally {
+                visor.alert("-u -a")
+            }
         }
-    }
 
-    it should "write alert to log" in {
-        try {
-            matchOut(visor.alert("-r -nc=gte1"), "Alert.+registered.")
+        it("should write alert to log") {
+            try {
+                matchOut(visor.alert("-r -nc=gte1"), "Alert.+registered.")
 
-            Ignition.start(config("node-2"))
+                Ignition.start(config("node-2"))
 
-            Ignition.stop("node-2", false)
+                Ignition.stop("node-2", false)
 
-            checkOut(visor.alert(), "No alerts are registered.", false)
-        }
-        finally {
-            visor.alert("-u -a")
+                checkOut(visor.alert(), "No alerts are registered.", false)
+            }
+            finally {
+                visor.alert("-u -a")
+            }
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommandSpec.scala
index 2e51698..6bb4993 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommandSpec.scala
@@ -75,43 +75,43 @@ class VisorCacheClearCommandSpec extends VisorRuntimeBaseSpec(2) {
         cfg
     }
 
-    behavior of "An 'cclear' visor command"
+    describe("An 'cclear' visor command") {
+        it("should show correct result for default cache") {
+            Ignition.ignite("node-1").cache[Int, Int](null).putAll(Map(1 -> 1, 2 -> 2, 3 -> 3))
 
-    it should "show correct result for default cache" in {
-        Ignition.ignite("node-1").cache[Int, Int](null).putAll(Map(1 -> 1, 2 -> 2, 3 -> 3))
+            val lock = Ignition.ignite("node-1").cache[Int, Int](null).lock(1)
 
-        val lock = Ignition.ignite("node-1").cache[Int, Int](null).lock(1)
+            lock.lock()
 
-        lock.lock()
+            VisorCacheClearCommand().clear(Nil, None)
 
-        VisorCacheClearCommand().clear(Nil, None)
+            lock.unlock()
 
-        lock.unlock()
+            VisorCacheClearCommand().clear(Nil, None)
+        }
 
-        VisorCacheClearCommand().clear(Nil, None)
-    }
-
-    it should "show correct result for named cache" in {
-        Ignition.ignite("node-1").cache[Int, Int]("cache").putAll(Map(1 -> 1, 2 -> 2, 3 -> 3))
+        it("should show correct result for named cache") {
+            Ignition.ignite("node-1").cache[Int, Int]("cache").putAll(Map(1 -> 1, 2 -> 2, 3 -> 3))
 
-        val lock = Ignition.ignite("node-1").cache[Int, Int]("cache").lock(1)
+            val lock = Ignition.ignite("node-1").cache[Int, Int]("cache").lock(1)
 
-        lock.lock()
+            lock.lock()
 
-        visor.cache("-clear -c=cache")
+            visor.cache("-clear -c=cache")
 
-        lock.unlock()
+            lock.unlock()
 
-        visor.cache("-clear -c=cache")
-    }
+            visor.cache("-clear -c=cache")
+        }
 
-    it should "show correct help" in {
-        VisorCacheCommand
+        it("should show correct help") {
+            VisorCacheCommand
 
-        visor.help("cache")
-    }
+            visor.help("cache")
+        }
 
-    it should "show empty projection error message" in {
-        visor.cache("-clear -c=wrong")
+        it("should show empty projection error message") {
+            visor.cache("-clear -c=wrong")
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommandSpec.scala
index 4724006..4859a8f 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommandSpec.scala
@@ -36,7 +36,6 @@ import org.apache.ignite.visor.commands.cache.VisorCacheCommand._
  * Unit test for 'events' command.
  */
 class VisorCacheCommandSpec extends VisorRuntimeBaseSpec(1) {
-    behavior of "A 'cache' visor command"
 
     /** IP finder. */
     val ipFinder = new TcpDiscoveryVmIpFinder(true)
@@ -54,7 +53,7 @@ class VisorCacheCommandSpec extends VisorRuntimeBaseSpec(1) {
 
         val arr = Seq(classOf[JavaInt], classOf[Foo]).toArray
 
-        cfg.setIndexedTypes(arr:_*)
+        cfg.setIndexedTypes(arr: _*)
 
         cfg
     }
@@ -65,7 +64,8 @@ class VisorCacheCommandSpec extends VisorRuntimeBaseSpec(1) {
      * @param name Grid name.
      * @return Grid configuration.
      */
-    override def config(name: String): IgniteConfiguration = {
+    override def config(name: String): IgniteConfiguration =
+    {
         val cfg = new IgniteConfiguration
 
         cfg.setGridName(name)
@@ -81,49 +81,51 @@ class VisorCacheCommandSpec extends VisorRuntimeBaseSpec(1) {
         cfg
     }
 
-    it should "put/get some values to/from cache and display information about caches" in {
-        val c = Ignition.ignite("node-1").cache[String, String]("replicated")
+    describe("A 'cache' visor command") {
+        it("should put/get some values to/from cache and display information about caches") {
+            val c = Ignition.ignite("node-1").cache[String, String]("replicated")
 
-        for (i <- 0 to 3) {
-            val kv = "" + i
+            for (i <- 0 to 3) {
+                val kv = "" + i
 
-            c.put(kv, kv)
+                c.put(kv, kv)
 
-            c.get(kv)
-        }
+                c.get(kv)
+            }
 
-        visor.cache()
-    }
+            visor.cache()
+        }
 
-    it should "run query and display information about caches" in {
-        val g = Ignition.ignite("node-1")
+        it("should run query and display information about caches") {
+            val g = Ignition.ignite("node-1")
 
-        val c = g.cache[JavaInt, Foo]("replicated")
+            val c = g.cache[JavaInt, Foo]("replicated")
 
-        c.put(0, Foo(20))
-        c.put(1, Foo(100))
-        c.put(2, Foo(101))
-        c.put(3, Foo(150))
+            c.put(0, Foo(20))
+            c.put(1, Foo(100))
+            c.put(2, Foo(101))
+            c.put(3, Foo(150))
 
-        // Create and execute query that mast return 2 rows.
-        val q1 = c.query(new SqlQuery(classOf[Foo], "_key > ?").setArgs(JavaInt.valueOf(1))).getAll()
+            // Create and execute query that mast return 2 rows.
+            val q1 = c.query(new SqlQuery(classOf[Foo], "_key > ?").setArgs(JavaInt.valueOf(1))).getAll
 
-        assert(q1.size() == 2)
+            assert(q1.size() == 2)
 
-        // Create and execute query that mast return 0 rows.
-        val q2 = c.query(new SqlQuery(classOf[Foo], "_key > ?").setArgs(JavaInt.valueOf(100))).getAll()
+            // Create and execute query that mast return 0 rows.
+            val q2 = c.query(new SqlQuery(classOf[Foo], "_key > ?").setArgs(JavaInt.valueOf(100))).getAll
 
-        assert(q2.size() == 0)
+            assert(q2.size() == 0)
 
-        visor cache "-a"
-    }
+            visor cache "-a"
+        }
 
-    it should "display correct information for 'replicated' cache only" in {
-        visor cache "-n=replicated -a"
-    }
+        it("should display correct information for 'replicated' cache only") {
+            visor cache "-n=replicated -a"
+        }
 
-    it should "display correct information for all caches" in {
-        visor cache "-a"
+        it("should display correct information for all caches") {
+            visor cache "-a"
+        }
     }
 }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommandSpec.scala
index 6b1b62d..72642f7 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommandSpec.scala
@@ -42,9 +42,9 @@ class VisorConfigurationCommandSpec extends VisorRuntimeBaseSpec(1) {
         cfg
     }
 
-    behavior of "A 'config' visor command"
-
-    it should "print configuration for first node" in {
-        visor.config("-id8=@n0")
+    describe("A 'config' visor command") {
+        it("should print configuration for first node") {
+            visor.config("-id8=@n0")
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cswap/VisorCacheSwapCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cswap/VisorCacheSwapCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cswap/VisorCacheSwapCommandSpec.scala
index f5af1d3..8a0b0c8 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cswap/VisorCacheSwapCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/cswap/VisorCacheSwapCommandSpec.scala
@@ -69,21 +69,21 @@ class VisorCacheSwapCommandSpec extends VisorRuntimeBaseSpec(2) {
         cfg
     }
 
-    behavior of "An 'cswap' visor command"
+    describe("An 'cswap' visor command") {
+        it("should show correct result for default cache") {
+            Ignition.ignite("node-1").cache[Int, Int](null).putAll(Map(1 -> 1, 2 -> 2, 3 -> 3))
 
-    it should "show correct result for default cache" in {
-        Ignition.ignite("node-1").cache[Int, Int](null).putAll(Map(1 -> 1, 2 -> 2, 3 -> 3))
+            visor.cache("-swap -c=<default>")
+        }
 
-        visor.cache("-swap -c=<default>")
-    }
-
-    it should "show correct result for named cache" in {
-        Ignition.ignite("node-1").cache[Int, Int]("cache").putAll(Map(1 -> 1, 2 -> 2, 3 -> 3))
+        it("should show correct result for named cache") {
+            Ignition.ignite("node-1").cache[Int, Int]("cache").putAll(Map(1 -> 1, 2 -> 2, 3 -> 3))
 
-        visor.cache("-swap -c=cache")
-    }
+            visor.cache("-swap -c=cache")
+        }
 
-    it should "show empty projection error message" in {
-        visor.cache("-swap -c=wrong")
+        it("should show empty projection error message") {
+            visor.cache("-swap -c=wrong")
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/deploy/VisorDeployCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/deploy/VisorDeployCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/deploy/VisorDeployCommandSpec.scala
index 6003119..b80ff1d 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/deploy/VisorDeployCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/deploy/VisorDeployCommandSpec.scala
@@ -25,10 +25,10 @@ import org.apache.ignite.visor.commands.deploy.VisorDeployCommand._
 /**
  * Unit test for 'deploy' command.
  */
-class VisorDeployCommandSpec extends FlatSpec with Matchers {
-    behavior of "A 'deploy' visor command"
-
-    it should "copy folder" in {
-        visor.deploy("-h=uname:passwd@localhost -s=/home/uname/test -d=dir")
+class VisorDeployCommandSpec extends FunSpec with Matchers {
+    describe("A 'deploy' visor command") {
+        it("should copy folder") {
+            visor.deploy("-h=uname:passwd@localhost -s=/home/uname/test -d=dir")
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommandSpec.scala
index 64f0e0f..335a048 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommandSpec.scala
@@ -51,35 +51,35 @@ class VisorDiscoveryCommandSpec extends VisorRuntimeBaseSpec(4) {
         cfg
     }
 
-    behavior of  "A 'disco' visor command"
+    describe("A 'disco' visor command") {
+        it("should advise to connect") {
+            closeVisorQuiet()
 
-    it should "advise to connect" in  {
-        closeVisorQuiet()
+            visor.disco()
+        }
 
-        visor.disco()
-    }
+        it("should show all discovery events") {
+            visor.disco()
+        }
 
-    it should "show all discovery events" in  {
-        visor.disco()
-    }
+        it("should show all discovery events in reversed order") {
+            visor.disco("-r")
+        }
 
-    it should "show all discovery events in reversed order" in  {
-        visor.disco("-r")
-    }
+        it("should show discovery events from last two minutes") {
+            visor.disco("-t=2m")
+        }
 
-    it should "show discovery events from last two minutes" in {
-        visor.disco("-t=2m")
-    }
+        it("should show discovery events from last two minutes in reversed order ") {
+            visor.disco("-t=2m -r")
+        }
 
-    it should "show discovery events from last two minutes in reversed order " in {
-        visor.disco("-t=2m -r")
-    }
-
-    it should "show top 3 discovery events" in  {
-        visor.disco("-c=3")
-    }
+        it("should show top 3 discovery events") {
+            visor.disco("-c=3")
+        }
 
-    it should "print error message with invalid count" in {
-        visor.disco("-c=x")
+        it("should print error message with invalid count") {
+            visor.disco("-c=x")
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/events/VisorEventsCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/events/VisorEventsCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/events/VisorEventsCommandSpec.scala
index 365032e..5b18590 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/events/VisorEventsCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/events/VisorEventsCommandSpec.scala
@@ -40,23 +40,23 @@ class VisorEventsCommandSpec extends VisorRuntimeBaseSpec(1) {
         cfg
     }
 
-    behavior of "A 'events' visor command"
+    describe("A 'events' visor command") {
+        it("should print error message when not connected") {
+            closeVisorQuiet()
 
-    it should "print error message when not connected" in {
-        closeVisorQuiet()
+            visor.events()
+        }
 
-        visor.events()
-    }
-
-    it should "display all events from remote node" in {
-        visor.events("-id8=@n0")
-    }
+        it("should display all events from remote node") {
+            visor.events("-id8=@n0")
+        }
 
-    it should "display top 3 events from remote node" in {
-        visor.events("-id8=@n0 -c=3")
-    }
+        it("should display top 3 events from remote node") {
+            visor.events("-id8=@n0 -c=3")
+        }
 
-    it should "print error message with invalid count" in {
-        visor.events("-id8=@n0 -c=x")
+        it("should print error message with invalid count") {
+            visor.events("-id8=@n0 -c=x")
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/gc/VisorGcCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/gc/VisorGcCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/gc/VisorGcCommandSpec.scala
index 678aaf4..b467687 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/gc/VisorGcCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/gc/VisorGcCommandSpec.scala
@@ -25,15 +25,14 @@ import org.apache.ignite.visor.{VisorRuntimeBaseSpec, visor}
  * Unit test for 'gc' command.
  */
 class VisorGcCommandSpec extends VisorRuntimeBaseSpec(1) {
-    behavior of "A 'gc' visor command"
-
     /**
      * Creates grid configuration for provided grid host.
      *
      * @param name Grid name.
      * @return Grid configuration.
      */
-    override def config(name: String): IgniteConfiguration = {
+    override def config(name: String): IgniteConfiguration =
+    {
         val cfg = new IgniteConfiguration
 
         cfg.setGridName(name)
@@ -41,19 +40,22 @@ class VisorGcCommandSpec extends VisorRuntimeBaseSpec(1) {
         cfg
     }
 
-    it should "run GC on all nodes" in {
-        visor.gc()
-    }
+    describe("'gc' visor command") {
+        it("should run GC on all nodes") {
+            visor.gc()
+        }
 
-    it should "run GC on first node" in {
-        visor.gc("-id8=@n0")
-    }
+        it("should run GC on first node") {
+            visor.gc("-id8=@n0")
+        }
 
-    it should "run GC and DGC on all nodes" in {
-        visor.gc("-c")
-    }
+        it("should run GC and DGC on all nodes") {
+            visor.gc("-c")
+        }
+
+        it("should run GC and DGC on first node") {
+            visor.gc("-id8=@n0 -c")
+        }
 
-    it should "run GC and DGC on first node" in {
-        visor.gc("-id8=@n0 -c")
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/help/VisorHelpCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/help/VisorHelpCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/help/VisorHelpCommandSpec.scala
index b97cb85..43c6f52 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/help/VisorHelpCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/help/VisorHelpCommandSpec.scala
@@ -23,7 +23,7 @@ import org.scalatest._
 /**
  * Unit test for 'help' command.
  */
-class VisorHelpCommandSpec extends FlatSpec with Matchers {
+class VisorHelpCommandSpec extends FunSpec with Matchers {
     // Pre-initialize command so that help can be registered.
     commands.ack.VisorAckCommand
     commands.ping.VisorPingCommand
@@ -40,29 +40,34 @@ class VisorHelpCommandSpec extends FlatSpec with Matchers {
     commands.deploy.VisorDeployCommand
     commands.start.VisorStartCommand
 
-    "General help" should "properly execute via alias" in { visor.help() }
-    "General help" should "properly execute w/o alias" in { visor.help() }
-    "Help for 'start' command" should "properly execute" in { visor.help("start") }
-    "Help for 'deploy' command" should "properly execute" in { visor.help("deploy") }
-    "Help for 'events' command" should "properly execute" in { visor.help("events") }
-    "Help for 'mclear' command" should "properly execute" in { visor.help("mclear") }
-    "Help for 'cache' command" should "properly execute" in { visor.help("cache") }
-    "Help for 'disco' command" should "properly execute" in { visor.help("disco") }
-    "Help for 'alert' command" should "properly execute" in { visor.help("alert") }
-    "Help for 'node' command" should "properly execute" in { visor.help("node") }
-    "Help for 'vvm' command" should "properly execute" in { visor.help("vvm") }
-    "Help for 'kill' command" should "properly execute" in { visor.help("kill") }
-    "Help for 'top' command" should "properly execute" in { visor.help("top") }
-    "Help for 'config' command" should "properly execute" in { visor.help("config") }
-    "Help for 'ack' command" should "properly execute" in { visor.help("ack") }
-    "Help for 'ping' command" should "properly execute" in { visor.help("ping") }
-    "Help for 'close' command" should "properly execute" in { visor.help("close") }
-    "Help for 'open' command" should "properly execute" in { visor.help("open") }
-    "Help for 'status' command" should "properly execute" in { visor.help("status") }
-    "Help for 'mset' command" should "properly execute" in { visor.help("mset") }
-    "Help for 'mget' command" should "properly execute" in { visor.help("mget") }
-    "Help for 'mlist' command" should "properly execute" in { visor.help("mlist") }
-    "Help for 'help' command" should "properly execute" in { visor.help("help") }
-    "Help for 'log' command" should "properly execute" in { visor.help("log") }
-    "Help for 'dash' command" should "properly execute" in { visor.help("dash") }
+
+    describe("General help") {
+        it ("should properly execute via alias") { visor.searchCmd("?").get.emptyArgs }
+        it ("should properly execute w/o alias") { visor.searchCmd("help").get.emptyArgs }
+    }
+
+    describe("Help for command") {
+        it ("should properly execute for 'start' command") { visor.help("start") }
+        it ("should properly execute for 'deploy' command") { visor.help("deploy") }
+        it ("should properly execute for 'events' command") { visor.help("events") }
+        it ("should properly execute for 'mclear' command") { visor.help("mclear") }
+        it ("should properly execute for 'cache' command") { visor.help("cache") }
+        it ("should properly execute for 'disco' command") { visor.help("disco") }
+        it ("should properly execute for 'alert' command") { visor.help("alert") }
+        it ("should properly execute for 'node' command") { visor.help("node") }
+        it ("should properly execute for 'vvm' command") { visor.help("vvm") }
+        it ("should properly execute for 'kill' command") { visor.help("kill") }
+        it ("should properly execute for 'top' command") { visor.help("top") }
+        it ("should properly execute for 'config' command") { visor.help("config") }
+        it ("should properly execute for 'ack' command") { visor.help("ack") }
+        it ("should properly execute for 'ping' command") { visor.help("ping") }
+        it ("should properly execute for 'close' command") { visor.help("close") }
+        it ("should properly execute for 'open' command") { visor.help("open") }
+        it ("should properly execute for 'start' status") { visor.help("status") }
+        it ("should properly execute for 'start' mset") { visor.help("mset") }
+        it ("should properly execute for 'start' mget") { visor.help("mget") }
+        it ("should properly execute for 'start' mlist") { visor.help("mlist") }
+        it ("should properly execute for 'start' log") { visor.help("log") }
+        it ("should properly execute for 'start' dash") { visor.help("dash") }
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/kill/VisorKillCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/kill/VisorKillCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/kill/VisorKillCommandSpec.scala
index 43ef313..2c659b5 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/kill/VisorKillCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/kill/VisorKillCommandSpec.scala
@@ -25,34 +25,34 @@ import org.apache.ignite.visor.commands.kill.VisorKillCommand._
 /**
  * Unit test for 'kill' command.
  */
-class VisorKillCommandSpec extends FlatSpec with Matchers {
-    behavior of "A 'kill' visor command"
-
-    it should "print error message with null argument" in {
-        visor.open("-d")
-        visor.kill(null)
-        visor.close()
-    }
-
-    it should "print error message if both kill and restart specified" in {
-        visor.open("-d")
-        visor.kill("-k -r")
-        visor.close()
-    }
-
-    it should "print error message if not connected" in {
-        visor.kill("-k")
-    }
-
-    it should "restart node" in {
-        visor.open("-d")
-        visor.kill("-r -id8=@n1")
-        visor.close()
-    }
-
-    it should "print error message" in {
-        visor.open("-d")
-        visor.kill("-r -id=xxx")
-        visor.close()
+class VisorKillCommandSpec extends FunSpec with Matchers {
+    describe("A 'kill' visor command") {
+        it("should print error message with null argument") {
+            visor.open("-d")
+            visor.kill(null)
+            visor.close()
+        }
+
+        it("should print error message if both kill and restart specified") {
+            visor.open("-d")
+            visor.kill("-k -r")
+            visor.close()
+        }
+
+        it("should print error message if not connected") {
+            visor.kill("-k")
+        }
+
+        it("should restart node") {
+            visor.open("-d")
+            visor.kill("-r -id8=@n1")
+            visor.close()
+        }
+
+        it("should print error message") {
+            visor.open("-d")
+            visor.kill("-r -id=xxx")
+            visor.close()
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/log/VisorLogCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/log/VisorLogCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/log/VisorLogCommandSpec.scala
index dcf7aae..ddb84ea 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/log/VisorLogCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/log/VisorLogCommandSpec.scala
@@ -23,10 +23,10 @@ import org.scalatest._
 /**
 * Unit test for 'log' command.
 */
-class VisorLogCommandSpec extends FlatSpec with Matchers {
-    behavior of "A 'log' visor command"
-
-    it should "print log status" in {
-        visor.log()
+class VisorLogCommandSpec extends FunSpec with Matchers {
+    describe("A 'log' visor command") {
+        it("should print log status") {
+            visor.log()
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/9433882d/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/mem/VisorMemoryCommandSpec.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/mem/VisorMemoryCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/mem/VisorMemoryCommandSpec.scala
index 744d93b..27eaa94 100644
--- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/mem/VisorMemoryCommandSpec.scala
+++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/mem/VisorMemoryCommandSpec.scala
@@ -23,53 +23,60 @@ import org.scalatest._
 /**
  * Unit test for memory commands.
  */
-class VisorMemoryCommandSpec extends FlatSpec with Matchers {
-    "A 'mget' visor command" should "get correct value" in {
-        visor.mset("key", "value")
+class VisorMemoryCommandSpec extends FunSpec with Matchers {
+    describe("A 'mget' visor command") {
+        it("should get correct value") {
+            visor.mset("key", "value")
 
-        assertResult(Option("value"))(visor.mgetOpt("key"))
+            assertResult(Option("value"))(visor.mgetOpt("key"))
 
-        visor.mclear()
+            visor.mclear()
+        }
     }
 
-    "A 'mlist' visor command" should "list all variables" in {
-        visor.mset("key1", "value1")
-        visor.mset("key2", "value2")
-        visor.mset("key3", "value3")
+    describe("A 'mlist' visor command") {
+        it("should list all variables") {
+            visor.mset("key1", "value1")
+            visor.mset("key2", "value2")
+            visor.mset("key3", "value3")
 
-        visor.mlist()
-        visor.mclear()
-    }
+            visor.mlist()
+            visor.mclear()
+        }
 
-    "A 'mlist' visor command" should "list ax and cx variables" in {
-        visor.mset("a1", "1")
-        visor.mset("a2", "2")
-        visor.mset("b1", "3")
-        visor.mset("b2", "4")
-        visor.mset("c1", "5")
-        visor.mset("c2", "6")
+        it("should list ax and cx variables") {
+            visor.mset("a1", "1")
+            visor.mset("a2", "2")
+            visor.mset("b1", "3")
+            visor.mset("b2", "4")
+            visor.mset("c1", "5")
+            visor.mset("c2", "6")
 
-        visor.mlist("ac")
-        visor.mclear()
+            visor.mlist("ac")
+            visor.mclear()
+        }
     }
 
-    "A 'mclear' visor command" should "remove first two variables" in {
-        visor.mset("key1", "value1")
-        visor.mset("key2", "value2")
-        visor.mset("key3", "value3")
+    describe("A 'mclear' visor command") {
+        it("should remove first two variables") {
+            visor.mset("key1", "value1")
+            visor.mset("key2", "value2")
+            visor.mset("key3", "value3")
 
-        visor mclear "key1 key2"
+            visor mclear "key1 key2"
 
-        visor.mlist()
-        visor.mclear()
-    }
+            visor.mlist()
+            visor.mclear()
+
+        }
 
-    "A 'mclear' visor command" should "remove all variables" in {
-        visor.mset("key1", "value1")
-        visor.mset("key2", "value2")
-        visor.mset("key3", "value3")
+        it("should remove all variables") {
+            visor.mset("key1", "value1")
+            visor.mset("key2", "value2")
+            visor.mset("key3", "value3")
 
-        visor.mclear()
-        visor.mlist()
+            visor.mclear()
+            visor.mlist()
+        }
     }
 }