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()); + } + + }