@Nonnull
    public static <T> StreamSource<T> connect(@Nonnull Properties properties,
                                              @Nonnull FunctionEx<SourceRecord, T> projectionFn) {
        return connect(properties, projectionFn, DEFAULT_RECONNECT_BEHAVIOR);
    }
@Test
    public void should_fail_when_no_name_property() {
        Properties properties = new Properties();
        assertThatThrownBy(() -> connect(properties, TestUtil::convertToString))
                .isInstanceOf(IllegalArgumentException.class)
                .hasMessage("Property 'name' is required");
    }