Refactor toJson(:Region) to serialize the values from the Region using the AbstractObjectArrayToJsonConverter class and CacheUtils.collectValues(:Region) method.

This commit is contained in:
John Blum
2020-06-09 21:44:44 -07:00
parent 53dda1265b
commit e05c627e13
2 changed files with 18 additions and 100 deletions

View File

@@ -55,7 +55,6 @@ import org.springframework.core.io.Resource;
import org.springframework.dao.DataAccessResourceFailureException;
import org.springframework.data.gemfire.util.ArrayUtils;
import org.springframework.geode.data.json.converter.JsonToPdxArrayConverter;
import org.springframework.geode.data.json.converter.ObjectToJsonConverter;
import example.app.crm.model.Customer;
import example.app.pos.model.LineItem;
@@ -829,33 +828,6 @@ public class JsonCacheDataImporterExporterUnitTests {
JsonCacheDataImporterExporter.FILESYSTEM_RESOURCE_PREFIX, System.getProperty("user.dir"), File.separator));
}
@Test
public void toJsonFromRegion() {
String jonDoeJson = "{ \"name\": \"Jon Doe\" }";
String janeDoeJson = "{ \"name\": \"Jane Doe\" }";
String pieDoeJson = "{ \"name\": \"Pie Doe\" }";
String expectedJson = String.format("[%1$s, %2$s, %3$s]", jonDoeJson, janeDoeJson, pieDoeJson);
Customer jonDoe = Customer.newCustomer(1L, "Jon Doe");
Customer janeDoe = Customer.newCustomer(2L, "Jane Doe");
Customer pieDoe = Customer.newCustomer(3L, "Pie Doe");
Region<?, ?> customers = mock(Region.class);
doReturn(Arrays.asList(jonDoe, janeDoe, pieDoe)).when(customers).values();
doReturn(jonDoeJson).when(this.importer).toJson(eq(jonDoe));
doReturn(janeDoeJson).when(this.importer).toJson(eq(janeDoe));
doReturn(pieDoeJson).when(this.importer).toJson(eq(pieDoe));
assertThat(this.importer.toJson(customers)).isEqualTo(expectedJson);
verify(this.importer, times(1)).toJson(eq(jonDoe));
verify(this.importer, times(1)).toJson(eq(janeDoe));
verify(this.importer, times(1)).toJson(eq(pieDoe));
verify(customers, times(1)).values();
}
@Test
public void toJsonFromEmptyRegion() {
@@ -881,22 +853,6 @@ public class JsonCacheDataImporterExporterUnitTests {
}
}
@Test
public void toJsonFromObjectCallsObjectToJsonConverter() {
String json = "{ \"name\": \"Jon Doe\" }";
ObjectToJsonConverter mockConverter = mock(ObjectToJsonConverter.class);
doReturn(mockConverter).when(this.importer).getObjectToJsonConverter();
doReturn(json).when(mockConverter).convert(eq("TEST"));
assertThat(this.importer.toJson("TEST")).isEqualTo(json);
verify(this.importer, times(1)).getObjectToJsonConverter();
verify(mockConverter, times(1)).convert(eq("TEST"));
}
@Test
public void toPdxArrayFromJsonCallsJsonToPdxArrayConverter() {