You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2015/07/28 14:55:41 UTC

[44/50] zest-java git commit: ZEST-107 Moved issue test to core/testsupport/AbstractEntityStoreTest

ZEST-107 Moved issue test to core/testsupport/AbstractEntityStoreTest


Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/12622af2
Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/12622af2
Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/12622af2

Branch: refs/heads/master
Commit: 12622af224963294fea405cff9cf96b200fb12e4
Parents: 14cbf30
Author: Paul Merlin <pa...@apache.org>
Authored: Mon Jul 27 16:27:03 2015 +0200
Committer: Paul Merlin <pa...@apache.org>
Committed: Mon Jul 27 17:09:02 2015 +0200

----------------------------------------------------------------------
 .../test/entity/AbstractEntityStoreTest.java    |  27 ++++
 .../qi4j/cache/ehcache/JSONEntityStoreTest.java | 134 -------------------
 2 files changed, 27 insertions(+), 134 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zest-java/blob/12622af2/core/testsupport/src/main/java/org/qi4j/test/entity/AbstractEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/core/testsupport/src/main/java/org/qi4j/test/entity/AbstractEntityStoreTest.java b/core/testsupport/src/main/java/org/qi4j/test/entity/AbstractEntityStoreTest.java
index 4549826..f78f932 100644
--- a/core/testsupport/src/main/java/org/qi4j/test/entity/AbstractEntityStoreTest.java
+++ b/core/testsupport/src/main/java/org/qi4j/test/entity/AbstractEntityStoreTest.java
@@ -53,6 +53,7 @@ import org.qi4j.spi.uuid.UuidIdentityGeneratorService;
 import org.qi4j.test.AbstractQi4jTest;
 
 import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.not;
 import static org.joda.time.DateTimeZone.UTC;
 import static org.junit.Assert.assertThat;
@@ -455,6 +456,32 @@ public abstract class AbstractEntityStoreTest
         }
     }
 
+    @Test
+    public void givenEntityStoredLoadedChangedWhenUnitOfWorkDiscardsThenDontStoreState()
+        throws UnitOfWorkCompletionException
+    {
+        UnitOfWork unitOfWork = module.newUnitOfWork();
+        try
+        {
+            String identity = createEntity( unitOfWork ).identity().get();
+            unitOfWork.complete();
+
+            unitOfWork = module.newUnitOfWork();
+            TestEntity entity = unitOfWork.get( TestEntity.class, identity );
+            assertThat( entity.intValue().get(), is( 42 ) );
+            entity.intValue().set( 23 );
+            unitOfWork.discard();
+
+            unitOfWork = module.newUnitOfWork();
+            entity = unitOfWork.get( TestEntity.class, identity );
+            assertThat( entity.intValue().get(), is( 42 ) );
+        }
+        finally
+        {
+            unitOfWork.discard();
+        }
+    }
+
     public interface TestEntity
         extends EntityComposite
     {

http://git-wip-us.apache.org/repos/asf/zest-java/blob/12622af2/extensions/cache-ehcache/src/test/java/org/qi4j/cache/ehcache/JSONEntityStoreTest.java
----------------------------------------------------------------------
diff --git a/extensions/cache-ehcache/src/test/java/org/qi4j/cache/ehcache/JSONEntityStoreTest.java b/extensions/cache-ehcache/src/test/java/org/qi4j/cache/ehcache/JSONEntityStoreTest.java
deleted file mode 100644
index 14250ce..0000000
--- a/extensions/cache-ehcache/src/test/java/org/qi4j/cache/ehcache/JSONEntityStoreTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.qi4j.cache.ehcache;
-
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.qi4j.api.common.Visibility;
-import org.qi4j.api.entity.EntityBuilder;
-import org.qi4j.api.entity.EntityComposite;
-import org.qi4j.api.property.Property;
-import org.qi4j.api.unitofwork.UnitOfWork;
-import org.qi4j.api.value.ValueSerialization;
-import org.qi4j.bootstrap.AssemblyException;
-import org.qi4j.bootstrap.ModuleAssembly;
-import org.qi4j.bootstrap.SingletonAssembler;
-import org.qi4j.entitystore.memory.MemoryEntityStoreService;
-import org.qi4j.spi.uuid.UuidIdentityGeneratorService;
-import org.qi4j.test.EntityTestAssembler;
-import org.qi4j.valueserialization.orgjson.OrgJsonValueSerializationService;
-
-import java.math.BigDecimal;
-
-import static org.junit.Assert.assertEquals;
-
-/**
- *
- */
-public class JSONEntityStoreTest
-{
-
-    private static SingletonAssembler assembler;
-
-    @BeforeClass
-    public static void setup()
-            throws Exception
-    {
-        assembler = new SingletonAssembler()
-        {
-            public void assemble( ModuleAssembly module )
-                    throws AssemblyException
-            {
-                module.entities(
-                        Account.class
-                );
-
-                ModuleAssembly cacheCfgModule = module.layer().application().layer("configLayer").module( "configModule" );
-
-                cacheCfgModule.services( MemoryEntityStoreService.class )
-                        .instantiateOnStartup()
-                        .visibleIn(Visibility.module);
-
-                cacheCfgModule.services( UuidIdentityGeneratorService.class ).visibleIn( Visibility.module );
-                cacheCfgModule.services( OrgJsonValueSerializationService.class ).taggedWith( ValueSerialization.Formats.JSON );
-                cacheCfgModule.entities( EhCacheConfiguration.class).visibleIn(Visibility.application);
-
-                module.layer().uses( cacheCfgModule.layer() );
-
-                module.services( EhCachePoolService.class)
-                        .visibleIn(Visibility.module)
-                        .identifiedBy("ehcache");
-
-
-                new EntityTestAssembler()
-                        .visibleIn( Visibility.module)
-                        .assemble( module);
-
-            }
-        };
-
-    }
-
-    @Test
-    public void cached_NEW_State()
-            throws Exception
-    {
-
-        UnitOfWork uow1 = assembler.module().newUnitOfWork();
-        EntityBuilder<Account> b = uow1.newEntityBuilder(Account.class);
-
-        b.instance().name().set("account1");
-        b.instance().balance().set( BigDecimal.ZERO );
-
-        String accountId = b.newInstance().identity().get();
-
-        uow1.complete();
-
-        UnitOfWork uow2 = assembler.module().newUnitOfWork();
-        Account account2 = uow2.get(Account.class, accountId);
-        account2.balance().set( BigDecimal.ONE);
-        uow2.complete();
-
-    }
-
-    @Test
-    public void globalStateClone()
-            throws Exception
-    {
-
-        UnitOfWork uow1 = assembler.module().newUnitOfWork();
-        EntityBuilder<Account> b = uow1.newEntityBuilder(Account.class);
-
-        b.instance().name().set("account1");
-        b.instance().balance().set( BigDecimal.ZERO );
-
-        String accountId = b.newInstance().identity().get();
-
-        uow1.complete();
-
-        UnitOfWork uow2 = assembler.module().newUnitOfWork();
-        Account account2 = uow2.get( Account.class, accountId);
-        account2.balance().set( BigDecimal.ONE);
-        uow2.complete();
-
-        UnitOfWork uow3 = assembler.module().newUnitOfWork();
-        Account account3 = uow3.get( Account.class, accountId);
-        account3.balance().set( BigDecimal.TEN);
-        uow3.discard();
-
-        UnitOfWork uow4 = assembler.module().newUnitOfWork();
-        Account account4 = uow4.get( Account.class, accountId);
-
-        assertEquals( BigDecimal.ONE, account4.balance().get());
-
-        uow4.discard();
-    }
-
-        public interface Account
-            extends EntityComposite
-    {
-
-        Property<String> name();
-
-        Property<BigDecimal> balance();
-    }
-
-}