agent-substrate / agent-substrate/substrate

Create a pattern for reporting fine-grained error details in a machine-readable way

Offen
#45 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area/api area/tests kind/feature prio/P1
Vorherrschende Sprache
Go
Sterne
1.8k
Forks
316
Ø Merge
2 T. 43 Min.
Gemergte PRs (30 T.)
287

Beschreibung

Currently, we are testing the error message strings emitted from ate-api-server in functional_test.go. This is pretty fraught, since those messages aren't necessarily going to be stable as code is refactored.

Instead, we should use the [Status.Details field](https://pkg.go.dev/google.golang.org/grpc/status#FromProto) with an ate-specific details proto. We can define a fine-grained code for each logical error, in case clients need to distinguish situations beyond just the canonical code.

For example,
* If we can't find a free worker, we might return a status error where code=RESOURCE_EXHAUSTED, and details has an ateapipb.ErrorDetails proto with fine_grained_code=NO_FREE_WORKERS

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.