Skip to content

fix doc bytes

fix doc bytes #8735

GitHub Actions / Test report for 3-Native-11 succeeded Dec 6, 2023 in 0s

Test report for 3-Native-11 ✅

Tests passed successfully

Report Passed Failed Skipped Time
client/sttp-client/target/native-3/test-reports/TEST-sttp.tapir.client.sttp.SttpClientBasicTests.xml 58✅ 500ms
client/sttp-client/target/native-3/test-reports/TEST-sttp.tapir.client.sttp.SttpClientMultipartTests.xml 3✅ 278ms
client/sttp-client/target/native-3/test-reports/TEST-sttp.tapir.client.sttp.SttpClientRequestTests.xml 2✅ 45ms
core/target/native-3/test-reports/TEST-sttp.tapir.annotations.DeriveEndpointIOTest.xml 30✅ 3ms
core/target/native-3/test-reports/TEST-sttp.tapir.AttributeTest.xml 3✅ 1ms
core/target/native-3/test-reports/TEST-sttp.tapir.CodecDelimitedTest.xml 2✅ 17ms
core/target/native-3/test-reports/TEST-sttp.tapir.CodecTest.xml 6✅ 114ms
core/target/native-3/test-reports/TEST-sttp.tapir.EndpointTest.xml 76✅ 6ms
core/target/native-3/test-reports/TEST-sttp.tapir.generic.EnumsCodecDerivationTest.xml 4✅ 2ms
core/target/native-3/test-reports/TEST-sttp.tapir.generic.FormCodecDerivationTest.xml 13✅ 3ms
core/target/native-3/test-reports/TEST-sttp.tapir.generic.MultipartCodecDerivationTest.xml 12✅ 3ms
core/target/native-3/test-reports/TEST-sttp.tapir.generic.SchemaGenericAutoTest.xml 27✅ 2ms
core/target/native-3/test-reports/TEST-sttp.tapir.generic.ValueClassCodecDerivationTest.xml 1✅ 0ms
core/target/native-3/test-reports/TEST-sttp.tapir.internal.RichEndpointInputTest.xml 5✅ 0ms
core/target/native-3/test-reports/TEST-sttp.tapir.internal.RichEndpointOutputTest.xml 1✅ 1ms
core/target/native-3/test-reports/TEST-sttp.tapir.internal.UrlencodedDataTest.xml 4✅ 0ms
core/target/native-3/test-reports/TEST-sttp.tapir.namespacing.SchemaMacroNamespaceTest.xml 1✅ 1ms
core/target/native-3/test-reports/TEST-sttp.tapir.SchemaAnnotationsTest.xml 1✅ 0ms
core/target/native-3/test-reports/TEST-sttp.tapir.SchemaApplyValidationTest.xml 13✅ 338ms
core/target/native-3/test-reports/TEST-sttp.tapir.SchemaMacroScala3Test.xml 1✅ 0ms
core/target/native-3/test-reports/TEST-sttp.tapir.SchemaMacroTest.xml 25✅ 5ms
core/target/native-3/test-reports/TEST-sttp.tapir.SchemaTest.xml 11✅ 0ms
core/target/native-3/test-reports/TEST-sttp.tapir.typelevel.MatchTypeTest.xml 8✅ 2s
core/target/native-3/test-reports/TEST-sttp.tapir.ValidatorScala3EnumTest.xml 2✅ 0ms
core/target/native-3/test-reports/TEST-sttp.tapir.ValidatorTest.xml 28✅ 1ms
integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.EndpointIOInstancesSpec.xml 3✅ 1ms
integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.ExampleFunctorLawSpec.xml 4✅ 6ms
integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.ModifyFunctorInstancesTest.xml 4✅ 0ms
integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.TapirCodecCatsTest.xml 17✅ 95ms
integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.ValidatorCatsTest.xml 3✅ 0ms
json/jsoniter/target/native-3/test-reports/TEST-sttp.tapir.json.jsoniter.TapirJsonJsoniterTests.xml 1✅ 28ms
json/upickle/target/native-3/test-reports/TEST-sttp.tapir.json.upickle.TapirJsonuPickleTests.xml 5✅ 25ms
server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interceptor.cors.CORSConfigTest.xml 2✅ 0ms
server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interceptor.cors.CORSInterceptorTest.xml 2✅ 4ms
server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interceptor.decodefailure.DefaultDecodeFailureHandlerTest.xml 5✅ 3ms
server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interpreter.DecodeBasicInputsTest.xml 1✅ 44ms
server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interpreter.FilterServerEndpointsTest.xml 9✅ 1ms
server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interpreter.ServerInterpreterTest.xml 3✅ 0ms
testing/target/native-3/test-reports/TEST-sttp.tapir.testing.EndpointVerifierTest.xml 30✅ 2ms

✅ client/sttp-client/target/native-3/test-reports/TEST-sttp.tapir.client.sttp.SttpClientBasicTests.xml

58 tests were completed in 500ms with 58 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.client.sttp.SttpClientBasicTests 58✅ 500ms

✅ sttp.tapir.client.sttp.SttpClientBasicTests

✅ Endpoint(securityin: -, in: -, errout: -, out: -)
✅ Endpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: -, in: ?fruit ?amount, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: -, in: {header X-Role}, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: -, in: /fruit /[] /amount /[], errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[special characters in path](securityin: -, in: /fruit /[] /amount /[], errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: -, in: POST /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[echo json](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
✅ Endpoint[echo byte array](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
✅ Endpoint[echo byte buffer](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
✅ Endpoint[echo input stream](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
✅ Endpoint(securityin: -, in: POST /api /echo {body as application/x-www-form-urlencoded (UTF-8)}, errout: -, out: {body as application/x-www-form-urlencoded (UTF-8)})
✅ Endpoint(securityin: -, in: GET /api /echo /params ?*, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: -, in: GET /*, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: -, in: GET /api /echo /param-to-header ?qq, errout: -, out: {header hh})
✅ Endpoint(securityin: -, in: GET /api /echo /headers {cookie c1} {cookie c2}, errout: -, out: {header Set-Cookie})
✅ Endpoint(securityin: -, in: ?fruit, errout: -, out: status code - possible codes (Map()))
✅ Endpoint[defined](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
✅ Endpoint[empty](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
✅ Endpoint[json content organization](securityin: -, in: GET /content-negotiation /organization {header Accept}, errout: -, out: one of(status code (200) {body as application/json (UTF-8)}|status code (200) {body as application/xml (UTF-8)}|status code (200) {body as text/html (UTF-8)}|status code (200) {body as text/html (ISO-8859-1)}))
✅ Endpoint[xml content organization](securityin: -, in: GET /content-negotiation /organization {header Accept}, errout: -, out: one of(status code (200) {body as application/json (UTF-8)}|status code (200) {body as application/xml (UTF-8)}|status code (200) {body as text/html (UTF-8)}|status code (200) {body as text/html (ISO-8859-1)}))
✅ Endpoint[json content person](securityin: -, in: GET /content-negotiation /entity {header Accept}, errout: -, out: one of(status code (200) {body as application/json (UTF-8)}|status code (200) {body as application/xml (UTF-8)}))
✅ Endpoint[xml content organization](securityin: -, in: GET /content-negotiation /entity {header Accept}, errout: -, out: one of(status code (200) {body as application/json (UTF-8)}|status code (200) {body as application/xml (UTF-8)}))
✅ Endpoint(securityin: -, in: GET /api /echo /headers {multiple headers}, errout: -, out: {multiple headers})
✅ Endpoint(securityin: -, in: /api /unit, errout: -, out: {body as application/json (UTF-8)})
✅ Endpoint(securityin: -, in: /secret {header location: secret}, errout: -, out: {body as text/plain (UTF-8)})
✅ not existing endpoint, with error output not matching 404
✅ Endpoint(securityin: /auth auth(api key, via {header X-Api-Key}), in: -, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: /auth auth(api key, via {header X-Api-Key}), in: ?amount, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: /auth auth(api key, via ?api-key), in: -, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: /auth auth(Basic http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: /auth auth(Bearer http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[mapped query](securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[mapped path](securityin: -, in: /fruit /[], errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[mapped path path](securityin: -, in: /fruit /[] /amount /[], errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[query and mapped path path](securityin: -, in: /fruit /[] /amount /[] ?color, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[out mapped](securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[out mapped](securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)} {header X-Role})
✅ Endpoint(securityin: -, in: ?a ?b ?x ?y /api /echo /param-to-upper-header, errout: -, out: {header A} {header B} {header X} {header Y})
✅ Endpoint[status one of 1](securityin: -, in: ?fruit, errout: -, out: one of(status code (202) {body as text/plain (UTF-8)}|status code (200) {body as text/plain (UTF-8)}))
✅ Endpoint[status one of 2](securityin: -, in: ?fruit, errout: -, out: one of(status code (202) {body as text/plain (UTF-8)}|status code (200) {body as text/plain (UTF-8)}))
✅ Endpoint[status one of 3](securityin: -, in: ?fruit, errout: -, out: one of(status code (202) {body as text/plain (UTF-8)}|status code (200) {body as text/plain (UTF-8)}))
✅ Endpoint[first exact status of 2](securityin: -, in: /mapping ?num, errout: -, out: one of(status code (202) {body as text/plain (UTF-8)}|status code (200) {body as text/plain (UTF-8)}))
✅ Endpoint[second exact status of 2](securityin: -, in: /mapping ?num, errout: -, out: one of(status code (202) {body as text/plain (UTF-8)}|status code (200) {body as text/plain (UTF-8)}))
✅ Endpoint[person](securityin: -, in: GET /entity /[type], errout: -, out: one of(status code (201) {body as application/json (UTF-8)}|{body as application/json (UTF-8)}))
✅ Endpoint[org](securityin: -, in: GET /entity /[type], errout: -, out: one of(status code (201) {body as application/json (UTF-8)}|{body as application/json (UTF-8)}))
✅ Endpoint[204](securityin: -, in: /status ?statusOut, errout: -, out: one of(status code (204)|status code (200)))
✅ Endpoint[200](securityin: -, in: /status ?statusOut, errout: -, out: one of(status code (204)|status code (200)))
✅ Endpoint(securityin: -, in: /status ?statusOut, errout: -, out: one of(status code (204) {body as application/json (UTF-8)}|status code (204)))
✅ Endpoint[orange](securityin: -, in: ?fruit /one-of, errout: {body as application/json (UTF-8)}, out: -)
✅ Endpoint[kiwi](securityin: -, in: ?fruit /one-of, errout: {body as application/json (UTF-8)}, out: -)
✅ Endpoint[apple](securityin: -, in: ?fruit /one-of, errout: {body as application/json (UTF-8)}, out: -)
✅ Endpoint[kiwi](securityin: -, in: ?fruit /one-of, errout: one of(status code (400)|status code (404) {body as application/json (UTF-8)}), out: -)
✅ Endpoint[apple](securityin: -, in: ?fruit /one-of, errout: one of(status code (400)|status code (404) {body as application/json (UTF-8)}), out: -)
✅ Endpoint[echo file](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
✅ Endpoint(securityin: -, in: POST one of({body as application/json (UTF-8)}|{body as application/xml (UTF-8)}|{body as text/plain (UTF-8)}) /api /echo, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: -, in: POST {body as text/plain (UTF-8)} {header Accept: application/json} /content-negotiation /fruit, errout: -, out: one of({body as application/json (UTF-8)}|{body as application/xml (UTF-8)}|{body as text/plain (UTF-8)}))
✅ Endpoint(securityin: -, in: POST {body as text/plain (UTF-8)} {header Accept: application/xml} /content-negotiation /fruit, errout: -, out: one of({body as application/json (UTF-8)}|{body as application/xml (UTF-8)}|{body as text/plain (UTF-8)}))

✅ client/sttp-client/target/native-3/test-reports/TEST-sttp.tapir.client.sttp.SttpClientMultipartTests.xml

3 tests were completed in 278ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.client.sttp.SttpClientMultipartTests 3✅ 278ms

✅ sttp.tapir.client.sttp.SttpClientMultipartTests

✅ Endpoint(securityin: -, in: POST /api /echo /multipart {body as multipart/form-data}, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint(securityin: -, in: POST /api /echo {body as multipart/form-data}, errout: -, out: {body as text/plain (UTF-8)})
✅ Endpoint[echo raw parts](securityin: -, in: POST /api /echo /multipart {body as multipart/form-data}, errout: -, out: {body as text/plain (UTF-8)})

✅ client/sttp-client/target/native-3/test-reports/TEST-sttp.tapir.client.sttp.SttpClientRequestTests.xml

2 tests were completed in 45ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.client.sttp.SttpClientRequestTests 2✅ 45ms

✅ sttp.tapir.client.sttp.SttpClientRequestTests

✅ content-type header shouldn't be duplicated when converting to a part
✅ should properly encode a flag parameter

✅ core/target/native-3/test-reports/TEST-sttp.tapir.annotations.DeriveEndpointIOTest.xml

30 tests were completed in 3ms with 30 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.annotations.DeriveEndpointIOTest 30✅ 3ms

✅ sttp.tapir.annotations.DeriveEndpointIOTest

✅ @endpointInput should derive correct input for @query, @cookie, @header
✅ @endpointInput should derive correct input for dealiased bodies
✅ @endpointInput should derive correct input for @queries, @headers, @cookies
✅ @endpointInput should derive correct input for auth annotations
✅ @endpointInput should derive correct input for auth annotations with named security schemes
✅ @endpointInput should derive input with descriptions
✅ @endpointInput should derive input with paths
✅ @endpointInput should derive correct input with schema annotations
✅ @endpointInput should derive default annotation correctly
✅ @endpointInput should customise inputs
✅ @endpointInput should derive correct input for byte array body
✅ @endpointInput should derive correct input for byte buffer body
✅ @endpointInput should derive correct input for input stream body
✅ @endpointInput should derive correct input for form body
✅ @endpointInput should derive correct input for file body
✅ @endpointInput should derive correct input for multipart body
✅ @endpointInput should accept empty case classes when annotated with @endpointInput
✅ @endpointInput should not compile if there is field without annotation
✅ @endpointInput should not compile if there are two body annotations
✅ @endpointInput should not compile for alone @apikey
✅ @endpointInput should not compile for body without JSON codec
✅ @endpointInput should not compile when not all paths are captured in case class
✅ @endpointInput should not compile when not all paths are captured in path
✅ @endpointInput should not compile when path contains duplicated variable
✅ @endpointOutput should devive correct output for @header, @setCookie, @statusCode
✅ @endpointOutput should derive correct output for @headers, @cookies, @setCookies
✅ @endpointOutput should not compile if there is field without annotation
✅ @endpointOutput should not compile if there are two body annotations
✅ @endpointOutput should not compile for wrong field type
✅ @endpointOutput should not report ambiguous header import errors

✅ core/target/native-3/test-reports/TEST-sttp.tapir.AttributeTest.xml

3 tests were completed in 1ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.AttributeTest 3✅ 1ms

✅ sttp.tapir.AttributeTest

✅ should create an attribute key for a case class
✅ should create an attribute key for a list of case classes
✅ should create an attribute key for a list of generic case classes

✅ core/target/native-3/test-reports/TEST-sttp.tapir.CodecDelimitedTest.xml

2 tests were completed in 17ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.CodecDelimitedTest 2✅ 17ms

✅ sttp.tapir.CodecDelimitedTest

✅ should encode and decode comma-separated values
✅ should encode and decode comma-separated values in a list

✅ core/target/native-3/test-reports/TEST-sttp.tapir.CodecTest.xml

6 tests were completed in 114ms with 6 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.CodecTest 6✅ 114ms

✅ sttp.tapir.CodecTest

✅ should encode simple types using .toString
✅ should use default, when available
✅ should correctly encode and decode Date
✅ should create a part codec
✅ should call the validator during decoding when using .mapValidate
✅ should provide a mapEither function

✅ core/target/native-3/test-reports/TEST-sttp.tapir.EndpointTest.xml

76 tests were completed in 6ms with 76 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.EndpointTest 76✅ 6ms

✅ sttp.tapir.EndpointTest

✅ endpoint should compile inputs
✅ endpoint should compile security inputs
✅ endpoint should compile map security into case class
✅ endpoint should compile a path fold
✅ endpoint should compile inputs with streams
✅ endpoint should compile outputs
✅ endpoint should compile outputs with streams
✅ endpoint should compile error outputs
✅ endpoint should compile one-of empty output
✅ endpoint should allow to map status code multiple times to same format different charset
✅ endpoint should compile one-of empty output of a custom type
✅ endpoint should compile with a single error variant
✅ endpoint should compile with multiple error variants
✅ oneOfVariant should not compile when the type erasure of `T` is different from `T`
✅ tupling should combine two inputs
✅ tupling should combine four inputs in two groups
✅ tupling should combine four inputs in two groups, through an extend method (right)
✅ tupling should combine four inputs in two groups, through an extend method (left)
✅ show for Endpoint(securityin: -, in: /p1%2Fp2, errout: -, out: -) should be /p1%2Fp2 -> -/-
✅ show for Endpoint[E1](securityin: -, in: /p1, errout: -, out: -) should be [E1] /p1 -> -/-
✅ show for Endpoint(securityin: -, in: GET /p1 /p2, errout: -, out: -) should be GET /p1 /p2 -> -/-
✅ show for Endpoint(securityin: -, in: /p1 /[p2] /*, errout: -, out: -) should be /p1 /[p2] /* -> -/-
✅ show for Endpoint(securityin: -, in: POST ?q1 ?q2 {body as text/plain (UTF-8)}, errout: {body as text/plain (UTF-8)}, out: -) should be POST ?q1 ?q2 {body as text/plain (UTF-8)} -> {body as text/plain (UTF-8)}/-
✅ show for Endpoint(securityin: -, in: GET {header X-header}, errout: -, out: {header Y-header}) should be GET {header X-header} -> -/{header Y-header}
✅ show for Endpoint(securityin: -, in: GET, errout: -, out: one of({body as text/plain (UTF-8)}|{body as application/octet-stream})) should be GET -> -/one of({body as text/plain (UTF-8)}|{body as application/octet-stream})
✅ show for Endpoint(securityin: -, in: GET, errout: -, out: {body as text/plain (UTF-8)}) should be GET -> -/{body as text/plain (UTF-8)}
✅ show for Endpoint(securityin: -, in: GET, errout: -, out: {body as application/octet-stream}) should be GET -> -/{body as application/octet-stream}
✅ short show for Endpoint(securityin: -, in: -, errout: -, out: -) should be * *
✅ short show for Endpoint(securityin: -, in: /p1, errout: -, out: -) should be * /p1
✅ short show for Endpoint(securityin: -, in: /p1 /p2, errout: -, out: -) should be * /p1/p2
✅ short show for Endpoint(securityin: -, in: GET /p1 /p2, errout: -, out: -) should be GET /p1/p2
✅ short show for Endpoint(securityin: -, in: POST, errout: -, out: -) should be POST *
✅ short show for Endpoint(securityin: -, in: GET /p1 /*, errout: -, out: -) should be GET /p1/*
✅ short show for Endpoint[my endpoint](securityin: -, in: GET /p1 /p2, errout: -, out: -) should be [my endpoint]
✅ showPathTemplate for Endpoint(securityin: -, in: -, errout: -, out: -) should be *
✅ showPathTemplate for Endpoint(securityin: -, in: /, errout: -, out: -) should be /
✅ showPathTemplate for Endpoint(securityin: -, in: /p1, errout: -, out: -) should be /p1
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 /p2, errout: -, out: -) should be /p1/p2
✅ showPathTemplate for Endpoint(securityin: /p1, in: /p2, errout: -, out: -) should be /p1/p2
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 /[], errout: -, out: -) should be /p1/{param1}
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 /[par], errout: -, out: -) should be /p1/{par}
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 ?par, errout: -, out: -) should be /p1?par={par}
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 ?par1 ?par2, errout: -, out: -) should be /p1?par1={par1}&par2={par2}
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 /[par1] ?par2, errout: -, out: -) should be /p1/{par1}?par2={par2}
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 auth(api key, via ?par2), errout: -, out: -) should be /p1?par2={par2}
✅ showPathTemplate for Endpoint(securityin: -, in: /p2 /[], errout: -, out: -) should be /p2/{param1}
✅ showPathTemplate for Endpoint(securityin: -, in: /p1%2Fp2, errout: -, out: -) should be /p1%2Fp2
✅ showPathTemplate for Endpoint(securityin: -, in: /8*5%29PpDEeXsx4n.9NjyT%3DYtJuUf%26F%21AamMIi-%40%2C%3BvG61VqQL%27bgBl0_2CH%2BcWh%287rKRw%3A%243k%7EOzSdZo, errout: -, out: -) should be /8*5)PpDEeXsx4n.9NjyT=YtJuUf&F!AamMIi-@,;vG61VqQL'bgBl0_2CH+cWh(7rKRw:$3k~OzSdZo
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 /*, errout: -, out: -) should be /p1/*
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 ?*, errout: -, out: -) should be /p1?*
✅ showPathTemplate for Endpoint(securityin: -, in: /p1 /p2 ?par1 ?par2, errout: -, out: -) should be /p1?par1={par1}
✅ showPathTemplate for Endpoint(securityin: -, in: /not /allowed /chars /hi%3Fhello, errout: -, out: -) should be /not/allowed/chars/hi%3Fhello
✅ showPathTemplate should keep param count in show functions
✅ showPathTemplate should skip query parameters
✅ validate should accumulate validators
✅ validate should add validator for an option
✅ validate should add validator for an iterable
✅ validate should map input and output
✅ httpMethod for Endpoint(securityin: -, in: -, errout: -, out: -) should be None
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] GET, errout: -, out: -) should be Some(GET)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] PUT, errout: -, out: -) should be Some(PUT)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] POST, errout: -, out: -) should be Some(POST)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] HEAD, errout: -, out: -) should be Some(HEAD)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] TRACE, errout: -, out: -) should be Some(TRACE)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] PATCH, errout: -, out: -) should be Some(PATCH)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] CONNECT, errout: -, out: -) should be Some(CONNECT)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] DELETE, errout: -, out: -) should be Some(DELETE)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] OPTIONS, errout: -, out: -) should be Some(OPTIONS)
✅ httpMethod for Endpoint(securityin: -, in: /api /cats /[] XX, errout: -, out: -) should be Some(XX)
✅ compile should work for endpoint descriptions providing partial server logic using serverLogicForCurrent
✅ mapTo should properly map between tuples and case classes of arity 1
✅ mapTo should properly map between tuples and case classes of arity 2
✅ mapTo should fail on invalid field type
✅ mapTo should fail on redundant field
✅ mapTo should fail on missing field
✅ mapTo should compile for case class with defined companion object

✅ core/target/native-3/test-reports/TEST-sttp.tapir.generic.EnumsCodecDerivationTest.xml

4 tests were completed in 2ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.generic.EnumsCodecDerivationTest 4✅ 2ms

✅ sttp.tapir.generic.EnumsCodecDerivationTest

✅ should derive codec for an sealed-trait based enum
✅ should derive codec for an Scala enumeration
✅ should derive a customised codec for an Scala enumeration
✅ should derive a default codec for an Scala enumeration

✅ core/target/native-3/test-reports/TEST-sttp.tapir.generic.FormCodecDerivationTest.xml

13 tests were completed in 3ms with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.generic.FormCodecDerivationTest 13✅ 3ms

✅ sttp.tapir.generic.FormCodecDerivationTest

✅ should generate a codec for a one-arg case class
✅ should generate a codec for a two-arg case class
✅ should generate a codec for a three-arg case class
✅ should generate a codec for a case class with optional parameters
✅ should use the right schema for a two-arg case class
✅ should generate a codec for a one-arg case class using snake-case naming transformation
✅ should generate a codec for a one-arg case class using kebab-case naming transformation
✅ should generate a codec for a one-arg case class with list
✅ should generate a codec for a one-arg case class with set
✅ should generate a codec for a one-arg case class with vector
✅ should generate a codec for a one-arg case class using implicit schema
✅ should generate a codec for a case class with simple types
✅ should generate a codec with custom field name

✅ core/target/native-3/test-reports/TEST-sttp.tapir.generic.MultipartCodecDerivationTest.xml

12 tests were completed in 3ms with 12 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.generic.MultipartCodecDerivationTest 12✅ 3ms

✅ sttp.tapir.generic.MultipartCodecDerivationTest

✅ should generate a codec for a one-arg case class
✅ should generate a codec for a two-arg case class
✅ should generate a codec for a case class with optional parameters
✅ should use the right schema for a case class with part metadata
✅ should generate a codec for a one-arg case class using snake-case naming transformation
✅ should generate a codec for a one-arg case class with list
✅ should generate a codec for a case class with part metadata
✅ should generate a codec for a one-arg case class with implicit validator
✅ should generate a codec with a custom field name
✅ should generate a codec for a case class with file part
✅ should use the right schema for an optional file part with metadata 2
✅ should use the right schema for a two-arg case class

✅ core/target/native-3/test-reports/TEST-sttp.tapir.generic.SchemaGenericAutoTest.xml

27 tests were completed in 2ms with 27 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.generic.SchemaGenericAutoTest 27✅ 2ms

✅ sttp.tapir.generic.SchemaGenericAutoTest

✅ Schema auto derivation should find schema for simple types
✅ Schema auto derivation should find schema for optional types
✅ Schema auto derivation should find schema for collections
✅ Schema auto derivation should find schema for collections of case classes
✅ Schema auto derivation should find schema for a simple case class
✅ Schema auto derivation should find schema for a simple case class and use identity naming transformation
✅ Schema auto derivation should find schema for a nested case class
✅ Schema auto derivation should find schema for case classes with collections
✅ Schema auto derivation should use custom schema for custom types
✅ Schema auto derivation should derive schema for parametrised type classes
✅ Schema auto derivation should find schema for map
✅ Schema auto derivation should find schema for map of products
✅ Schema auto derivation should find schema for map of generic products
✅ Schema auto derivation should add meta-data to schema from annotations
✅ Schema auto derivation should find the right schema for a case class with simple types
✅ Schema auto derivation should find schema for a simple case class and use snake case naming transformation
✅ Schema auto derivation should find schema for a simple case class and use kebab case naming transformation
✅ Schema auto derivation should not transform names which are annotated with a custom name
✅ Schema auto derivation should customise the schema using the given function
✅ Schema auto derivation should generate one-of schema using the given discriminator
✅ Schema auto derivation should generate one-of schema using the given discriminator (kebab case subtype names)
✅ Schema auto derivation should generate one-of schema using the given discriminator (snake case subtype names)
✅ Schema auto derivation should generate one-of schema using the given discriminator (full subtype names)
✅ Schema auto derivation should generate one-of schema using the given discriminator (full kebab case subtype names)
✅ Schema auto derivation should generate one-of schema using the given discriminator (full snake case subtype names)
✅ Schema auto derivation should find schema for subtypes containing parent metadata from annotations
✅ Schema auto derivation should add validators for collection and option elements

✅ core/target/native-3/test-reports/TEST-sttp.tapir.generic.ValueClassCodecDerivationTest.xml

1 tests were completed in 0ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.generic.ValueClassCodecDerivationTest 1✅ 0ms

✅ sttp.tapir.generic.ValueClassCodecDerivationTest

✅ should derive codec for value classes

✅ core/target/native-3/test-reports/TEST-sttp.tapir.internal.RichEndpointInputTest.xml

5 tests were completed in 0ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.internal.RichEndpointInputTest 5✅ 0ms

✅ sttp.tapir.internal.RichEndpointInputTest

✅ pathTo should find path to self
✅ pathTo should not find path to non existing input
✅ pathTo should find path to input down the hierarchy
✅ pathTo should find path to input from the middle of hierarchy
✅ pathTo should find path to the middle of hierarchy

✅ core/target/native-3/test-reports/TEST-sttp.tapir.internal.RichEndpointOutputTest.xml

1 tests were completed in 1ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.internal.RichEndpointOutputTest 1✅ 1ms

✅ sttp.tapir.internal.RichEndpointOutputTest

✅ output media type should match content type with lower and upper case charset

✅ core/target/native-3/test-reports/TEST-sttp.tapir.internal.UrlencodedDataTest.xml

4 tests were completed in 0ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.internal.UrlencodedDataTest 4✅ 0ms

✅ sttp.tapir.internal.UrlencodedDataTest

✅ should handle empty string
✅ should handle single parameter
✅ should handle two parameters
✅ should handle complex data

✅ core/target/native-3/test-reports/TEST-sttp.tapir.namespacing.SchemaMacroNamespaceTest.xml

1 tests were completed in 1ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.namespacing.SchemaMacroNamespaceTest 1✅ 1ms

✅ sttp.tapir.namespacing.SchemaMacroNamespaceTest

✅ should compile macro-generated code using derivedEnumeration in a package other than sttp.tapir

✅ core/target/native-3/test-reports/TEST-sttp.tapir.SchemaAnnotationsTest.xml

1 tests were completed in 0ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.SchemaAnnotationsTest 1✅ 0ms

✅ sttp.tapir.SchemaAnnotationsTest

✅ SchemaAnnotations enrich should derive schema annotations and enrich schema

✅ core/target/native-3/test-reports/TEST-sttp.tapir.SchemaApplyValidationTest.xml

13 tests were completed in 338ms with 13 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.SchemaApplyValidationTest 13✅ 338ms

✅ sttp.tapir.SchemaApplyValidationTest

✅ should validate openProduct
✅ should validate option
✅ should validate iterable
✅ should validate array
✅ should skip collection validation for array if element validator is passing
✅ should skip collection validation for iterable if element validator is passing
✅ should validate product
✅ should use validators defined when modifying the schema
✅ should validate recursive values
✅ should show recursive validators
✅ should validate either
✅ should validate mapped either
✅ should validate oneOf object

✅ core/target/native-3/test-reports/TEST-sttp.tapir.SchemaMacroScala3Test.xml

1 tests were completed in 0ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.SchemaMacroScala3Test 1✅ 0ms

✅ sttp.tapir.SchemaMacroScala3Test

✅ should validate enum

✅ core/target/native-3/test-reports/TEST-sttp.tapir.SchemaMacroTest.xml

25 tests were completed in 5ms with 25 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.SchemaMacroTest 25✅ 5ms

✅ sttp.tapir.SchemaMacroTest

✅ apply modification should modify basic schema
✅ apply modification should modify product schema
✅ apply modification should modify product schema with derivation
✅ apply modification should modify nested product schema
✅ apply modification should modify array elements in products
✅ apply modification should modify array in products
✅ apply modification should support chained modifications
✅ apply modification should modify optional parameter
✅ apply modification should modify property of optional parameter
✅ apply modification should modify property of open product
✅ apply modification should modify open product
✅ apply modification should create a map schema with string keys
✅ apply modification should create a map schema with non-string keys
✅ apply modification should work with custom naming configuration
✅ apply modification should add discriminator based on a trait method
✅ apply modification should extract type params for discriminator based on a trait method
✅ apply modification should add the discriminator as a field when using oneOfUsingField
✅ apply modification should create a one-of wrapped schema
✅ apply modification should create a schema using oneOfField given an enum extractor
✅ apply modification should create and enrich a schema for an enum
✅ apply modification should derive schema for a scala enumeration and enrich schema
✅ apply modification should derive a customised schema for a scala enumeration and enrich schema
✅ apply default should add default to product
✅ apply example should add example to product
✅ apply description should add description to product

✅ core/target/native-3/test-reports/TEST-sttp.tapir.SchemaTest.xml

11 tests were completed in 0ms with 11 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.SchemaTest 11✅ 0ms

✅ sttp.tapir.SchemaTest

✅ should modify basic schema
✅ should modify product schema
✅ should modify nested product schema
✅ should modify array elements in products
✅ should modify array in products
✅ should modify property of optional parameter
✅ should modify property of map value
✅ should modify open product schema
✅ should generate one-of schema using the given discriminator
✅ should addDiscriminatorField should only add discriminator field to child schemas if not yet present
✅ should propagate format for optional schemas

✅ core/target/native-3/test-reports/TEST-sttp.tapir.typelevel.MatchTypeTest.xml

8 tests were completed in 2s with 8 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.typelevel.MatchTypeTest 8✅ 2s

✅ sttp.tapir.typelevel.MatchTypeTest

✅ MatchType should provide implicit for basic type
✅ MatchType should provide implicit for all primitive class returning true for other primitive type
✅ MatchType should provide implicit for all primitive class returning false for any other primitive type
✅ MatchType should provide implicit for case class
✅ MatchType should provide implicit for sealed stuff
✅ MatchType should provide implicit for complex nested type
✅ MatchType should provide implicit for recursive structure
✅ MatchType should work for list

✅ core/target/native-3/test-reports/TEST-sttp.tapir.ValidatorScala3EnumTest.xml

2 tests were completed in 0ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.ValidatorScala3EnumTest 2✅ 0ms

✅ sttp.tapir.ValidatorScala3EnumTest

✅ should validate enum
✅ should not compile for enum with parameter

✅ core/target/native-3/test-reports/TEST-sttp.tapir.ValidatorTest.xml

28 tests were completed in 1ms with 28 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.ValidatorTest 28✅ 1ms

✅ sttp.tapir.ValidatorTest

✅ should validate for min value
✅ should validate for min value (exclusive)
✅ should validate for max value
✅ should validate for max value (exclusive)
✅ should validate for positive value
✅ should validate for positiveOrZero value
✅ should validate for negative value
✅ should validate for in range value
✅ should validate for maxSize of collection
✅ should validate for minSize of collection
✅ should validate for nonEmpty of collection
✅ should validate for fixedSize of collection
✅ should validate for matching regex pattern
✅ should validate for minLength of string
✅ should validate for minLength of string and include unicode characters
✅ should validate for maxLength of string
✅ should validate for maxLength of string and include unicode characters
✅ should validate for fixedLength of string
✅ should validate for fixedLength of string and include unicode characters
✅ should validate for nonEmptyString of string
✅ should validate with reject
✅ should validate with any of validators
✅ should validate with all of validators
✅ should validate with custom validator
✅ should validate coproduct enum
✅ should derive for branched sealed traits where all leafs are objects
✅ should not compile for malformed coproduct enum
✅ should validate closed set of ints

✅ integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.EndpointIOInstancesSpec.xml

3 tests were completed in 1ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.integ.cats.EndpointIOInstancesSpec 3✅ 1ms

✅ sttp.tapir.integ.cats.EndpointIOInstancesSpec

✅ InvariantSemigroupal syntax should work with EndpointInput
✅ InvariantSemigroupal syntax should work with EndpointOutput
✅ InvariantSemigroupal syntax should work with EndpointIO

✅ integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.ExampleFunctorLawSpec.xml

4 tests were completed in 6ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.integ.cats.ExampleFunctorLawSpec 4✅ 6ms

✅ sttp.tapir.integ.cats.ExampleFunctorLawSpec

✅ Example.FunctorLaws.functor.covariant composition
✅ Example.FunctorLaws.functor.covariant identity
✅ Example.FunctorLaws.functor.invariant composition
✅ Example.FunctorLaws.functor.invariant identity

✅ integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.ModifyFunctorInstancesTest.xml

4 tests were completed in 0ms with 4 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.integ.cats.ModifyFunctorInstancesTest 4✅ 0ms

✅ sttp.tapir.integ.cats.ModifyFunctorInstancesTest

✅ should modify elements in NonEmptyList
✅ should modify elements in NonEmptySet
✅ should modify elements in Chain
✅ should modify elements in NonEmptyChain

✅ integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.TapirCodecCatsTest.xml

17 tests were completed in 95ms with 17 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.integ.cats.TapirCodecCatsTest 17✅ 95ms

✅ sttp.tapir.integ.cats.TapirCodecCatsTest

✅ should find schema for cats collections
✅ should find proper validator for cats collections
✅ Provided PlainText coder for non empty list should correctly serialize a non empty list
✅ Provided PlainText coder for non empty list should correctly deserialize everything it serialize
✅ Provided PlainText coder for non empty list should fail on empty list
✅ Provided PlainText coder for non empty list should have the proper schema
✅ Provided PlainText coder for non empty list should have the proper validator
✅ Provided PlainText codec for non empty chain should correctly serialize a non empty chain
✅ Provided PlainText codec for non empty chain should correctly deserialize everything it serialize
✅ Provided PlainText codec for non empty chain should fail on empty list
✅ Provided PlainText codec for non empty chain should have the proper schema
✅ Provided PlainText codec for non empty chain should have the proper validator
✅ Provided PlainText codec for non empty set should correctly serialize a non empty set
✅ Provided PlainText codec for non empty set should correctly deserialize everything it serialize
✅ Provided PlainText codec for non empty set should fail on empty set
✅ Provided PlainText codec for non empty set should have the proper schema
✅ Provided PlainText codec for non empty set should have the proper validator

✅ integrations/cats/target/native-3/test-reports/TEST-sttp.tapir.integ.cats.ValidatorCatsTest.xml

3 tests were completed in 0ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.integ.cats.ValidatorCatsTest 3✅ 0ms

✅ sttp.tapir.integ.cats.ValidatorCatsTest

✅ should success with non-empty list - NonEmptyList
✅ should success with non-empty list - List
✅ should fail with empty list - List

✅ json/jsoniter/target/native-3/test-reports/TEST-sttp.tapir.json.jsoniter.TapirJsonJsoniterTests.xml

1 tests were completed in 28ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.json.jsoniter.TapirJsonJsoniterTests 1✅ 28ms

✅ sttp.tapir.json.jsoniter.TapirJsonJsoniterTests

✅ should return a JSON specific decode error on failure

✅ json/upickle/target/native-3/test-reports/TEST-sttp.tapir.json.upickle.TapirJsonuPickleTests.xml

5 tests were completed in 25ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.json.upickle.TapirJsonuPickleTests 5✅ 25ms

✅ sttp.tapir.json.upickle.TapirJsonuPickleTests

✅ should encode and decode Scala case class with non-empty Option elements
✅ should encode and decode Scala case class with empty Option elements
✅ should encode and decode String type
✅ should encode and decode Long type
✅ should return a JSON specific decode error on failure

✅ server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interceptor.cors.CORSConfigTest.xml

2 tests were completed in 0ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.server.interceptor.cors.CORSConfigTest 2✅ 0ms

✅ sttp.tapir.server.interceptor.cors.CORSConfigTest

✅ CORS config should provide a valid default config
✅ CORS config should detect an invalid config

✅ server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interceptor.cors.CORSInterceptorTest.xml

2 tests were completed in 4ms with 2 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.server.interceptor.cors.CORSInterceptorTest 2✅ 4ms

✅ sttp.tapir.server.interceptor.cors.CORSInterceptorTest

✅ A custom CORS interceptor should be created with a valid config
✅ A custom CORS interceptor should not be created with an invalid config

✅ server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interceptor.decodefailure.DefaultDecodeFailureHandlerTest.xml

5 tests were completed in 3ms with 5 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.server.interceptor.decodefailure.DefaultDecodeFailureHandlerTest 5✅ 3ms

✅ sttp.tapir.server.interceptor.decodefailure.DefaultDecodeFailureHandlerTest

✅ should create a validation error message for a nested field
✅ should create a validation error message including encoded enumeration values
✅ should create an error message including failed json paths
✅ should create an error message including failed multipart parts
✅ should enclose string values in error messages in quotes

✅ server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interpreter.DecodeBasicInputsTest.xml

1 tests were completed in 44ms with 1 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.server.interpreter.DecodeBasicInputsTest 1✅ 44ms

✅ sttp.tapir.server.interpreter.DecodeBasicInputsTest

✅ should return an error if decoding throws an exception

✅ server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interpreter.FilterServerEndpointsTest.xml

9 tests were completed in 1ms with 9 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.server.interpreter.FilterServerEndpointsTest 9✅ 1ms

✅ sttp.tapir.server.interpreter.FilterServerEndpointsTest

✅ should filter endpoints with a single fixed path component
✅ should filter endpoints with an empty fixed path component
✅ should not filter endpoints without any path component
✅ should filter endpoints with multiple fixed path components
✅ should filter endpoints with a single fixed and a single path capture component
✅ should filter endpoints with multiple fixed and single capture components
✅ should filter endpoints with multiple fixed and capture components
✅ should filter endpoints with fixed and paths components
✅ should filter endpoints with fixed, capture and paths components

✅ server/core/target/native-3/test-reports/TEST-sttp.tapir.server.interpreter.ServerInterpreterTest.xml

3 tests were completed in 0ms with 3 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.server.interpreter.ServerInterpreterTest 3✅ 0ms

✅ sttp.tapir.server.interpreter.ServerInterpreterTest

✅ should call the interceptors in the correct order
✅ should decode security inputs, basic regular inputs, and not decode the body, when security logic fails
✅ should use a customized reject interceptor

✅ testing/target/native-3/test-reports/TEST-sttp.tapir.testing.EndpointVerifierTest.xml

30 tests were completed in 2ms with 30 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
sttp.tapir.testing.EndpointVerifierTest 30✅ 2ms

✅ sttp.tapir.testing.EndpointVerifierTest

✅ should should not detect shadowed endpoint when first endpoint has empty path and second fixed path
✅ should not detect shadowed endpoint when second endpoint doesn't have specified method
✅ should detect shadowed endpoint when first endpoint doesn't have specified method
✅ should should detect shadowed endpoint when first endpoint has only wildcard path and second empty path
✅ should detect shadowed endpoint when http methods are provided in different order
✅ should detect shadowed endpoint when security inputs and inputs overlap
✅ should should not detect shadowed endpoint when methods are not provided and paths are different
✅ should should detect shadowed endpoint when methods are not provided
✅ should omit all segments which are not relevant for shadow check
✅ should should detect shadowed endpoints with path variables that contain special characters
✅ should not detect shadowed endpoint when it is only partially shadowed
✅ should detect endpoint with path variable shadowed by endpoint with wildcard
✅ should detect shadowed endpoints for endpoints with similar path structure but with different path vars names
✅ should detect shadowed endpoints for endpoints with path variables and wildcards at the beginning
✅ should detect shadowed endpoints for endpoints with path variables in the middle
✅ should detect shadowed endpoints for fixed paths
✅ should return empty result when no shadowed endpoints exist
✅ should return empty result for empty input
✅ should not detect incorrect path input when input is fixed
✅ should not detect incorrect path input when wildcard `paths` segment appears as the last at input
✅ should not detect incorrect path input when wildcard `paths` segment appears as the last at security input
✅ should detect incorrect path input when wildcard `paths` segment appears before the last at input
✅ should detect incorrect path input when wildcard `paths` segment appears before the last security input
✅ should detect incorrect path input when wildcard `paths` segment and any path is defined in standard input
✅ should not detect any incorrect path input when wildcard `paths` segment is defined as last segment of path
✅ should detect incorrect path input when wildacard `paths` segment overlaps other path segments and return proper index in path
✅ should detect shadowed endpoints and incorrect path simultaneously
✅ should detect duplicated methods under endpoint
✅ should not detect duplicated methods when there is at most one method defined
✅ should detect endpoints with body where status code doesn't allow a body