This is an automated email from the ASF dual-hosted git repository.

zhaojinchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 3711cab0a21 Refactor MppdbDecodingPluginTest (#30298)
3711cab0a21 is described below

commit 3711cab0a21f15db04fee0f4dbd580321a6e39a0
Author: Raigor <[email protected]>
AuthorDate: Mon Feb 26 17:53:20 2024 +0800

    Refactor MppdbDecodingPluginTest (#30298)
---
 .../ingest/wal/decode/MppdbDecodingPluginTest.java | 43 +++++++++-------------
 1 file changed, 17 insertions(+), 26 deletions(-)

diff --git 
a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppdbDecodingPluginTest.java
 
b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppdbDecodingPluginTest.java
index c8471e329b8..221add916f7 100644
--- 
a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppdbDecodingPluginTest.java
+++ 
b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/ingest/wal/decode/MppdbDecodingPluginTest.java
@@ -17,9 +17,6 @@
 
 package org.apache.shardingsphere.data.pipeline.opengauss.ingest.wal.decode;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import lombok.SneakyThrows;
 import org.apache.shardingsphere.data.pipeline.core.exception.IngestException;
 import 
org.apache.shardingsphere.data.pipeline.postgresql.ingest.wal.decode.DecodingException;
 import 
org.apache.shardingsphere.data.pipeline.postgresql.ingest.wal.event.AbstractWALEvent;
@@ -29,6 +26,7 @@ import 
org.apache.shardingsphere.data.pipeline.postgresql.ingest.wal.event.Delet
 import 
org.apache.shardingsphere.data.pipeline.postgresql.ingest.wal.event.PlaceholderEvent;
 import 
org.apache.shardingsphere.data.pipeline.postgresql.ingest.wal.event.UpdateRowEvent;
 import 
org.apache.shardingsphere.data.pipeline.postgresql.ingest.wal.event.WriteRowEvent;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
 import org.junit.jupiter.api.Test;
 import org.opengauss.jdbc.TimestampUtils;
 import org.opengauss.replication.LogSequenceNumber;
@@ -53,8 +51,6 @@ import static org.mockito.Mockito.when;
 
 class MppdbDecodingPluginTest {
     
-    private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
-    
     private final LogSequenceNumber pgSequenceNumber = 
LogSequenceNumber.valueOf("0/14EFDB8");
     
     private final OpenGaussLogSequenceNumber logSequenceNumber = new 
OpenGaussLogSequenceNumber(pgSequenceNumber);
@@ -68,18 +64,13 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsType(insertTypes);
         tableData.setColumnsName(IntStream.range(0, 
insertTypes.length).mapToObj(idx -> "data" + idx).toArray(String[]::new));
         tableData.setColumnsVal(IntStream.range(0, 
insertTypes.length).mapToObj(idx -> "'1 2 3'").toArray(String[]::new));
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         assertThat(actual.getLogSequenceNumber(), is(logSequenceNumber));
         assertThat(actual.getTableName(), is("test"));
         IntStream.range(0, insertTypes.length).forEach(each -> 
assertThat(actual.getAfterRow().get(each), is("1 2 3")));
     }
     
-    @SneakyThrows
-    private String toJSON(final MppTableData tableData) {
-        return OBJECT_MAPPER.writeValueAsString(tableData);
-    }
-    
     @Test
     void assertDecodeUpdateRowEvent() {
         MppTableData tableData = new MppTableData();
@@ -88,7 +79,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"character varying"});
         tableData.setColumnsVal(new String[]{"'1 2 3'"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         UpdateRowEvent actual = (UpdateRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         assertThat(actual.getLogSequenceNumber(), is(logSequenceNumber));
         assertThat(actual.getTableName(), is("test"));
@@ -105,7 +96,7 @@ class MppdbDecodingPluginTest {
         tableData.setOldKeysType(deleteTypes);
         tableData.setOldKeysName(IntStream.range(0, 
deleteTypes.length).mapToObj(idx -> "data" + idx).toArray(String[]::new));
         tableData.setOldKeysVal(deleteValues);
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         DeleteRowEvent actual = (DeleteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         assertThat(actual.getLogSequenceNumber(), is(logSequenceNumber));
         assertThat(actual.getTableName(), is("test"));
@@ -120,7 +111,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"money"});
         tableData.setColumnsVal(new String[]{"'$1.08'"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         assertThat(actual.getLogSequenceNumber(), is(logSequenceNumber));
         assertThat(actual.getTableName(), is("test"));
@@ -136,7 +127,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"boolean"});
         tableData.setColumnsVal(new String[]{Boolean.TRUE.toString()});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         assertThat(actual.getLogSequenceNumber(), is(logSequenceNumber));
         assertThat(actual.getTableName(), is("test"));
@@ -157,7 +148,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(IntStream.range(0, 
insertTypes.length).mapToObj(idx -> "data" + idx).toArray(String[]::new));
         tableData.setColumnsType(insertTypes);
         tableData.setColumnsVal(insertValues);
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         TimestampUtils timestampUtils = mock(TimestampUtils.class);
         when(timestampUtils.toTime(null, 
"21:21:21")).thenReturn(Time.valueOf("21:21:21"));
         when(timestampUtils.toTime(null, "21:21:21 
pst")).thenReturn(Time.valueOf("13:21:21"));
@@ -178,7 +169,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"bytea"});
         tableData.setColumnsVal(new String[]{"'\\xff00ab'"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         assertThat(actual.getLogSequenceNumber(), is(logSequenceNumber));
         assertThat(actual.getTableName(), is("test"));
@@ -195,7 +186,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"raw"});
         tableData.setColumnsVal(new String[]{"'7D'"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         assertThat(actual.getLogSequenceNumber(), is(logSequenceNumber));
         assertThat(actual.getTableName(), is("test"));
@@ -218,7 +209,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"character varying"});
         tableData.setColumnsVal(new String[]{"1 2 3"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         assertThrows(IngestException.class, () -> new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber));
     }
     
@@ -232,19 +223,19 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsVal(new String[]{"'1 2 3'"});
         TimestampUtils timestampUtils = mock(TimestampUtils.class);
         when(timestampUtils.toTime(null, "1 2 3")).thenThrow(new 
SQLException(""));
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         assertThrows(DecodingException.class, () -> new 
MppdbDecodingPlugin(new OpenGaussTimestampUtils(timestampUtils), 
true).decode(data, logSequenceNumber));
     }
     
     @Test
-    void assertDecodeWithXid() throws JsonProcessingException {
+    void assertDecodeWithXid() {
         MppTableData tableData = new MppTableData();
         tableData.setTableName("public.test");
         tableData.setOpType("INSERT");
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"raw"});
         tableData.setColumnsVal(new String[]{"'7D'"});
-        List<String> dataList = Arrays.asList("BEGIN 1", 
OBJECT_MAPPER.writeValueAsString(tableData), 
OBJECT_MAPPER.writeValueAsString(tableData),
+        List<String> dataList = Arrays.asList("BEGIN 1", 
JsonUtils.toJsonString(tableData), JsonUtils.toJsonString(tableData),
                 "COMMIT 1 (at 2022-10-27 04:19:39.476261+00) CSN 3468");
         MppdbDecodingPlugin mppdbDecodingPlugin = new 
MppdbDecodingPlugin(null, true);
         List<AbstractWALEvent> expectedEvent = new LinkedList<>();
@@ -269,7 +260,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"tsrange"});
         tableData.setColumnsVal(new String[]{"'[\"2020-01-01 
00:00:00\",\"2021-01-01 00:00:00\")'"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         Object byteaObj = actual.getAfterRow().get(0);
         assertThat(byteaObj, instanceOf(PGobject.class));
@@ -284,7 +275,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"daterange"});
         tableData.setColumnsVal(new String[]{"'[2020-01-02,2021-01-02)'"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         Object byteaObj = actual.getAfterRow().get(0);
         assertThat(byteaObj, instanceOf(PGobject.class));
@@ -299,7 +290,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"tsquery"});
         tableData.setColumnsVal(new String[]{"'''fff'' | ''faa'''"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         Object byteaObj = actual.getAfterRow().get(0);
         assertThat(byteaObj.toString(), is("'fff' | 'faa'"));
@@ -313,7 +304,7 @@ class MppdbDecodingPluginTest {
         tableData.setColumnsName(new String[]{"data"});
         tableData.setColumnsType(new String[]{"tinyint"});
         tableData.setColumnsVal(new String[]{"255"});
-        ByteBuffer data = ByteBuffer.wrap(toJSON(tableData).getBytes());
+        ByteBuffer data = 
ByteBuffer.wrap(JsonUtils.toJsonString(tableData).getBytes());
         WriteRowEvent actual = (WriteRowEvent) new 
MppdbDecodingPlugin(null).decode(data, logSequenceNumber);
         Object byteaObj = actual.getAfterRow().get(0);
         assertThat(byteaObj, is(255));

Reply via email to