test_class.declarator: logicalReplication
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private LogicalReplication logicalReplication;
test_class.type: LogicalReplication
test_class.var_name: logicalReplication
test_class.declarator: pgConnection
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private PgConnection pgConnection;
test_class.type: PgConnection
test_class.var_name: pgConnection
test_class.declarator: pgReplicationStream
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private PGReplicationStream pgReplicationStream;
test_class.type: PGReplicationStream
test_class.var_name: pgReplicationStream
test_class.declarator: position
test_class.modifier: private
test_class.original_string: private WalPosition position;
test_class.type: WalPosition
test_class.var_name: position
test_class.declarator: postgreSQLWalDumper
test_class.modifier: private
test_class.original_string: private PostgreSQLWalDumper postgreSQLWalDumper;
test_class.type: PostgreSQLWalDumper
test_class.var_name: postgreSQLWalDumper
test_class.declarator: jdbcDataSourceConfig
test_class.modifier: private
test_class.original_string: private JDBCScalingDataSourceConfiguration jdbcDataSourceConfig;
test_class.type: JDBCScalingDataSourceConfiguration
test_class.var_name: jdbcDataSourceConfig
test_class.declarator: channel
test_class.modifier: private
test_class.original_string: private MemoryChannel channel;
test_class.type: MemoryChannel
test_class.var_name: channel
test_class.file: shardingsphere-scaling/shardingsphere-scaling-postgresql/src/test/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLWalDumperTest.java
test_class.identifier: PostgreSQLWalDumperTest
test_case.body: @Test
      public void assertStart() throws SQLException, NoSuchFieldException, IllegalAccessException {
          try {
              ReflectionUtil.setFieldValueToClass(postgreSQLWalDumper, "logicalReplication", logicalReplication);
              when(logicalReplication.createPgConnection(jdbcDataSourceConfig)).thenReturn(pgConnection);
              when(pgConnection.unwrap(PgConnection.class)).thenReturn(pgConnection);
              when(pgConnection.getTimestampUtils()).thenReturn(null);
              when(logicalReplication.createReplicationStream(pgConnection, PostgreSQLPositionManager.SLOT_NAME, position.getLogSequenceNumber())).thenReturn(pgReplicationStream);
              ByteBuffer data = ByteBuffer.wrap("table public.test: DELETE: data[integer]:1".getBytes());
              when(pgReplicationStream.readPending()).thenReturn(null).thenReturn(data).thenThrow(new SQLException(""));
              when(pgReplicationStream.getLastReceiveLSN()).thenReturn(LogSequenceNumber.valueOf(101L));
              postgreSQLWalDumper.start();
          } catch (final SyncTaskExecuteException ignore) {
          }
          assertThat(channel.fetchRecords(100, 0).size(), is(1));
      }
test_case.class_method_signature: PostgreSQLWalDumperTest.assertStart()
test_case.full_signature: @Test public void assertStart()
test_case.identifier: assertStart
test_case.invocations: setFieldValueToClass thenReturn when createPgConnection thenReturn when unwrap thenReturn when getTimestampUtils thenReturn when createReplicationStream getLogSequenceNumber wrap getBytes thenThrow thenReturn thenReturn when readPending thenReturn when getLastReceiveLSN valueOf start assertThat size fetchRecords is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertStart()
focal_class.declarator: walPosition
focal_class.modifier: private final
focal_class.original_string: private final WalPosition walPosition;
focal_class.type: WalPosition
focal_class.var_name: walPosition
focal_class.declarator: dumperConfig
focal_class.modifier: private final
focal_class.original_string: private final DumperConfiguration dumperConfig;
focal_class.type: DumperConfiguration
focal_class.var_name: dumperConfig
focal_class.declarator: logicalReplication = new LogicalReplication()
focal_class.modifier: private final
focal_class.original_string: private final LogicalReplication logicalReplication = new LogicalReplication();
focal_class.type: LogicalReplication
focal_class.var_name: logicalReplication
focal_class.declarator: walEventConverter
focal_class.modifier: private final
focal_class.original_string: private final WalEventConverter walEventConverter;
focal_class.type: WalEventConverter
focal_class.var_name: walEventConverter
focal_class.declarator: channel
focal_class.modifier: @Setter
      private
focal_class.original_string: @Setter
      private Channel channel;
focal_class.type: Channel
focal_class.var_name: channel
focal_class.file: shardingsphere-scaling/shardingsphere-scaling-postgresql/src/main/java/org/apache/shardingsphere/scaling/postgresql/PostgreSQLWalDumper.java
focal_class.identifier: PostgreSQLWalDumper
focal_class.interfaces: implements LogDumper
focal_class.class_method_signature: PostgreSQLWalDumper.PostgreSQLWalDumper(final DumperConfiguration dumperConfig, final Position position)
focal_class.full_signature: public  PostgreSQLWalDumper(final DumperConfiguration dumperConfig, final Position position)
focal_class.identifier: PostgreSQLWalDumper
focal_class.modifiers: public
focal_class.parameters: (final DumperConfiguration dumperConfig, final Position position)
focal_class.signature:  PostgreSQLWalDumper(final DumperConfiguration dumperConfig, final Position position)
focal_class.class_method_signature: PostgreSQLWalDumper.start()
focal_class.full_signature: @Override public void start()
focal_class.identifier: start
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void start()
focal_class.class_method_signature: PostgreSQLWalDumper.dump()
focal_class.full_signature: private void dump()
focal_class.identifier: dump
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void dump()
focal_class.class_method_signature: PostgreSQLWalDumper.pushRecord(final Record record)
focal_class.full_signature: private void pushRecord(final Record record)
focal_class.identifier: pushRecord
focal_class.modifiers: private
focal_class.parameters: (final Record record)
focal_class.return: void
focal_class.signature: void pushRecord(final Record record)
focal_class.superclass: extends AbstractShardingScalingExecutor<WalPosition>
focal_method.body: @Override
      public void start() {
          super.start();
          dump();
      }
focal_method.class_method_signature: PostgreSQLWalDumper.start()
focal_method.full_signature: @Override public void start()
focal_method.identifier: start
focal_method.invocations: start dump
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void start()