### Question:
JDBCSink extends NamedSink { static String columnList(Row entries) { if (entries == null || entries.isEmpty()) { return null; } return (String) entries.getColumnNames(). stream(). reduce((t, u) -> t + "," + u). get(); } JDBCSink();   JDBCSink(UnmanagedConnectionProvider connection, String table); @Override void init(); @Override void processRow(Row columns); @Override void close(); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void columnList() { String expected = "a,b"; String columns = JDBCSink.columnList(getEntries()); assertThat(columns, is(expected)); }
@Test public void emptyColumnList() { String columns = JDBCSink.columnList(new Row()); assertNull(columns); }