1
0
mirror of https://github.com/IBM/fp-go.git synced 2025-06-23 00:27:49 +02:00
Files
fp-go/http/utils_test.go
Dr. Carsten Leue 48f38f2e43 fix: rework http support
Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
2023-07-16 22:46:18 +02:00

42 lines
839 B
Go

package http
import (
"testing"
E "github.com/ibm/fp-go/either"
F "github.com/ibm/fp-go/function"
"github.com/stretchr/testify/assert"
)
func NoError[A any](t *testing.T) func(E.Either[error, A]) bool {
return E.Fold(func(err error) bool {
return assert.NoError(t, err)
}, F.Constant1[A](true))
}
func Error[A any](t *testing.T) func(E.Either[error, A]) bool {
return E.Fold(F.Constant1[error](true), func(A) bool {
return assert.Error(t, nil)
})
}
func TestValidateJsonContentTypeString(t *testing.T) {
res := F.Pipe1(
validateJsonContentTypeString("application/json"),
NoError[ParsedMediaType](t),
)
assert.True(t, res)
}
func TestValidateInvalidJsonContentTypeString(t *testing.T) {
res := F.Pipe1(
validateJsonContentTypeString("application/xml"),
Error[ParsedMediaType](t),
)
assert.True(t, res)
}