35 lines
701 B
Go
35 lines
701 B
Go
package gitea_test
|
|
|
|
import (
|
|
"errors"
|
|
"testing"
|
|
|
|
"gitea.d-ma.be/mathias/gitea-mcp/internal/gitea"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestMapStatus(t *testing.T) {
|
|
cases := []struct {
|
|
status int
|
|
want error
|
|
}{
|
|
{401, gitea.ErrPermissionDenied},
|
|
{403, gitea.ErrPermissionDenied},
|
|
{404, gitea.ErrNotFound},
|
|
{409, gitea.ErrConflict},
|
|
{422, gitea.ErrValidation},
|
|
{500, gitea.ErrUpstream},
|
|
{502, gitea.ErrUpstream},
|
|
{200, nil},
|
|
{299, nil},
|
|
}
|
|
for _, tc := range cases {
|
|
got := gitea.MapStatus(tc.status, []byte(`{"message":"x"}`))
|
|
if tc.want == nil {
|
|
assert.NoError(t, got)
|
|
} else {
|
|
assert.True(t, errors.Is(got, tc.want), "status %d", tc.status)
|
|
}
|
|
}
|
|
}
|