IGNITE-1282 Added support for IgniteBinary to IgniteMock.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/22326cc9 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/22326cc9 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/22326cc9 Branch: refs/heads/ignite-1956 Commit: 22326cc9e7994cbb4bf66471503d47ea4f5d4c00 Parents: 0f1dd6f Author: Alexey Kuznetsov <[email protected]> Authored: Wed Nov 25 15:17:01 2015 +0700 Committer: Alexey Kuznetsov <[email protected]> Committed: Wed Nov 25 15:17:01 2015 +0700 ---------------------------------------------------------------------- .../ignite/testframework/junits/IgniteMock.java | 39 +++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/22326cc9/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java index 27a7051..7f27f36 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/junits/IgniteMock.java @@ -42,12 +42,18 @@ import org.apache.ignite.IgniteScheduler; import org.apache.ignite.IgniteServices; import org.apache.ignite.IgniteSet; import org.apache.ignite.IgniteTransactions; +import org.apache.ignite.binary.BinaryObjectBuilder; +import org.apache.ignite.binary.BinaryObjectException; import org.apache.ignite.cache.affinity.Affinity; import org.apache.ignite.cluster.ClusterGroup; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.CollectionConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.NearCacheConfiguration; +import org.apache.ignite.internal.portable.BinaryCachingMetadataHandler; +import org.apache.ignite.internal.portable.PortableContext; +import org.apache.ignite.internal.portable.builder.BinaryObjectBuilderImpl; +import org.apache.ignite.internal.processors.cacheobject.NoOpBinary; import org.apache.ignite.lang.IgniteProductVersion; import org.apache.ignite.marshaller.Marshaller; import org.apache.ignite.plugin.IgnitePlugin; @@ -79,6 +85,12 @@ public class IgniteMock implements Ignite { /** */ private IgniteConfiguration staticCfg; + /** */ + private IgniteBinary binaryMock; + + /** */ + private PortableContext ctx; + /** * Mock values * @@ -278,12 +290,37 @@ public class IgniteMock implements Ignite { /** {@inheritDoc} */ @Override public IgniteBinary binary() { - return null; + if (binaryMock != null) + return binaryMock; + + if (ctx == null) { + /** {@inheritDoc} */ + ctx = new PortableContext(BinaryCachingMetadataHandler.create(), configuration()) { + @Override public int typeId(String typeName) { + return typeName.hashCode(); + } + }; + } + + binaryMock = new NoOpBinary() { + /** {@inheritDoc} */ + @Override public int typeId(String typeName) { + return typeName.hashCode(); + } + + /** {@inheritDoc} */ + @Override public BinaryObjectBuilder builder(String typeName) throws BinaryObjectException { + return new BinaryObjectBuilderImpl(ctx, typeName); + } + }; + + return binaryMock; } /** {@inheritDoc} */ @Override public void close() {} + /** {@inheritDoc} */ @Nullable @Override public IgniteAtomicSequence atomicSequence(String name, long initVal, boolean create) { return null; }
