mirror of
https://github.com/pomerium/pomerium.git
synced 2025-04-30 10:56:28 +02:00
- telemetry/tace: add traces throughout code - telemetry/metrics: nest metrics and trace under telemetry - telemetry/tace: add service name span to HTTPMetricsHandler. - telemetry/metrics: removed chain dependency middleware_tests. - telemetry/metrics: wrap and encapsulate variatic view registration. - telemetry/tace: add jaeger support for tracing. - cmd/pomerium: move `parseOptions` to internal/config. - cmd/pomerium: offload server handling to httputil and sub pkgs. - httputil: standardize creation/shutdown of http listeners. - httputil: prefer curve X25519 to P256 when negotiating TLS. - fileutil: use standardized Getw Signed-off-by: Bobby DeSimone <bobbydesimone@gmail.com>
49 lines
1.2 KiB
Go
49 lines
1.2 KiB
Go
package httputil
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
func TestErrorResponse(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
rw http.ResponseWriter
|
|
r *http.Request
|
|
e *Error
|
|
}{
|
|
{"good", httptest.NewRecorder(), &http.Request{Method: http.MethodGet}, &Error{Code: http.StatusBadRequest, Message: "missing id token"}},
|
|
{"good json", httptest.NewRecorder(), &http.Request{Method: http.MethodGet, Header: http.Header{"Accept": []string{"application/json"}}}, &Error{Code: http.StatusBadRequest, Message: "missing id token"}},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
ErrorResponse(tt.rw, tt.r, tt.e)
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestError_Error(t *testing.T) {
|
|
|
|
tests := []struct {
|
|
name string
|
|
Message string
|
|
Code int
|
|
CanDebug bool
|
|
want string
|
|
}{
|
|
{"good", "short and stout", http.StatusTeapot, false, "418 I'm a teapot: short and stout"},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
h := Error{
|
|
Message: tt.Message,
|
|
Code: tt.Code,
|
|
CanDebug: tt.CanDebug,
|
|
}
|
|
if got := h.Error(); got != tt.want {
|
|
t.Errorf("Error.Error() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|