From 2300f72c5200d5305ab129fe65c1148135b55d4f Mon Sep 17 00:00:00 2001 From: Zackkogan Date: Mon, 2 Apr 2018 23:20:21 -0400 Subject: [PATCH] Adds Shadow Write Test Method Commit adds the test method for the shadow write. It ensures that any inconsistencies are properly handled and that changes to the old database are properly mirrored in the new database. --- .../newDataStore/NewOwnerStoreTest.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java b/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java index 2faebb633..b3e73d674 100644 --- a/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java +++ b/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java @@ -8,12 +8,16 @@ import java.util.Map; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.samples.petclinic.owner.Owner; import org.springframework.samples.petclinic.owner.OwnerRepository; import org.springframework.samples.petclinic.owner.StaticOwner; import org.springframework.test.context.junit4.SpringRunner; +import static org.junit.Assert.assertEquals; + /** * @author Gibran */ @@ -28,6 +32,9 @@ public class NewOwnerStoreTest { Map ownerStore; + @Mock + Owner mockOwner; + @Before public void setup() { testOwnerStore = new NewOwnerStore(owner); @@ -50,4 +57,20 @@ public class NewOwnerStoreTest { public void consistencyCheck () { System.out.println(testOwnerStore.checkConsistency()); } + + @Test + public void checkShadowWrite() { + testOwnerStore = new NewOwnerStore(owner); + + //make sure that inconsisties are recorded and fixed + testOwnerStore.testPutInOldDatastoreOnly(mockOwner); + assertEquals(1, testOwnerStore.checkConsistency()); + assertEquals(0, testOwnerStore.checkConsistency()); + + //make sure that any changes written to old database are also written to new database + testOwnerStore.save(mockOwner); + assertEquals(0, testOwnerStore.checkConsistency()); + } + + }