Adds more tests to PersistenceStoreObjectAccessorWriterTestFixture These tests were in MementoFileWriterTest, but missing in newer version. Also fixes it for InMemoryObjectStore.append
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/2184e350 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/2184e350 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/2184e350 Branch: refs/heads/master Commit: 2184e350938ed8950202cd690c12d64a84155892 Parents: 358806d Author: Aled Sage <[email protected]> Authored: Wed Jul 29 16:56:20 2015 +0100 Committer: Aled Sage <[email protected]> Committed: Sat Aug 1 00:16:50 2015 +0100 ---------------------------------------------------------------------- .../rebind/persister/InMemoryObjectStore.java | 2 +- ...nceStoreObjectAccessorWriterTestFixture.java | 27 +++++++++++++++++--- .../JcloudsObjectStoreAccessorWriterTest.java | 12 +++++++++ 3 files changed, 37 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2184e350/core/src/test/java/brooklyn/entity/rebind/persister/InMemoryObjectStore.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/entity/rebind/persister/InMemoryObjectStore.java b/core/src/test/java/brooklyn/entity/rebind/persister/InMemoryObjectStore.java index c829369..a5c7cc6 100644 --- a/core/src/test/java/brooklyn/entity/rebind/persister/InMemoryObjectStore.java +++ b/core/src/test/java/brooklyn/entity/rebind/persister/InMemoryObjectStore.java @@ -109,7 +109,7 @@ public class InMemoryObjectStore implements PersistenceObjectStore { if (val2==null) val2 = val; else val2 = val2 + val; - map.put(key, val); + map.put(key, val2); mapModTime.put(key, new Date()); } } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2184e350/core/src/test/java/brooklyn/entity/rebind/persister/PersistenceStoreObjectAccessorWriterTestFixture.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/entity/rebind/persister/PersistenceStoreObjectAccessorWriterTestFixture.java b/core/src/test/java/brooklyn/entity/rebind/persister/PersistenceStoreObjectAccessorWriterTestFixture.java index 6cdb32d..740a2f2 100644 --- a/core/src/test/java/brooklyn/entity/rebind/persister/PersistenceStoreObjectAccessorWriterTestFixture.java +++ b/core/src/test/java/brooklyn/entity/rebind/persister/PersistenceStoreObjectAccessorWriterTestFixture.java @@ -20,6 +20,7 @@ package brooklyn.entity.rebind.persister; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; +import static org.testng.Assert.assertTrue; import java.io.IOException; import java.util.Date; @@ -30,14 +31,14 @@ import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; +import com.google.common.util.concurrent.ListeningExecutorService; +import com.google.common.util.concurrent.MoreExecutors; + import brooklyn.entity.rebind.persister.PersistenceObjectStore.StoreObjectAccessorWithLock; import brooklyn.util.text.Identifiers; import brooklyn.util.time.Duration; import brooklyn.util.time.Time; -import com.google.common.util.concurrent.ListeningExecutorService; -import com.google.common.util.concurrent.MoreExecutors; - public abstract class PersistenceStoreObjectAccessorWriterTestFixture { private static final Duration TIMEOUT = Duration.TEN_SECONDS; @@ -70,6 +71,26 @@ public abstract class PersistenceStoreObjectAccessorWriterTestFixture { assertEquals(accessor.get(), "abc"); } + @Test + public void testExists() throws Exception { + accessor.put("abc"); + accessor.waitForCurrentWrites(TIMEOUT); + assertTrue(accessor.exists()); + + accessor.delete(); + accessor.waitForCurrentWrites(TIMEOUT); + assertFalse(accessor.exists()); + } + + @Test + public void testAppendsFile() throws Exception { + accessor.put("abc\n"); + accessor.append("def\n"); + accessor.waitForCurrentWrites(TIMEOUT); + + assertEquals(accessor.get(), "abc\ndef\n"); + } + /** most storage systems support <= 1ms resolution; but some file systems -- esp FAT and OSX HFS+ are much much higher! */ protected Duration getLastModifiedResolution() { return Duration.millis(1); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/2184e350/locations/jclouds/src/test/java/brooklyn/entity/rebind/persister/jclouds/JcloudsObjectStoreAccessorWriterTest.java ---------------------------------------------------------------------- diff --git a/locations/jclouds/src/test/java/brooklyn/entity/rebind/persister/jclouds/JcloudsObjectStoreAccessorWriterTest.java b/locations/jclouds/src/test/java/brooklyn/entity/rebind/persister/jclouds/JcloudsObjectStoreAccessorWriterTest.java index ef62dee..37549a6 100644 --- a/locations/jclouds/src/test/java/brooklyn/entity/rebind/persister/jclouds/JcloudsObjectStoreAccessorWriterTest.java +++ b/locations/jclouds/src/test/java/brooklyn/entity/rebind/persister/jclouds/JcloudsObjectStoreAccessorWriterTest.java @@ -167,4 +167,16 @@ public class JcloudsObjectStoreAccessorWriterTest extends PersistenceStoreObject public void testLastModifiedTime() throws Exception { super.testLastModifiedTime(); } + + @Test(groups={"Live", "Live-sanity"}) + @Override + public void testExists() throws Exception { + super.testExists(); + } + + @Test(groups={"Live", "Live-sanity"}) + @Override + public void testAppendsFile() throws Exception { + super.testAppendsFile(); + } }
