(t *testing.T)
| 94 | } |
| 95 | |
| 96 | func TestParseLineOpenCode_error(t *testing.T) { |
| 97 | line := `{"type":"error","timestamp":1767036065000,"sessionID":"ses_494719016ffe85dkDMj0FPRbHK","error":{"name":"APIError","data":{"message":"Rate limit exceeded","statusCode":429,"isRetryable":true}}}` |
| 98 | ev := ParseLineOpenCode(line) |
| 99 | if ev == nil { |
| 100 | t.Fatal("expected event, got nil") |
| 101 | } |
| 102 | if ev.Type != EventError { |
| 103 | t.Errorf("expected EventError, got %v", ev.Type) |
| 104 | } |
| 105 | if ev.Err == nil { |
| 106 | t.Fatal("expected Err set") |
| 107 | } |
| 108 | if ev.Err.Error() != "Rate limit exceeded" { |
| 109 | t.Errorf("unexpected Err: %v", ev.Err) |
| 110 | } |
| 111 | } |
| 112 | |
| 113 | func TestParseLineOpenCode_emptyOrInvalid_returnsNil(t *testing.T) { |
| 114 | tests := []string{"", " ", "not json", "{}", `{"type":"unknown"}`} |
nothing calls this directly
no test coverage detected