MCPcopy Index your code
hub / github.com/coder/coder / waitForStreamTextPart

Function waitForStreamTextPart

enterprise/coderd/exp_chats_test.go:863–909  ·  view source on GitHub ↗
(
	ctx context.Context,
	t *testing.T,
	events <-chan codersdk.ChatStreamEvent,
	expectedText string,
)

Source from the content-addressed store, hash-verified

861}
862
863func waitForStreamTextPart(
864 ctx context.Context,
865 t *testing.T,
866 events <-chan codersdk.ChatStreamEvent,
867 expectedText string,
868) codersdk.ChatStreamEvent {
869 t.Helper()
870
871 for {
872 select {
873 case <-ctx.Done():
874 require.FailNowf(
875 t,
876 "timed out waiting for chat stream event",
877 "expected text part %q before context deadline: %v",
878 expectedText,
879 ctx.Err(),
880 )
881 case event, ok := <-events:
882 require.Truef(t, ok, "chat stream closed while waiting for %q", expectedText)
883
884 if event.Type == codersdk.ChatStreamEventTypeError {
885 errMessage := "unknown chat stream error"
886 if event.Error != nil && event.Error.Message != "" {
887 errMessage = event.Error.Message
888 }
889 require.FailNowf(
890 t,
891 "chat stream returned error event",
892 "while waiting for %q: %s",
893 expectedText,
894 errMessage,
895 )
896 }
897
898 if event.Type != codersdk.ChatStreamEventTypeMessagePart || event.MessagePart == nil {
899 continue
900 }
901 if event.MessagePart.Part.Type != codersdk.ChatMessagePartTypeText {
902 continue
903 }
904
905 require.Equal(t, expectedText, event.MessagePart.Part.Text)
906 return event
907 }
908 }
909}
910
911func replicaIDForClientURL(
912 t *testing.T,

Callers 1

TestChatStreamRelayFunction · 0.85

Calls 4

ErrMethod · 0.80
HelperMethod · 0.65
DoneMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected