public void sseWithWriterAndStringReturn() throws Exception {
List<SSEvent> events = ControllerUtil.performSseRequest(mockMvc, "sseProvider",
"message13", null, null, null);
assertThat(events).hasSize(5);
SSEvent event = events.get(0);
assertThat(event.getEvent()).isEqualTo("event");
assertThat(event.getComment()).isEqualTo("first comment");
assertThat(event.getData()).isEqualTo("one");
assertThat(event.getId()).isEqualTo("1");
assertThat(event.getRetry()).isEqualTo(1000);
event = events.get(1);
assertThat(event.getEvent()).isEqualTo("event");
assertThat(event.getComment()).isEqualTo("second comment");
assertThat(event.getData()).isEqualTo("two");
assertThat(event.getId()).isEqualTo("2");
assertThat(event.getRetry()).isEqualTo(1000);
event = events.get(2);
assertThat(event.getEvent()).isNull();
assertThat(event.getComment()).isNull();
assertThat(event.getData()).isEqualTo("third");
assertThat(event.getId()).isNull();
assertThat(event.getRetry()).isNull();
event = events.get(3);
assertThat(event.getEvent()).isNull();
assertThat(event.getComment()).isNull();
assertThat(event.getData()).isEqualTo("fourth");
assertThat(event.getId()).isNull();
assertThat(event.getRetry()).isNull();
event = events.get(4);
assertThat(event.getEvent()).isNull();
assertThat(event.getComment()).isNull();
assertThat(event.getData()).isEqualTo("fifth");
assertThat(event.getId()).isNull();
assertThat(event.getRetry()).isNull();
}