diff --git a/private/model/api/codegentest/service/restjsonservice/eventstream_test.go b/private/model/api/codegentest/service/restjsonservice/eventstream_test.go index bf3f2c4914e..f19a7974fde 100644 --- a/private/model/api/codegentest/service/restjsonservice/eventstream_test.go +++ b/private/model/api/codegentest/service/restjsonservice/eventstream_test.go @@ -84,14 +84,16 @@ func TestEmptyStream_ReadClose(t *testing.T) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.EventStream.Err() - select { - case _, ok := <-resp.EventStream.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.EventStream.Err() + select { + case _, ok := <-resp.EventStream.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.EventStream.Close() @@ -224,14 +226,16 @@ func TestGetEventStream_ReadClose(t *testing.T) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.EventStream.Err() - select { - case _, ok := <-resp.EventStream.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.EventStream.Err() + select { + case _, ok := <-resp.EventStream.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.EventStream.Close() diff --git a/private/model/api/codegentest/service/restxmlservice/eventstream_test.go b/private/model/api/codegentest/service/restxmlservice/eventstream_test.go index 44019f529e8..4c815a27d60 100644 --- a/private/model/api/codegentest/service/restxmlservice/eventstream_test.go +++ b/private/model/api/codegentest/service/restxmlservice/eventstream_test.go @@ -84,14 +84,16 @@ func TestEmptyStream_ReadClose(t *testing.T) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.EventStream.Err() - select { - case _, ok := <-resp.EventStream.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.EventStream.Err() + select { + case _, ok := <-resp.EventStream.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.EventStream.Close() @@ -224,14 +226,16 @@ func TestGetEventStream_ReadClose(t *testing.T) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.EventStream.Err() - select { - case _, ok := <-resp.EventStream.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.EventStream.Err() + select { + case _, ok := <-resp.EventStream.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.EventStream.Close() diff --git a/private/model/api/codegentest/service/rpcservice/eventstream_test.go b/private/model/api/codegentest/service/rpcservice/eventstream_test.go index 929715da576..817f4158d32 100644 --- a/private/model/api/codegentest/service/rpcservice/eventstream_test.go +++ b/private/model/api/codegentest/service/rpcservice/eventstream_test.go @@ -86,14 +86,16 @@ func TestEmptyStream_ReadClose(t *testing.T) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.EventStream.Err() - select { - case _, ok := <-resp.EventStream.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.EventStream.Err() + select { + case _, ok := <-resp.EventStream.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.EventStream.Close() @@ -248,14 +250,16 @@ func TestGetEventStream_ReadClose(t *testing.T) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.AEventStreamRef.Err() - select { - case _, ok := <-resp.AEventStreamRef.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.AEventStreamRef.Err() + select { + case _, ok := <-resp.AEventStreamRef.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.AEventStreamRef.Close() diff --git a/private/model/api/eventstream.go b/private/model/api/eventstream.go index b8bc2db70c0..576848c6d83 100644 --- a/private/model/api/eventstream.go +++ b/private/model/api/eventstream.go @@ -208,7 +208,7 @@ func setupEventStream(topShape *Shape) *EventStream { eventRef.Shape.EventFor = append(eventRef.Shape.EventFor, eventStream) // Exceptions and events are two different lists to allow the SDK - // to easly generate code with the two handled differently. + // to easily generate code with the two handled differently. event := &Event{ Name: eventRefName, Shape: eventRef.Shape, @@ -974,14 +974,16 @@ func (c *loopReader) Read(p []byte) (int, error) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.{{ $esMemberName }}.Err() - select { - case _, ok := <-resp.{{ $esMemberName }}.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.{{ $esMemberName }}.Err() + select { + case _, ok := <-resp.{{ $esMemberName }}.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.{{ $esMemberName }}.Close() diff --git a/service/kinesis/eventstream_test.go b/service/kinesis/eventstream_test.go index 798db08ea30..97271841bb4 100644 --- a/service/kinesis/eventstream_test.go +++ b/service/kinesis/eventstream_test.go @@ -86,14 +86,16 @@ func TestSubscribeToShard_ReadClose(t *testing.T) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.EventStream.Err() - select { - case _, ok := <-resp.EventStream.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.EventStream.Err() + select { + case _, ok := <-resp.EventStream.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.EventStream.Close() diff --git a/service/s3/eventstream_test.go b/service/s3/eventstream_test.go index 35f30565ecf..10911c5be61 100644 --- a/service/s3/eventstream_test.go +++ b/service/s3/eventstream_test.go @@ -84,14 +84,16 @@ func TestSelectObjectContent_ReadClose(t *testing.T) { t.Fatalf("expect no error got, %v", err) } - // Assert calling Err before close does not close the stream. - resp.EventStream.Err() - select { - case _, ok := <-resp.EventStream.Events(): - if !ok { - t.Fatalf("expect stream not to be closed, but was") + if len(eventMsgs) != 0 { + // Assert calling Err before close does not close the stream. + resp.EventStream.Err() + select { + case _, ok := <-resp.EventStream.Events(): + if !ok { + t.Fatalf("expect stream not to be closed, but was") + } + default: } - default: } resp.EventStream.Close()