Update pekko-discovery, pekko-slf4j, ... to 1.1.0 #4012
Merged
GitHub Actions / Test report for 3-JVM-21
succeeded
Sep 4, 2024 in 0s
416 passed, 0 failed and 0 skipped
Report | Passed | Failed | Skipped | Time |
---|---|---|---|---|
server/netty-server/sync/target/jvm-3/test-reports/TEST-sttp.tapir.server.netty.sync.NettySyncServerTest.xml | 222β | 11s | ||
server/nima-server/target/jvm-3/test-reports/TEST-sttp.tapir.server.nima.NimaServerTest.xml | 194β | 4s |
β Β server/netty-server/sync/target/jvm-3/test-reports/TEST-sttp.tapir.server.netty.sync.NettySyncServerTest.xml
222 tests were completed in 11s with 222 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
sttp.tapir.server.netty.sync.NettySyncServerTest | 222β | 11s |
β Β sttp.tapir.server.netty.sync.NettySyncServerTest
β
ServerEndpoint(securityin: /auth auth(api key, via {header X-Api-Key}), in: -, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(api key, via {header X-Api-Key}), in: ?amount, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(api key, via ?api-key), in: -, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(Basic http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(Bearer http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(Basic http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)}) In security Option[UsernamePassword] should let in basic auth as well as request without auth
β
ServerEndpoint(securityin: /auth auth(Basic http, via {header Authorization}) auth(Bearer http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)}) In security (Option[UsernamePassword], Option[String]) should pass bearer auth, basic auth, and also request without auth
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) correct basic
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) correct bearer
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) correct lower case bearer
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) correct apiKey in query param
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) correct apiKey in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) correct old token in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) correct new token in header
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing basic
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing bearer
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing lower case bearer
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) missing apiKey in query param
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) missing apiKey in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) missing old token in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) missing new token in header
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing basic with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing bearer with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing lower case bearer with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) missing apiKey in query param with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) missing apiKey in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) missing old token in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) missing new token in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request basic
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request bearer
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request lower case bearer
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) invalid request apiKey in query param
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) invalid request apiKey in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) invalid request old token in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) invalid request new token in header
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request basic with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request bearer with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request lower case bearer with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) invalid request apiKey in query param with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) invalid request apiKey in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) invalid request old token in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) invalid request new token in header with endpoint hiding
β
ServerEndpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)}) with URL encoding
β
ServerEndpoint[infallible](securityin: -, in: ?fruit, errout: void, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: ?fruit ?amount, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: {header X-Role}, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: /fruit /[] /amount /[], errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: /fruit /[] /amount /[], errout: -, out: {body as text/plain (UTF-8)}) with URL encoding
β
ServerEndpoint(securityin: -, in: GET /api /[], errout: -, out: -) Empty path should not be passed to path capture decoding
β
ServerEndpoint(securityin: -, in: /in /[] /[], errout: -, out: {header a} {header b}) capturing two path parameters with the same specification
β
ServerEndpoint(securityin: -, in: POST /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: POST /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)}) with get method
β
ServerEndpoint(securityin: -, in: {header SomeHeader} /[], errout: -, out: {header IntHeader} {body as text/plain (UTF-8)}) Header input before path capture input
β
ServerEndpoint[echo json](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
β
ServerEndpoint[echo json](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)}) with accept header
β
ServerEndpoint[echo json](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)}) content type
β
ServerEndpoint[echo byte array](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
β
ServerEndpoint[echo byte buffer](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
β
ServerEndpoint(securityin: -, in: /api /unit, errout: -, out: {body as application/json (UTF-8)}) unit json mapper
β
ServerEndpoint(securityin: -, in: /api, errout: -, out: {body as text/plain (UTF-8)}) default status mapper
β
ServerEndpoint(securityin: -, in: /api, errout: {body as text/plain (UTF-8)}, out: -) default error status mapper
β
ServerEndpoint(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)})
β
ServerEndpoint(securityin: -, in: GET /api /echo /params ?*, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: GET /[pathParam] ?*, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: GET /api /echo /params ?*, errout: -, out: {body as text/plain (UTF-8)}) should support value-less query param
β
ServerEndpoint(securityin: -, in: GET /api /echo /headers {multiple headers}, errout: -, out: {multiple headers})
β
ServerEndpoint(securityin: -, in: GET /*, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: GET /*, errout: -, out: {body as text/plain (UTF-8)}) paths should match empty path
β
ServerEndpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)}) invalid query parameter
β
ServerEndpoint(securityin: -, in: GET /api /echo /param-to-header ?qq, errout: -, out: {header hh})
β
ServerEndpoint(securityin: -, in: GET /api /echo /headers {header Cookie}, errout: -, out: {header Set-Cookie})
β
ServerEndpoint(securityin: -, in: /cookies-test GET, errout: -, out: {header Set-Cookie}) should not fold multiple Set-Cookie headers
β
ServerEndpoint(securityin: -, in: GET / ?q, errout: -, out: {header Set-Cookie} {body as text/plain (UTF-8)}) should be invulnerable to response splitting from unsanitized headers
β
ServerEndpoint(securityin: -, in: GET /api /echo /headers {header Set-Cookie}, errout: -, out: {header Set-Cookie})
β
ServerEndpoint(securityin: -, in: /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)} {header Content-Type}) dynamic content type
β
ServerEndpoint(securityin: -, in: /api /echo {header Content-Type}, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: POST /api /echo {header Content-Type: application/json}, errout: -, out: -) mismatch content-type
β
ServerEndpoint(securityin: -, in: POST /api /echo {header Content-Type: application/json}, errout: -, out: -) missing content-type
β
ServerEndpoint(securityin: -, in: POST /api /echo {header Content-Type}, errout: -, out: -) mismatch content-type
β
ServerEndpoint(securityin: -, in: POST /api /echo {header Content-Type}, errout: -, out: -) missing content-type
β
ServerEndpoint(securityin: -, in: /api /echo, errout: -, out: {body as text/html (UTF-8)})
β
ServerEndpoint(securityin: -, in: -, errout: -, out: status code (308) {header Location})
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {header Location: Poland})
β
ServerEndpoint(securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
β
ServerEndpoint(securityin: -, in: ?fruit, errout: -, out: status code - possible codes (Map())) custom status code
β
ServerEndpoint(securityin: -, in: {data from request}, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: ?fruit, errout: -, out: status code - possible codes (Map()))
β
ServerEndpoint[Query with default](securityin: -, in: ?p1, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: /api {header Content-Type: multipart/form-data}, errout: -, out: {body as text/plain (UTF-8)}) fixed multipart/form-data header input should ignore boundary directive
β
ServerEndpoint(securityin: -, in: ?kind, errout: -, out: {header Content-Type})
β
ServerEndpoint(securityin: -, in: ?kind, errout: -, out: {header Content-Type} {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: GET ?flag, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)}) should contain the content-length header
β
ServerEndpoint(securityin: -, in: -, errout: -, out: -) GET empty endpoint
β
ServerEndpoint(securityin: -, in: -, errout: -, out: -) POST empty endpoint
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as text/plain (UTF-8)} {header Content-Type: text/csv}) Fixed content-type header
β
ServerEndpoint(securityin: -, in: GET, errout: -, out: -) GET a GET endpoint
β
ServerEndpoint(securityin: -, in: GET, errout: -, out: -) POST a GET endpoint
β
ServerEndpoint(securityin: -, in: -, errout: -, out: -) no path should match anything
β
ServerEndpoint(securityin: -, in: GET /, errout: -, out: -) root path should not match non-root path
β
ServerEndpoint(securityin: -, in: GET /, errout: -, out: -) root path should match empty path
β
ServerEndpoint(securityin: -, in: GET /, errout: -, out: -) root path should match root path
β
ServerEndpoint(securityin: -, in: GET /api, errout: -, out: -) single path should match single path
β
ServerEndpoint(securityin: -, in: GET /api, errout: -, out: -) single path should match single/ path
β
ServerEndpoint(securityin: -, in: GET /api /[] /and /*, errout: -, out: {header IntPath} {body as text/plain (UTF-8)}) Capturing paths after path capture
β
ServerEndpoint(securityin: -, in: GET /api /[] /and /*, errout: -, out: {header IntPath} {body as text/plain (UTF-8)}) Capturing paths after path capture (when empty)
β
ServerEndpoint(securityin: -, in: GET /api, errout: -, out: -) single path should not match root path
β
ServerEndpoint(securityin: -, in: GET /api, errout: -, out: -) single path should not match larger path
β
ServerEndpoint(securityin: /auth, in: /settings, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth, in: -, errout: -, out: {body as text/plain (UTF-8)})
β
two endpoints with increasingly specific path inputs: should match path exactly
β
two endpoints with increasingly specific path inputs (w/ path capture): should match path exactly
β
two endpoints with decreasingly specific path inputs: should match path exactly
β
two endpoints with a body defined as the first input: should only consume body when the path matches
β
two endpoints with query defined as the first input, path segments as second input: should try the second endpoint if the path doesn't match
β
two endpoints with increasingly specific path inputs, first with a required query parameter: should match path exactly
β
two endpoints with validation: should not try the second one if validation fails
β
endpoint with a security input and regular path input shouldn't shadow other endpoints
β
two endpoints, same path prefix, one without trailing slashes, second accepting trailing slashes
β
try other paths on decode failure if onDecodeFailureNextEndpoint
β
two endpoints with different methods, first one with path parsing
β
ServerEndpoint(securityin: -, in: GET /customer /[customer_id] /orders /[order_id], errout: -, out: -) Returns 400 if path 'shape' matches, but failed to parse a path parameter, using a custom decode failure handler
β
ServerEndpoint(securityin: -, in: GET /customer /[customer_id] /orders /[order_id], errout: -, out: -) Returns 404 if path 'shape' doesn't match
β
ServerEndpoint(securityin: -, in: GET /customer /[customer_id], errout: -, out: -) Returns 400 if path 'shape' matches, but failed to parse a path parameter
β
Tries next endpoint if path 'shape' matches, but validation fails, using .onDecodeFailureNextEndpoint
β
ServerEndpoint(securityin: ?x, in: ?y, errout: -, out: {body as text/plain (UTF-8)}) server security logic - one input
β
ServerEndpoint(securityin: ?x ?y, in: ?z ?u, errout: -, out: {body as text/plain (UTF-8)}) server security logic - multiple inputs
β
ServerEndpoint[echo input stream](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
β
ServerEndpoint[input string output stream with header](securityin: -, in: POST /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as application/octet-stream} {header Content-Length})
β
ServerEndpoint(securityin: -, in: POST /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)}) checks payload limit and returns 413 on exceeded max content length (request)
β
ServerEndpoint[echo byte array](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) checks payload limit and returns 413 on exceeded max content length (request)
β
ServerEndpoint[echo file](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) checks payload limit and returns 413 on exceeded max content length (request)
β
ServerEndpoint[echo input stream](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) checks payload limit and returns 413 on exceeded max content length (request)
β
ServerEndpoint[echo byte buffer](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) checks payload limit and returns 413 on exceeded max content length (request)
β
ServerEndpoint(securityin: -, in: POST /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)}) checks payload limit and returns OK on content length below or equal max (request)
β
ServerEndpoint[echo input stream](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) checks payload limit and returns OK on content length below or equal max (request)
β
ServerEndpoint[echo byte array](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) checks payload limit and returns OK on content length below or equal max (request)
β
ServerEndpoint[echo file](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) checks payload limit and returns OK on content length below or equal max (request)
β
ServerEndpoint[echo byte buffer](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) checks payload limit and returns OK on content length below or equal max (request)
β
ServerEndpoint(securityin: -, in: -, errout: -, out: -) handle exceptions
β
recover errors from exceptions
β
ServerEndpoint(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)}))
β
ServerEndpoint(securityin: -, in: GET /content-negotiation /organization, errout: -, out: one of(status code (200) {body as application/json (UTF-8)}|status code (200) {body as application/xml (UTF-8)})) takes first content type when no accepts header
β
ServerEndpoint(securityin: -, in: GET /content-negotiation /organization, errout: -, out: one of(status code (200) {body as application/xml (UTF-8)}|status code (200) {body as application/json (UTF-8)})) takes first content type when no accepts header
β
ServerEndpoint(securityin: -, in: GET /, errout: -, out: -) accepts header without output body
β
ServerEndpoint[echo byte array](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) not take into account the accept charset header when the body media type doesn't specify one
β
ServerEndpoint(securityin: -, in: GET /content-negotiation /organization-parameters, errout: -, out: one of({body as application/json (UTF-8)}|{body as application/json; name=unknown (UTF-8)})) matches content type on accept parameters
β
ServerEndpoint(securityin: -, in: GET /content-negotiation /multipart-mixed multipart/mixed -> {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint[echo file](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
β
ServerEndpoint[mapped query](securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint[mapped path](securityin: -, in: /fruit /[], errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint[mapped path path](securityin: -, in: /fruit /[] /amount /[], errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint[query and mapped path path](securityin: -, in: /fruit /[] /amount /[] ?color, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint[out mapped](securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint[out mapped](securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)} {header X-Role})
β
ServerEndpoint(securityin: -, in: {header A: 1} {header X}, errout: -, out: {header B: 2} {header Y})
β
ServerEndpoint(securityin: -, in: ?a ?b ?x ?y, errout: -, out: {header A} {header B} {header X} {header Y})
β
ServerEndpoint(securityin: -, in: ?p1 ?p2 ?p3, errout: -, out: {header P1} {header P2} {header P3})
β
ServerEndpoint[mapped to unit](securityin: -, in: ?p1 ?p2, errout: -, out: {header P1} {header P2})
β
ServerEndpoint[metrics](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
β
ServerEndpoint[metrics](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
β
ServerEndpoint[metrics](securityin: -, in: GET /, errout: -, out: -)
β
ServerEndpoint[metrics on exception](securityin: -, in: GET /, errout: -, out: -)
β
ServerEndpoint(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)}))
β
ServerEndpoint(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)}))
β
ServerEndpoint(securityin: -, in: ?fruit, errout: -, out: one of(status code (202)|status code (200) {body as text/plain (UTF-8)}))
β
ServerEndpoint(securityin: -, in: GET /entity /[type], errout: -, out: one of(status code (201) {body as application/json (UTF-8)}|{body as application/json (UTF-8)}))
β
ServerEndpoint(securityin: -, in: ?fruit, errout: -, out: one of(status code (204)|status code (202) {body as application/json (UTF-8)}|status code (200) {body as application/json (UTF-8)}))
β
ServerEndpoint(securityin: -, in: ?fruit, errout: {body as application/json (UTF-8)}, out: -)
β
ServerEndpoint(securityin: {header token}, in: ?y, errout: {body as application/json (UTF-8)}, out: {body as text/plain (UTF-8)}) security error outputs extended with additional variants in main logic
β
ServerEndpoint(securityin: -, in: /status ?statusOut, errout: -, out: one of(status code (404)|status code (400) {body as application/json (UTF-8)}))
β
ServerEndpoint(securityin: -, in: /test, errout: one of(status code (409) {body as application/json (UTF-8)}|status code (404) {body as application/json (UTF-8)}|status code (500) {body as application/json (UTF-8)}), out: {body as text/plain (UTF-8)}) .errorOutVariantsPrepend variant takes precedence over devault .errorOut variant
β
ServerEndpoint(securityin: -, in: /test, errout: one of(status code (400) {body as application/json (UTF-8)}|one of(status code (409) {body as application/json (UTF-8)}|status code (404) {body as application/json (UTF-8)}|status code (500) {body as application/json (UTF-8)})), out: {body as text/plain (UTF-8)}) multiple .errorOutVariantsPrepend variants are executed in right order (a stack)
β
ServerEndpoint(securityin: -, in: /mapping ?num, errout: -, out: one of(status code (202)|status code (200)))
β
given a list of endpoints, should return 405 for unsupported methods
β
given a list of endpoints with different paths, should return 405 for unsupported methods
β
given a list of endpoints and a customized reject handler, should return a custom response for unsupported methods
β
ServerEndpoint(securityin: -, in: /path, errout: -, out: -) should return 404 for an unknown endpoint
β
ServerEndpoint(securityin: -, in: GET /path, errout: -, out: -) should return 404 for an unsupported method, when a single endpoint is interpreted
β
ServerEndpoint(securityin: -, in: ?fruit(~apple|banana), errout: -, out: -) support query validation with tagged type
β
ServerEndpoint(securityin: -, in: ?amount(>=0), errout: -, out: -) support query validation
β
ServerEndpoint(securityin: -, in: {body as application/json (UTF-8)}(fruit->(length>=4),amount->(>=1)), errout: -, out: -) support jsonBody validation with wrapped type
β
ServerEndpoint(securityin: -, in: ?amount(>=1), errout: -, out: -) support query validation with wrapper type
β
ServerEndpoint(securityin: -, in: {body as application/json (UTF-8)}(fruits->(size>=1,elements(fruit->(length>=4),amount->(>=1)))), errout: -, out: -) support jsonBody validation with list of wrapped type
β
ServerEndpoint(securityin: -, in: POST one of({body as application/json (UTF-8)}|{body as application/xml (UTF-8)}|{body as text/plain (UTF-8)}), errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: POST one of({body as application/json (UTF-8)}|text/* -> {body as text/plain (UTF-8)}), errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: -, in: POST {body as text/plain (UTF-8)}, errout: -, out: one of({body as application/json (UTF-8)}|{body as application/xml (UTF-8)}|{body as text/plain (UTF-8)}))
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: {body as text/plain (UTF-8)}) CORS with default config; valid preflight request
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with specific allowed origin, method, headers, allowed credentials and max age; preflight request with matching origin, method and headers
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with multiple allowed origins, method, headers, allowed credentials and max age; preflight request with matching origin, method and headers
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with specific allowed origin; preflight request with unsupported origin
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with multiple allowed origins; preflight request with unsupported origin
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with specific allowed method; preflight request with unsupported method
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with specific allowed headers; preflight request with unsupported header
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with reflected allowed headers; preflight request
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with custom response code for preflight requests; valid preflight request
β
ServerEndpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with default config; preflight request without Origin (non-CORS)
β
ServerEndpoint(securityin: -, in: GET /path, errout: -, out: {body as text/plain (UTF-8)}) CORS with default config; valid CORS request
β
ServerEndpoint(securityin: -, in: GET /path, errout: -, out: {body as text/plain (UTF-8)}) CORS with custom allowed origin, allowed credentials and exposed headers; valid CORS request
β
ServerEndpoint(securityin: -, in: GET /path, errout: -, out: {body as text/plain (UTF-8)}) CORS with all headers exposed; valid CORS request
β
returns tapir-generated 404 when defaultHandlers(notFoundWhenRejected = true) is used
β
Log events with provided functions, skipping certain endpoints
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as text/plain (UTF-8)}) Server waits for long-running request to complete within timeout
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as text/plain (UTF-8)}) Server rejects requests with 503 during shutdown
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) string client-terminated echo
β
ServerEndpoint(securityin: -, in: /elsewhere, errout: -, out: {body as text/plain (UTF-8)}) WS handshake to a non-existing endpoint
β
ServerEndpoint[metrics](securityin: -, in: -, errout: -, out: {body as web socket})
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) json client-terminated echo
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) string server-terminated echo
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) pong on ping
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) empty client stream
β
ServerEndpoint(securityin: -, in: ?securityToken, errout: {body as text/plain (UTF-8)}, out: {body as web socket}) switch to WS after a normal HTTP request
β
ServerEndpoint(securityin: -, in: ?securityToken, errout: {body as text/plain (UTF-8)}, out: {body as web socket}) reject WS handshake, then accept a corrected one
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) auto ping
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) failing pipe
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) not pong on ping if disabled
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) not ignore pong
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) concatenate fragmented text frames
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) concatenate fragmented binary frames
β
ServerEndpoint(securityin: -, in: -, errout: -, out: {body as web socket}) closes supervision scope when client closes Web Socket
β Β server/nima-server/target/jvm-3/test-reports/TEST-sttp.tapir.server.nima.NimaServerTest.xml
194 tests were completed in 4s with 194 passed, 0 failed and 0 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
sttp.tapir.server.nima.NimaServerTest | 194β | 4s |
β Β sttp.tapir.server.nima.NimaServerTest
β
Endpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)}) with URL encoding
β
Endpoint[infallible](securityin: -, in: ?fruit, errout: void, 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(securityin: -, in: /fruit /[] /amount /[], errout: -, out: {body as text/plain (UTF-8)}) with URL encoding
β
Endpoint(securityin: -, in: GET /api /[], errout: -, out: -) Empty path should not be passed to path capture decoding
β
Endpoint(securityin: -, in: /in /[] /[], errout: -, out: {header a} {header b}) capturing two path parameters with the same specification
β
Endpoint(securityin: -, in: POST /api /echo {body as text/plain (UTF-8)}, 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)}) with get method
β
Endpoint(securityin: -, in: {header SomeHeader} /[], errout: -, out: {header IntHeader} {body as text/plain (UTF-8)}) Header input before path capture input
β
Endpoint[echo json](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
β
Endpoint[echo json](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)}) with accept header
β
Endpoint[echo json](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)}) content type
β
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(securityin: -, in: /api /unit, errout: -, out: {body as application/json (UTF-8)}) unit json mapper
β
Endpoint(securityin: -, in: /api, errout: -, out: {body as text/plain (UTF-8)}) default status mapper
β
Endpoint(securityin: -, in: /api, errout: {body as text/plain (UTF-8)}, out: -) default error status mapper
β
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 /[pathParam] ?*, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: GET /api /echo /params ?*, errout: -, out: {body as text/plain (UTF-8)}) should support value-less query param
β
Endpoint(securityin: -, in: GET /api /echo /headers {multiple headers}, errout: -, out: {multiple headers})
β
Endpoint(securityin: -, in: GET /*, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: GET /*, errout: -, out: {body as text/plain (UTF-8)}) paths should match empty path
β
Endpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)}) invalid query parameter
β
Endpoint(securityin: -, in: GET /api /echo /param-to-header ?qq, errout: -, out: {header hh})
β
Endpoint(securityin: -, in: GET /api /echo /headers {header Cookie}, errout: -, out: {header Set-Cookie})
β
ServerEndpoint(securityin: -, in: /cookies-test GET, errout: -, out: {header Set-Cookie}) should not fold multiple Set-Cookie headers
β
Endpoint(securityin: -, in: GET / ?q, errout: -, out: {header Set-Cookie} {body as text/plain (UTF-8)}) should be invulnerable to response splitting from unsanitized headers
β
Endpoint(securityin: -, in: GET /api /echo /headers {header Set-Cookie}, errout: -, out: {header Set-Cookie})
β
Endpoint(securityin: -, in: /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)} {header Content-Type}) dynamic content type
β
Endpoint(securityin: -, in: /api /echo {header Content-Type}, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: POST /api /echo {header Content-Type: application/json}, errout: -, out: -) mismatch content-type
β
Endpoint(securityin: -, in: POST /api /echo {header Content-Type: application/json}, errout: -, out: -) missing content-type
β
Endpoint(securityin: -, in: POST /api /echo {header Content-Type}, errout: -, out: -) mismatch content-type
β
Endpoint(securityin: -, in: POST /api /echo {header Content-Type}, errout: -, out: -) missing content-type
β
Endpoint(securityin: -, in: /api /echo, errout: -, out: {body as text/html (UTF-8)})
β
Endpoint(securityin: -, in: -, errout: -, out: status code (308) {header Location})
β
Endpoint(securityin: -, in: -, errout: -, out: {header Location: Poland})
β
Endpoint(securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
β
Endpoint(securityin: -, in: ?fruit, errout: -, out: status code - possible codes (Map())) custom status code
β
Endpoint(securityin: -, in: {data from request}, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: ?fruit, errout: -, out: status code - possible codes (Map()))
β
Endpoint[Query with default](securityin: -, in: ?p1, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: /api {header Content-Type: multipart/form-data}, errout: -, out: {body as text/plain (UTF-8)}) fixed multipart/form-data header input should ignore boundary directive
β
Endpoint(securityin: -, in: ?kind, errout: -, out: {header Content-Type})
β
Endpoint(securityin: -, in: ?kind, errout: -, out: {header Content-Type} {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: GET ?flag, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: ?fruit, errout: -, out: {body as text/plain (UTF-8)}) should contain the content-length header
β
Endpoint(securityin: -, in: -, errout: -, out: -) GET empty endpoint
β
Endpoint(securityin: -, in: -, errout: -, out: -) POST empty endpoint
β
Endpoint(securityin: -, in: -, errout: -, out: {body as text/plain (UTF-8)} {header Content-Type: text/csv}) Fixed content-type header
β
Endpoint(securityin: -, in: GET, errout: -, out: -) GET a GET endpoint
β
Endpoint(securityin: -, in: GET, errout: -, out: -) POST a GET endpoint
β
Endpoint(securityin: -, in: -, errout: -, out: -) no path should match anything
β
Endpoint(securityin: -, in: GET /, errout: -, out: -) root path should not match non-root path
β
Endpoint(securityin: -, in: GET /, errout: -, out: -) root path should match empty path
β
Endpoint(securityin: -, in: GET /, errout: -, out: -) root path should match root path
β
Endpoint(securityin: -, in: GET /api, errout: -, out: -) single path should match single path
β
Endpoint(securityin: -, in: GET /api, errout: -, out: -) single path should match single/ path
β
Endpoint(securityin: -, in: GET /api /[] /and /*, errout: -, out: {header IntPath} {body as text/plain (UTF-8)}) Capturing paths after path capture
β
Endpoint(securityin: -, in: GET /api /[] /and /*, errout: -, out: {header IntPath} {body as text/plain (UTF-8)}) Capturing paths after path capture (when empty)
β
Endpoint(securityin: -, in: GET /api, errout: -, out: -) single path should not match root path
β
Endpoint(securityin: -, in: GET /api, errout: -, out: -) single path should not match larger path
β
ServerEndpoint(securityin: /auth, in: /settings, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth, in: -, errout: -, out: {body as text/plain (UTF-8)})
β
two endpoints with increasingly specific path inputs: should match path exactly
β
two endpoints with increasingly specific path inputs (w/ path capture): should match path exactly
β
two endpoints with decreasingly specific path inputs: should match path exactly
β
two endpoints with a body defined as the first input: should only consume body when the path matches
β
two endpoints with query defined as the first input, path segments as second input: should try the second endpoint if the path doesn't match
β
two endpoints with increasingly specific path inputs, first with a required query parameter: should match path exactly
β
two endpoints with validation: should not try the second one if validation fails
β
endpoint with a security input and regular path input shouldn't shadow other endpoints
β
two endpoints, same path prefix, one without trailing slashes, second accepting trailing slashes
β
try other paths on decode failure if onDecodeFailureNextEndpoint
β
two endpoints with different methods, first one with path parsing
β
Endpoint(securityin: -, in: GET /customer /[customer_id] /orders /[order_id], errout: -, out: -) Returns 400 if path 'shape' matches, but failed to parse a path parameter, using a custom decode failure handler
β
Endpoint(securityin: -, in: GET /customer /[customer_id] /orders /[order_id], errout: -, out: -) Returns 404 if path 'shape' doesn't match
β
Endpoint(securityin: -, in: GET /customer /[customer_id], errout: -, out: -) Returns 400 if path 'shape' matches, but failed to parse a path parameter
β
Tries next endpoint if path 'shape' matches, but validation fails, using .onDecodeFailureNextEndpoint
β
ServerEndpoint(securityin: ?x, in: ?y, errout: -, out: {body as text/plain (UTF-8)}) server security logic - one input
β
ServerEndpoint(securityin: ?x ?y, in: ?z ?u, errout: -, out: {body as text/plain (UTF-8)}) server security logic - multiple inputs
β
Endpoint[echo input stream](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
β
Endpoint[input string output stream with header](securityin: -, in: POST /api /echo {body as text/plain (UTF-8)}, errout: -, out: {body as application/octet-stream} {header Content-Length})
β
Endpoint(securityin: -, in: -, errout: -, out: -) handle exceptions
β
recover errors from exceptions
β
ServerEndpoint(securityin: /auth auth(api key, via {header X-Api-Key}), in: -, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(api key, via {header X-Api-Key}), in: ?amount, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(api key, via ?api-key), in: -, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(Basic http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(Bearer http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)})
β
ServerEndpoint(securityin: /auth auth(Basic http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)}) In security Option[UsernamePassword] should let in basic auth as well as request without auth
β
ServerEndpoint(securityin: /auth auth(Basic http, via {header Authorization}) auth(Bearer http, via {header Authorization}), in: -, errout: -, out: {body as text/plain (UTF-8)}) In security (Option[UsernamePassword], Option[String]) should pass bearer auth, basic auth, and also request without auth
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) correct basic
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) correct bearer
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) correct lower case bearer
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) correct apiKey in query param
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) correct apiKey in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) correct old token in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) correct new token in header
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing basic
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing bearer
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing lower case bearer
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) missing apiKey in query param
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) missing apiKey in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) missing old token in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) missing new token in header
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing basic with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing bearer with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) missing lower case bearer with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) missing apiKey in query param with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) missing apiKey in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) missing old token in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) missing new token in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request basic
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request bearer
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request lower case bearer
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) invalid request apiKey in query param
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) invalid request apiKey in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) invalid request old token in header
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) invalid request new token in header
β
ServerEndpoint(securityin: /secret /[id] auth(Basic http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request basic with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request bearer with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(Bearer http, via {header Authorization}), in: POST ?q, errout: -, out: -) invalid request lower case bearer with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via ?token), in: POST ?q, errout: -, out: -) invalid request apiKey in query param with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header x-api-key}), in: POST ?q, errout: -, out: -) invalid request apiKey in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) invalid request old token in header with endpoint hiding
β
ServerEndpoint(securityin: /secret /[id] auth(api key, via {header token-old}) auth(api key, via {header token-new}), in: POST ?q, errout: -, out: -) invalid request new token in header with endpoint hiding
β
Endpoint(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(securityin: -, in: GET /content-negotiation /organization, errout: -, out: one of(status code (200) {body as application/json (UTF-8)}|status code (200) {body as application/xml (UTF-8)})) takes first content type when no accepts header
β
Endpoint(securityin: -, in: GET /content-negotiation /organization, errout: -, out: one of(status code (200) {body as application/xml (UTF-8)}|status code (200) {body as application/json (UTF-8)})) takes first content type when no accepts header
β
Endpoint(securityin: -, in: GET /, errout: -, out: -) accepts header without output body
β
Endpoint[echo byte array](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream}) not take into account the accept charset header when the body media type doesn't specify one
β
Endpoint(securityin: -, in: GET /content-negotiation /organization-parameters, errout: -, out: one of({body as application/json (UTF-8)}|{body as application/json; name=unknown (UTF-8)})) matches content type on accept parameters
β
Endpoint(securityin: -, in: GET /content-negotiation /multipart-mixed multipart/mixed -> {body as text/plain (UTF-8)}, errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint[echo file](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
β
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: {header A: 1} {header X}, errout: -, out: {header B: 2} {header Y})
β
Endpoint(securityin: -, in: ?a ?b ?x ?y, errout: -, out: {header A} {header B} {header X} {header Y})
β
Endpoint(securityin: -, in: ?p1 ?p2 ?p3, errout: -, out: {header P1} {header P2} {header P3})
β
Endpoint[mapped to unit](securityin: -, in: ?p1 ?p2, errout: -, out: {header P1} {header P2})
β
Endpoint[metrics](securityin: -, in: POST /api /echo {body as application/json (UTF-8)}, errout: -, out: {body as application/json (UTF-8)})
β
Endpoint[metrics](securityin: -, in: POST /api /echo {body as application/octet-stream}, errout: -, out: {body as application/octet-stream})
β
Endpoint[metrics](securityin: -, in: GET /, errout: -, out: -)
β
Endpoint[metrics on exception](securityin: -, in: GET /, errout: -, out: -)
β
Endpoint(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(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(securityin: -, in: ?fruit, errout: -, out: one of(status code (202)|status code (200) {body as text/plain (UTF-8)}))
β
Endpoint(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(securityin: -, in: ?fruit, errout: -, out: one of(status code (204)|status code (202) {body as application/json (UTF-8)}|status code (200) {body as application/json (UTF-8)}))
β
Endpoint(securityin: -, in: ?fruit, errout: {body as application/json (UTF-8)}, out: -)
β
ServerEndpoint(securityin: {header token}, in: ?y, errout: {body as application/json (UTF-8)}, out: {body as text/plain (UTF-8)}) security error outputs extended with additional variants in main logic
β
Endpoint(securityin: -, in: /status ?statusOut, errout: -, out: one of(status code (404)|status code (400) {body as application/json (UTF-8)}))
β
ServerEndpoint(securityin: -, in: /test, errout: one of(status code (409) {body as application/json (UTF-8)}|status code (404) {body as application/json (UTF-8)}|status code (500) {body as application/json (UTF-8)}), out: {body as text/plain (UTF-8)}) .errorOutVariantsPrepend variant takes precedence over devault .errorOut variant
β
ServerEndpoint(securityin: -, in: /test, errout: one of(status code (400) {body as application/json (UTF-8)}|one of(status code (409) {body as application/json (UTF-8)}|status code (404) {body as application/json (UTF-8)}|status code (500) {body as application/json (UTF-8)})), out: {body as text/plain (UTF-8)}) multiple .errorOutVariantsPrepend variants are executed in right order (a stack)
β
Endpoint(securityin: -, in: /mapping ?num, errout: -, out: one of(status code (202)|status code (200)))
β
given a list of endpoints, should return 405 for unsupported methods
β
given a list of endpoints with different paths, should return 405 for unsupported methods
β
given a list of endpoints and a customized reject handler, should return a custom response for unsupported methods
β
Endpoint(securityin: -, in: /path, errout: -, out: -) should return 404 for an unknown endpoint
β
Endpoint(securityin: -, in: GET /path, errout: -, out: -) should return 404 for an unsupported method, when a single endpoint is interpreted
β
Endpoint(securityin: -, in: ?fruit(~apple|banana), errout: -, out: -) support query validation with tagged type
β
Endpoint(securityin: -, in: ?amount(>=0), errout: -, out: -) support query validation
β
Endpoint(securityin: -, in: {body as application/json (UTF-8)}(fruit->(length>=4),amount->(>=1)), errout: -, out: -) support jsonBody validation with wrapped type
β
Endpoint(securityin: -, in: ?amount(>=1), errout: -, out: -) support query validation with wrapper type
β
Endpoint(securityin: -, in: {body as application/json (UTF-8)}(fruits->(size>=1,elements(fruit->(length>=4),amount->(>=1)))), errout: -, out: -) support jsonBody validation with list of wrapped type
β
Endpoint(securityin: -, in: POST one of({body as application/json (UTF-8)}|{body as application/xml (UTF-8)}|{body as text/plain (UTF-8)}), errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: POST one of({body as application/json (UTF-8)}|text/* -> {body as text/plain (UTF-8)}), errout: -, out: {body as text/plain (UTF-8)})
β
Endpoint(securityin: -, in: POST {body as text/plain (UTF-8)}, 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: OPTIONS /path, errout: -, out: {body as text/plain (UTF-8)}) CORS with default config; valid preflight request
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with specific allowed origin, method, headers, allowed credentials and max age; preflight request with matching origin, method and headers
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with multiple allowed origins, method, headers, allowed credentials and max age; preflight request with matching origin, method and headers
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with specific allowed origin; preflight request with unsupported origin
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with multiple allowed origins; preflight request with unsupported origin
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with specific allowed method; preflight request with unsupported method
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with specific allowed headers; preflight request with unsupported header
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with reflected allowed headers; preflight request
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with custom response code for preflight requests; valid preflight request
β
Endpoint(securityin: -, in: OPTIONS /path, errout: -, out: -) CORS with default config; preflight request without Origin (non-CORS)
β
Endpoint(securityin: -, in: GET /path, errout: -, out: {body as text/plain (UTF-8)}) CORS with default config; valid CORS request
β
Endpoint(securityin: -, in: GET /path, errout: -, out: {body as text/plain (UTF-8)}) CORS with custom allowed origin, allowed credentials and exposed headers; valid CORS request
β
Endpoint(securityin: -, in: GET /path, errout: -, out: {body as text/plain (UTF-8)}) CORS with all headers exposed; valid CORS request
β
returns tapir-generated 404 when defaultHandlers(notFoundWhenRejected = true) is used
β
Log events with provided functions, skipping certain endpoints
Loading