From ef27f2edb44eb560c139e561eebb5bdcb92bac67 Mon Sep 17 00:00:00 2001 From: rajee10 Date: Mon, 2 Apr 2018 23:30:57 -0400 Subject: [PATCH 1/3] Update inconsistency If it is inconsistent, update the new owner with the old owner --- .../samples/petclinic/newDataStore/NewOwnerStore.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStore.java b/src/main/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStore.java index d9499636f..1921e1448 100644 --- a/src/main/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStore.java +++ b/src/main/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStore.java @@ -78,6 +78,7 @@ public class NewOwnerStore { if(iterator.hasNext()) { Owner oldOwner = iterator.next(); if(id != oldOwner.getId() || !ownerStore.get(id).equals(oldOwner)) { + ownerStore.put(id, convertToStaticOwner(oldOwner); inconsistencies++; violation(id, StaticOwner.convertToStaticOwner(oldOwner), ownerStore.get(id)); } From ab3082021fba78f254d034789ea38af1d5fc7258 Mon Sep 17 00:00:00 2001 From: Zackkogan Date: Mon, 2 Apr 2018 23:33:09 -0400 Subject: [PATCH 2/3] Fix test method Test method was not working. Should be working now. --- .../newDataStore/NewOwnerStoreTest.java | 47 +++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) 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 cda2d2aa9..ee42c9bcb 100644 --- a/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java +++ b/src/test/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStoreTest.java @@ -7,13 +7,12 @@ package org.springframework.samples.petclinic.newDataStore; import java.util.*; import java.util.regex.Pattern; -import java.util.Iterator; -import java.util.Map; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; +import org.mockito.MockitoAnnotations; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; import org.springframework.samples.petclinic.owner.Owner; @@ -22,6 +21,8 @@ import org.springframework.samples.petclinic.owner.StaticOwner; import org.springframework.test.context.junit4.SpringRunner; import static org.junit.Assert.*; +import static org.mockito.BDDMockito.given; +import static org.mockito.Mockito.doReturn; /** * @author Gibran @@ -30,22 +31,30 @@ import static org.junit.Assert.*; @DataJpaTest public class NewOwnerStoreTest { + private static final int TEST_OWNER_ID = 1; + @Autowired - OwnerRepository owners; + OwnerRepository ownerRepository; NewOwnerStore testOwnerStore; - HashMap ownerStore; + Map ownerStore; - - @Mock - Owner mockOwner; + Owner owner; @Before public void setup() { - testOwnerStore = NewOwnerStore.getInstance(owners); + testOwnerStore = NewOwnerStore.getInstance(ownerRepository); testOwnerStore.forklift(); ownerStore = testOwnerStore.getStore(); + MockitoAnnotations.initMocks(this); + doReturn(TEST_OWNER_ID).when(owner).getId(); + doReturn("John").when(owner).getFirstName(); + doReturn("Doe").when(owner).getLastName(); + doReturn("123 Cucumber Lane").when(owner).getAddress(); + doReturn("Placeville").when(owner).getCity(); + doReturn("1234567890").when(owner).getTelephone(); + given(this.ownerRepository.findById(TEST_OWNER_ID)).willReturn(owner); } @Test @@ -60,10 +69,10 @@ public class NewOwnerStoreTest { @Test public void testShadowRead() { - testOwnerStore = NewOwnerStore.getInstance(owners); + testOwnerStore = NewOwnerStore.getInstance(ownerRepository); testOwnerStore.forklift(); - Collection results = this.owners.findByLastName(""); + Collection results = this.ownerRepository.findByLastName(""); int inconsistencies = compareResults(results, ""); @@ -116,16 +125,16 @@ public class NewOwnerStoreTest { } @Test - public void checkShadowWrite() { - testOwnerStore = NewOwnerStore.getInstance(owners); + public void testShadowWrite() { + testOwnerStore = NewOwnerStore.getInstance(ownerRepository); - //make sure that inconsisties are recorded and fixed - testOwnerStore.testPutInOldDatastoreOnly(mockOwner); - assertEquals(1, testOwnerStore.checkConsistency()); - assertEquals(0, testOwnerStore.checkConsistency()); + //make sure that inconsistencies are recorded and fixed + testOwnerStore.testPutInOldDatastoreOnly(owner); + 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()); + //make sure that any changes written to old database are also written to new database + testOwnerStore.save(owner); + assertEquals(0, testOwnerStore.checkConsistency()); } } From f5f4c259459162b1cb243f2184c145918867baab Mon Sep 17 00:00:00 2001 From: Zackkogan Date: Mon, 2 Apr 2018 23:47:08 -0400 Subject: [PATCH 3/3] minor fixes fix some small things so the code runs --- .../samples/petclinic/newDataStore/NewOwnerStore.java | 2 +- .../samples/petclinic/owner/OwnerController.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStore.java b/src/main/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStore.java index 1921e1448..3d1264d6e 100644 --- a/src/main/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStore.java +++ b/src/main/java/org/springframework/samples/petclinic/newDataStore/NewOwnerStore.java @@ -78,7 +78,7 @@ public class NewOwnerStore { if(iterator.hasNext()) { Owner oldOwner = iterator.next(); if(id != oldOwner.getId() || !ownerStore.get(id).equals(oldOwner)) { - ownerStore.put(id, convertToStaticOwner(oldOwner); + ownerStore.put(id, StaticOwner.convertToStaticOwner(oldOwner)); inconsistencies++; violation(id, StaticOwner.convertToStaticOwner(oldOwner), ownerStore.get(id)); } diff --git a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java index e0f45b396..80b0cf4c2 100644 --- a/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java +++ b/src/main/java/org/springframework/samples/petclinic/owner/OwnerController.java @@ -117,7 +117,7 @@ class OwnerController { String pattern = lastName + "*"; NewOwnerStore newStore = NewOwnerStore.getInstance(owners); - newStore.populateStore(); + newStore.forklift(); HashMap storeMap = newStore.getStore();