diff --git a/postgrest.cabal b/postgrest.cabal index daeab9556..f7d597538 100644 --- a/postgrest.cabal +++ b/postgrest.cabal @@ -167,42 +167,42 @@ test-suite spec NoImplicitPrelude hs-source-dirs: test/spec main-is: Main.hs - other-modules: Feature.AndOrParamsSpec - Feature.AsymmetricJwtSpec - Feature.AudienceJwtSecretSpec - Feature.AuthSpec - Feature.BinaryJwtSecretSpec + other-modules: Feature.Auth.AsymmetricJwtSpec + Feature.Auth.AudienceJwtSecretSpec + Feature.Auth.AuthSpec + Feature.Auth.BinaryJwtSecretSpec + Feature.Auth.NoAnonSpec + Feature.Auth.NoJwtSpec Feature.ConcurrentSpec Feature.CorsSpec - Feature.DeleteSpec - Feature.DisabledOpenApiSpec - Feature.EmbedDisambiguationSpec - Feature.EmbedInnerJoinSpec Feature.ExtraSearchPathSpec - Feature.HtmlRawOutputSpec - Feature.InsertSpec - Feature.IgnorePrivOpenApiSpec - Feature.JsonOperatorSpec Feature.LegacyGucsSpec - Feature.MultipleSchemaSpec - Feature.NoAnonSpec - Feature.NoJwtSpec - Feature.NonexistentSchemaSpec - Feature.OpenApiSpec + Feature.OpenApi.DisabledOpenApiSpec + Feature.OpenApi.IgnorePrivOpenApiSpec + Feature.OpenApi.OpenApiSpec + Feature.OpenApi.ProxySpec + Feature.OpenApi.RootSpec Feature.OptionsSpec - Feature.ProxySpec - Feature.QueryLimitedSpec - Feature.QuerySpec - Feature.RangeSpec - Feature.RawOutputTypesSpec + Feature.Query.AndOrParamsSpec + Feature.Query.DeleteSpec + Feature.Query.EmbedDisambiguationSpec + Feature.Query.EmbedInnerJoinSpec + Feature.Query.HtmlRawOutputSpec + Feature.Query.InsertSpec + Feature.Query.JsonOperatorSpec + Feature.Query.MultipleSchemaSpec + Feature.Query.NonexistentSchemaSpec + Feature.Query.QueryLimitedSpec + Feature.Query.QuerySpec + Feature.Query.RangeSpec + Feature.Query.RawOutputTypesSpec + Feature.Query.RpcSpec + Feature.Query.SingularSpec + Feature.Query.UnicodeSpec + Feature.Query.UpdateSpec + Feature.Query.UpsertSpec Feature.RollbackSpec - Feature.RootSpec Feature.RpcPreRequestGucsSpec - Feature.RpcSpec - Feature.SingularSpec - Feature.UnicodeSpec - Feature.UpdateSpec - Feature.UpsertSpec SpecHelper TestTypes build-depends: base >= 4.9 && < 4.16 diff --git a/src/PostgREST/Request/ApiRequest.hs b/src/PostgREST/Request/ApiRequest.hs index 028d70c52..5bbf6b5c5 100644 --- a/src/PostgREST/Request/ApiRequest.hs +++ b/src/PostgREST/Request/ApiRequest.hs @@ -444,11 +444,11 @@ findProc qi argumentsKeys paramsAsSingleObject allProcs contentType isInvPost = -- If the function is called with post and has a single unnamed parameter -- it can be called depending on content type and the parameter type hasSingleUnnamedParam ProcDescription{pdParams=[ProcParam{ppType}]} = isInvPost && case (contentType, ppType) of - (CTApplicationJSON, "json") -> True + (CTApplicationJSON, "json") -> True (CTApplicationJSON, "jsonb") -> True - (CTTextPlain, "text") -> True - (CTOctetStream, "bytea") -> True - _ -> False + (CTTextPlain, "text") -> True + (CTOctetStream, "bytea") -> True + _ -> False hasSingleUnnamedParam _ = False matchesParams proc = let diff --git a/test/spec/Feature/AsymmetricJwtSpec.hs b/test/spec/Feature/Auth/AsymmetricJwtSpec.hs similarity index 95% rename from test/spec/Feature/AsymmetricJwtSpec.hs rename to test/spec/Feature/Auth/AsymmetricJwtSpec.hs index 44597a64e..692f81585 100644 --- a/test/spec/Feature/AsymmetricJwtSpec.hs +++ b/test/spec/Feature/Auth/AsymmetricJwtSpec.hs @@ -1,4 +1,4 @@ -module Feature.AsymmetricJwtSpec where +module Feature.Auth.AsymmetricJwtSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/AudienceJwtSecretSpec.hs b/test/spec/Feature/Auth/AudienceJwtSecretSpec.hs similarity index 96% rename from test/spec/Feature/AudienceJwtSecretSpec.hs rename to test/spec/Feature/Auth/AudienceJwtSecretSpec.hs index 1302e02e6..2fda8b731 100644 --- a/test/spec/Feature/AudienceJwtSecretSpec.hs +++ b/test/spec/Feature/Auth/AudienceJwtSecretSpec.hs @@ -1,4 +1,4 @@ -module Feature.AudienceJwtSecretSpec where +module Feature.Auth.AudienceJwtSecretSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/AuthSpec.hs b/test/spec/Feature/Auth/AuthSpec.hs similarity index 99% rename from test/spec/Feature/AuthSpec.hs rename to test/spec/Feature/Auth/AuthSpec.hs index dc65d50cf..a4238e576 100644 --- a/test/spec/Feature/AuthSpec.hs +++ b/test/spec/Feature/Auth/AuthSpec.hs @@ -1,4 +1,4 @@ -module Feature.AuthSpec where +module Feature.Auth.AuthSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/BinaryJwtSecretSpec.hs b/test/spec/Feature/Auth/BinaryJwtSecretSpec.hs similarity index 93% rename from test/spec/Feature/BinaryJwtSecretSpec.hs rename to test/spec/Feature/Auth/BinaryJwtSecretSpec.hs index 996243d1a..e7a303587 100644 --- a/test/spec/Feature/BinaryJwtSecretSpec.hs +++ b/test/spec/Feature/Auth/BinaryJwtSecretSpec.hs @@ -1,4 +1,4 @@ -module Feature.BinaryJwtSecretSpec where +module Feature.Auth.BinaryJwtSecretSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/NoAnonSpec.hs b/test/spec/Feature/Auth/NoAnonSpec.hs similarity index 96% rename from test/spec/Feature/NoAnonSpec.hs rename to test/spec/Feature/Auth/NoAnonSpec.hs index b46adb817..836dd9e55 100644 --- a/test/spec/Feature/NoAnonSpec.hs +++ b/test/spec/Feature/Auth/NoAnonSpec.hs @@ -1,4 +1,4 @@ -module Feature.NoAnonSpec where +module Feature.Auth.NoAnonSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/NoJwtSpec.hs b/test/spec/Feature/Auth/NoJwtSpec.hs similarity index 95% rename from test/spec/Feature/NoJwtSpec.hs rename to test/spec/Feature/Auth/NoJwtSpec.hs index 770a0afce..82a179a7c 100644 --- a/test/spec/Feature/NoJwtSpec.hs +++ b/test/spec/Feature/Auth/NoJwtSpec.hs @@ -1,4 +1,4 @@ -module Feature.NoJwtSpec where +module Feature.Auth.NoJwtSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/DisabledOpenApiSpec.hs b/test/spec/Feature/OpenApi/DisabledOpenApiSpec.hs similarity index 91% rename from test/spec/Feature/DisabledOpenApiSpec.hs rename to test/spec/Feature/OpenApi/DisabledOpenApiSpec.hs index 1bd9537d9..8925f7738 100644 --- a/test/spec/Feature/DisabledOpenApiSpec.hs +++ b/test/spec/Feature/OpenApi/DisabledOpenApiSpec.hs @@ -1,4 +1,4 @@ -module Feature.DisabledOpenApiSpec where +module Feature.OpenApi.DisabledOpenApiSpec where import Network.HTTP.Types import Network.Wai (Application) diff --git a/test/spec/Feature/IgnorePrivOpenApiSpec.hs b/test/spec/Feature/OpenApi/IgnorePrivOpenApiSpec.hs similarity index 98% rename from test/spec/Feature/IgnorePrivOpenApiSpec.hs rename to test/spec/Feature/OpenApi/IgnorePrivOpenApiSpec.hs index 6b070e2a2..f943268f4 100644 --- a/test/spec/Feature/IgnorePrivOpenApiSpec.hs +++ b/test/spec/Feature/OpenApi/IgnorePrivOpenApiSpec.hs @@ -1,4 +1,4 @@ -module Feature.IgnorePrivOpenApiSpec where +module Feature.OpenApi.IgnorePrivOpenApiSpec where import Control.Lens ((^?)) diff --git a/test/spec/Feature/OpenApiSpec.hs b/test/spec/Feature/OpenApi/OpenApiSpec.hs similarity index 99% rename from test/spec/Feature/OpenApiSpec.hs rename to test/spec/Feature/OpenApi/OpenApiSpec.hs index 26abc1ab3..3b4a5a945 100644 --- a/test/spec/Feature/OpenApiSpec.hs +++ b/test/spec/Feature/OpenApi/OpenApiSpec.hs @@ -1,4 +1,4 @@ -module Feature.OpenApiSpec where +module Feature.OpenApi.OpenApiSpec where import Control.Lens ((^?)) import Data.Aeson.Types (Value (..)) diff --git a/test/spec/Feature/ProxySpec.hs b/test/spec/Feature/OpenApi/ProxySpec.hs similarity index 88% rename from test/spec/Feature/ProxySpec.hs rename to test/spec/Feature/OpenApi/ProxySpec.hs index 7f3a09668..57405a7da 100644 --- a/test/spec/Feature/ProxySpec.hs +++ b/test/spec/Feature/OpenApi/ProxySpec.hs @@ -1,4 +1,4 @@ -module Feature.ProxySpec where +module Feature.OpenApi.ProxySpec where import Network.Wai (Application) import Test.Hspec hiding (pendingWith) diff --git a/test/spec/Feature/RootSpec.hs b/test/spec/Feature/OpenApi/RootSpec.hs similarity index 96% rename from test/spec/Feature/RootSpec.hs rename to test/spec/Feature/OpenApi/RootSpec.hs index ed0f0da3a..6d9bbe15a 100644 --- a/test/spec/Feature/RootSpec.hs +++ b/test/spec/Feature/OpenApi/RootSpec.hs @@ -1,4 +1,4 @@ -module Feature.RootSpec where +module Feature.OpenApi.RootSpec where import Network.HTTP.Types import Network.Wai (Application) diff --git a/test/spec/Feature/AndOrParamsSpec.hs b/test/spec/Feature/Query/AndOrParamsSpec.hs similarity index 99% rename from test/spec/Feature/AndOrParamsSpec.hs rename to test/spec/Feature/Query/AndOrParamsSpec.hs index 43e8ca33b..b84d6031b 100644 --- a/test/spec/Feature/AndOrParamsSpec.hs +++ b/test/spec/Feature/Query/AndOrParamsSpec.hs @@ -1,4 +1,4 @@ -module Feature.AndOrParamsSpec where +module Feature.Query.AndOrParamsSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/DeleteSpec.hs b/test/spec/Feature/Query/DeleteSpec.hs similarity index 99% rename from test/spec/Feature/DeleteSpec.hs rename to test/spec/Feature/Query/DeleteSpec.hs index c695e462c..9c31d7a88 100644 --- a/test/spec/Feature/DeleteSpec.hs +++ b/test/spec/Feature/Query/DeleteSpec.hs @@ -1,4 +1,4 @@ -module Feature.DeleteSpec where +module Feature.Query.DeleteSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/EmbedDisambiguationSpec.hs b/test/spec/Feature/Query/EmbedDisambiguationSpec.hs similarity index 99% rename from test/spec/Feature/EmbedDisambiguationSpec.hs rename to test/spec/Feature/Query/EmbedDisambiguationSpec.hs index 5e21188f3..e145ca6d9 100644 --- a/test/spec/Feature/EmbedDisambiguationSpec.hs +++ b/test/spec/Feature/Query/EmbedDisambiguationSpec.hs @@ -1,4 +1,4 @@ -module Feature.EmbedDisambiguationSpec where +module Feature.Query.EmbedDisambiguationSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/EmbedInnerJoinSpec.hs b/test/spec/Feature/Query/EmbedInnerJoinSpec.hs similarity index 99% rename from test/spec/Feature/EmbedInnerJoinSpec.hs rename to test/spec/Feature/Query/EmbedInnerJoinSpec.hs index 25cba0e18..5f90618de 100644 --- a/test/spec/Feature/EmbedInnerJoinSpec.hs +++ b/test/spec/Feature/Query/EmbedInnerJoinSpec.hs @@ -1,4 +1,4 @@ -module Feature.EmbedInnerJoinSpec where +module Feature.Query.EmbedInnerJoinSpec where import Network.HTTP.Types import Network.Wai (Application) diff --git a/test/spec/Feature/HtmlRawOutputSpec.hs b/test/spec/Feature/Query/HtmlRawOutputSpec.hs similarity index 94% rename from test/spec/Feature/HtmlRawOutputSpec.hs rename to test/spec/Feature/Query/HtmlRawOutputSpec.hs index 5d65292aa..5685cdbd9 100644 --- a/test/spec/Feature/HtmlRawOutputSpec.hs +++ b/test/spec/Feature/Query/HtmlRawOutputSpec.hs @@ -1,4 +1,4 @@ -module Feature.HtmlRawOutputSpec where +module Feature.Query.HtmlRawOutputSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/InsertSpec.hs b/test/spec/Feature/Query/InsertSpec.hs similarity index 99% rename from test/spec/Feature/InsertSpec.hs rename to test/spec/Feature/Query/InsertSpec.hs index b7aa31e89..ff3c4610f 100644 --- a/test/spec/Feature/InsertSpec.hs +++ b/test/spec/Feature/Query/InsertSpec.hs @@ -1,4 +1,4 @@ -module Feature.InsertSpec where +module Feature.Query.InsertSpec where import Data.List (lookup) import Network.Wai (Application) diff --git a/test/spec/Feature/JsonOperatorSpec.hs b/test/spec/Feature/Query/JsonOperatorSpec.hs similarity index 99% rename from test/spec/Feature/JsonOperatorSpec.hs rename to test/spec/Feature/Query/JsonOperatorSpec.hs index 4c43be833..0ca44da35 100644 --- a/test/spec/Feature/JsonOperatorSpec.hs +++ b/test/spec/Feature/Query/JsonOperatorSpec.hs @@ -1,4 +1,4 @@ -module Feature.JsonOperatorSpec where +module Feature.Query.JsonOperatorSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/MultipleSchemaSpec.hs b/test/spec/Feature/Query/MultipleSchemaSpec.hs similarity index 99% rename from test/spec/Feature/MultipleSchemaSpec.hs rename to test/spec/Feature/Query/MultipleSchemaSpec.hs index b11e28285..a7a7550c1 100644 --- a/test/spec/Feature/MultipleSchemaSpec.hs +++ b/test/spec/Feature/Query/MultipleSchemaSpec.hs @@ -1,4 +1,4 @@ -module Feature.MultipleSchemaSpec where +module Feature.Query.MultipleSchemaSpec where import Control.Lens ((^?)) import Data.Aeson.Lens diff --git a/test/spec/Feature/NonexistentSchemaSpec.hs b/test/spec/Feature/Query/NonexistentSchemaSpec.hs similarity index 89% rename from test/spec/Feature/NonexistentSchemaSpec.hs rename to test/spec/Feature/Query/NonexistentSchemaSpec.hs index 7327c03cc..01d9a590b 100644 --- a/test/spec/Feature/NonexistentSchemaSpec.hs +++ b/test/spec/Feature/Query/NonexistentSchemaSpec.hs @@ -1,4 +1,4 @@ -module Feature.NonexistentSchemaSpec where +module Feature.Query.NonexistentSchemaSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/QueryLimitedSpec.hs b/test/spec/Feature/Query/QueryLimitedSpec.hs similarity index 98% rename from test/spec/Feature/QueryLimitedSpec.hs rename to test/spec/Feature/Query/QueryLimitedSpec.hs index 006f652b3..eb89abade 100644 --- a/test/spec/Feature/QueryLimitedSpec.hs +++ b/test/spec/Feature/Query/QueryLimitedSpec.hs @@ -1,4 +1,4 @@ -module Feature.QueryLimitedSpec where +module Feature.Query.QueryLimitedSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/QuerySpec.hs b/test/spec/Feature/Query/QuerySpec.hs similarity index 99% rename from test/spec/Feature/QuerySpec.hs rename to test/spec/Feature/Query/QuerySpec.hs index efac5d283..b673e9082 100644 --- a/test/spec/Feature/QuerySpec.hs +++ b/test/spec/Feature/Query/QuerySpec.hs @@ -1,4 +1,4 @@ -module Feature.QuerySpec where +module Feature.Query.QuerySpec where import Network.Wai (Application) import Network.Wai.Test (SResponse (simpleHeaders)) diff --git a/test/spec/Feature/RangeSpec.hs b/test/spec/Feature/Query/RangeSpec.hs similarity index 99% rename from test/spec/Feature/RangeSpec.hs rename to test/spec/Feature/Query/RangeSpec.hs index 05d95163a..d765c80a3 100644 --- a/test/spec/Feature/RangeSpec.hs +++ b/test/spec/Feature/Query/RangeSpec.hs @@ -1,4 +1,4 @@ -module Feature.RangeSpec where +module Feature.Query.RangeSpec where import qualified Data.ByteString.Lazy as BL diff --git a/test/spec/Feature/RawOutputTypesSpec.hs b/test/spec/Feature/Query/RawOutputTypesSpec.hs similarity index 97% rename from test/spec/Feature/RawOutputTypesSpec.hs rename to test/spec/Feature/Query/RawOutputTypesSpec.hs index 5ea7e7fbb..b76df7813 100644 --- a/test/spec/Feature/RawOutputTypesSpec.hs +++ b/test/spec/Feature/Query/RawOutputTypesSpec.hs @@ -1,4 +1,4 @@ -module Feature.RawOutputTypesSpec where +module Feature.Query.RawOutputTypesSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/RpcSpec.hs b/test/spec/Feature/Query/RpcSpec.hs similarity index 99% rename from test/spec/Feature/RpcSpec.hs rename to test/spec/Feature/Query/RpcSpec.hs index 55e52e85d..1495b9b87 100644 --- a/test/spec/Feature/RpcSpec.hs +++ b/test/spec/Feature/Query/RpcSpec.hs @@ -1,4 +1,4 @@ -module Feature.RpcSpec where +module Feature.Query.RpcSpec where import qualified Data.ByteString.Lazy as BL (empty, readFile) diff --git a/test/spec/Feature/SingularSpec.hs b/test/spec/Feature/Query/SingularSpec.hs similarity index 99% rename from test/spec/Feature/SingularSpec.hs rename to test/spec/Feature/Query/SingularSpec.hs index a6645f73b..62bcfdcbc 100644 --- a/test/spec/Feature/SingularSpec.hs +++ b/test/spec/Feature/Query/SingularSpec.hs @@ -1,4 +1,4 @@ -module Feature.SingularSpec where +module Feature.Query.SingularSpec where import Network.Wai (Application) import Network.Wai.Test (SResponse (..)) diff --git a/test/spec/Feature/UnicodeSpec.hs b/test/spec/Feature/Query/UnicodeSpec.hs similarity index 96% rename from test/spec/Feature/UnicodeSpec.hs rename to test/spec/Feature/Query/UnicodeSpec.hs index 9391836ac..f6cff6f82 100644 --- a/test/spec/Feature/UnicodeSpec.hs +++ b/test/spec/Feature/Query/UnicodeSpec.hs @@ -1,4 +1,4 @@ -module Feature.UnicodeSpec where +module Feature.Query.UnicodeSpec where import Network.Wai (Application) diff --git a/test/spec/Feature/UpdateSpec.hs b/test/spec/Feature/Query/UpdateSpec.hs similarity index 99% rename from test/spec/Feature/UpdateSpec.hs rename to test/spec/Feature/Query/UpdateSpec.hs index 41371fc26..18602f30f 100644 --- a/test/spec/Feature/UpdateSpec.hs +++ b/test/spec/Feature/Query/UpdateSpec.hs @@ -1,4 +1,4 @@ -module Feature.UpdateSpec where +module Feature.Query.UpdateSpec where import Network.Wai (Application) import Test.Hspec hiding (pendingWith) diff --git a/test/spec/Feature/UpsertSpec.hs b/test/spec/Feature/Query/UpsertSpec.hs similarity index 99% rename from test/spec/Feature/UpsertSpec.hs rename to test/spec/Feature/Query/UpsertSpec.hs index e33f24f1a..604d82e45 100644 --- a/test/spec/Feature/UpsertSpec.hs +++ b/test/spec/Feature/Query/UpsertSpec.hs @@ -1,4 +1,4 @@ -module Feature.UpsertSpec where +module Feature.Query.UpsertSpec where import Network.Wai (Application) diff --git a/test/spec/Main.hs b/test/spec/Main.hs index f607525ac..8d7e4bc05 100644 --- a/test/spec/Main.hs +++ b/test/spec/Main.hs @@ -19,42 +19,42 @@ import SpecHelper import qualified PostgREST.AppState as AppState -import qualified Feature.AndOrParamsSpec -import qualified Feature.AsymmetricJwtSpec -import qualified Feature.AudienceJwtSecretSpec -import qualified Feature.AuthSpec -import qualified Feature.BinaryJwtSecretSpec +import qualified Feature.Auth.AsymmetricJwtSpec +import qualified Feature.Auth.AudienceJwtSecretSpec +import qualified Feature.Auth.AuthSpec +import qualified Feature.Auth.BinaryJwtSecretSpec +import qualified Feature.Auth.NoAnonSpec +import qualified Feature.Auth.NoJwtSpec import qualified Feature.ConcurrentSpec import qualified Feature.CorsSpec -import qualified Feature.DeleteSpec -import qualified Feature.DisabledOpenApiSpec -import qualified Feature.EmbedDisambiguationSpec -import qualified Feature.EmbedInnerJoinSpec import qualified Feature.ExtraSearchPathSpec -import qualified Feature.HtmlRawOutputSpec -import qualified Feature.IgnorePrivOpenApiSpec -import qualified Feature.InsertSpec -import qualified Feature.JsonOperatorSpec import qualified Feature.LegacyGucsSpec -import qualified Feature.MultipleSchemaSpec -import qualified Feature.NoAnonSpec -import qualified Feature.NoJwtSpec -import qualified Feature.NonexistentSchemaSpec -import qualified Feature.OpenApiSpec +import qualified Feature.OpenApi.DisabledOpenApiSpec +import qualified Feature.OpenApi.IgnorePrivOpenApiSpec +import qualified Feature.OpenApi.OpenApiSpec +import qualified Feature.OpenApi.ProxySpec +import qualified Feature.OpenApi.RootSpec import qualified Feature.OptionsSpec -import qualified Feature.ProxySpec -import qualified Feature.QueryLimitedSpec -import qualified Feature.QuerySpec -import qualified Feature.RangeSpec -import qualified Feature.RawOutputTypesSpec +import qualified Feature.Query.AndOrParamsSpec +import qualified Feature.Query.DeleteSpec +import qualified Feature.Query.EmbedDisambiguationSpec +import qualified Feature.Query.EmbedInnerJoinSpec +import qualified Feature.Query.HtmlRawOutputSpec +import qualified Feature.Query.InsertSpec +import qualified Feature.Query.JsonOperatorSpec +import qualified Feature.Query.MultipleSchemaSpec +import qualified Feature.Query.NonexistentSchemaSpec +import qualified Feature.Query.QueryLimitedSpec +import qualified Feature.Query.QuerySpec +import qualified Feature.Query.RangeSpec +import qualified Feature.Query.RawOutputTypesSpec +import qualified Feature.Query.RpcSpec +import qualified Feature.Query.SingularSpec +import qualified Feature.Query.UnicodeSpec +import qualified Feature.Query.UpdateSpec +import qualified Feature.Query.UpsertSpec import qualified Feature.RollbackSpec -import qualified Feature.RootSpec import qualified Feature.RpcPreRequestGucsSpec -import qualified Feature.RpcSpec -import qualified Feature.SingularSpec -import qualified Feature.UnicodeSpec -import qualified Feature.UpdateSpec -import qualified Feature.UpsertSpec main :: IO () @@ -122,23 +122,23 @@ main = do analyzeTable "child_entities" specs = uncurry describe <$> [ - ("Feature.AndOrParamsSpec" , Feature.AndOrParamsSpec.spec actualPgVersion) - , ("Feature.AuthSpec" , Feature.AuthSpec.spec actualPgVersion) - , ("Feature.ConcurrentSpec" , Feature.ConcurrentSpec.spec) - , ("Feature.CorsSpec" , Feature.CorsSpec.spec) - , ("Feature.DeleteSpec" , Feature.DeleteSpec.spec) - , ("Feature.EmbedDisambiguationSpec" , Feature.EmbedDisambiguationSpec.spec) - , ("Feature.EmbedInnerJoinSpec" , Feature.EmbedInnerJoinSpec.spec) - , ("Feature.InsertSpec" , Feature.InsertSpec.spec actualPgVersion) - , ("Feature.JsonOperatorSpec" , Feature.JsonOperatorSpec.spec actualPgVersion) - , ("Feature.OpenApiSpec" , Feature.OpenApiSpec.spec actualPgVersion) - , ("Feature.OptionsSpec" , Feature.OptionsSpec.spec actualPgVersion) - , ("Feature.QuerySpec" , Feature.QuerySpec.spec actualPgVersion) - , ("Feature.RawOutputTypesSpec" , Feature.RawOutputTypesSpec.spec) - , ("Feature.RpcSpec" , Feature.RpcSpec.spec actualPgVersion) - , ("Feature.SingularSpec" , Feature.SingularSpec.spec) - , ("Feature.UpdateSpec" , Feature.UpdateSpec.spec) - , ("Feature.UpsertSpec" , Feature.UpsertSpec.spec actualPgVersion) + ("Feature.Query.AndOrParamsSpec" , Feature.Query.AndOrParamsSpec.spec actualPgVersion) + , ("Feature.Auth.AuthSpec" , Feature.Auth.AuthSpec.spec actualPgVersion) + , ("Feature.ConcurrentSpec" , Feature.ConcurrentSpec.spec) + , ("Feature.CorsSpec" , Feature.CorsSpec.spec) + , ("Feature.Query.DeleteSpec" , Feature.Query.DeleteSpec.spec) + , ("Feature.Query.EmbedDisambiguationSpec" , Feature.Query.EmbedDisambiguationSpec.spec) + , ("Feature.Query.EmbedInnerJoinSpec" , Feature.Query.EmbedInnerJoinSpec.spec) + , ("Feature.Query.InsertSpec" , Feature.Query.InsertSpec.spec actualPgVersion) + , ("Feature.Query.JsonOperatorSpec" , Feature.Query.JsonOperatorSpec.spec actualPgVersion) + , ("Feature.OpenApi.OpenApiSpec" , Feature.OpenApi.OpenApiSpec.spec actualPgVersion) + , ("Feature.OptionsSpec" , Feature.OptionsSpec.spec actualPgVersion) + , ("Feature.Query.QuerySpec" , Feature.Query.QuerySpec.spec actualPgVersion) + , ("Feature.Query.RawOutputTypesSpec" , Feature.Query.RawOutputTypesSpec.spec) + , ("Feature.Query.RpcSpec" , Feature.Query.RpcSpec.spec actualPgVersion) + , ("Feature.Query.SingularSpec" , Feature.Query.SingularSpec.spec) + , ("Feature.Query.UpdateSpec" , Feature.Query.UpdateSpec.spec) + , ("Feature.Query.UpsertSpec" , Feature.Query.UpsertSpec.spec actualPgVersion) ] hspec $ do @@ -146,59 +146,59 @@ main = do -- we analyze to get accurate results from EXPLAIN parallel $ beforeAll_ analyze . before withApp $ - describe "Feature.RangeSpec" Feature.RangeSpec.spec + describe "Feature.Query.RangeSpec" Feature.Query.RangeSpec.spec -- this test runs with a raw-output-media-types set to text/html parallel $ before htmlRawOutputApp $ - describe "Feature.HtmlRawOutputSpec" Feature.HtmlRawOutputSpec.spec + describe "Feature.Query.HtmlRawOutputSpec" Feature.Query.HtmlRawOutputSpec.spec -- this test runs with a different server flag parallel $ before maxRowsApp $ - describe "Feature.QueryLimitedSpec" Feature.QueryLimitedSpec.spec + describe "Feature.Query.QueryLimitedSpec" Feature.Query.QueryLimitedSpec.spec -- this test runs with a different schema parallel $ before unicodeApp $ - describe "Feature.UnicodeSpec" Feature.UnicodeSpec.spec + describe "Feature.Query.UnicodeSpec" Feature.Query.UnicodeSpec.spec -- this test runs with openapi-mode set to disabled parallel $ before disabledOpenApi $ - describe "Feature.DisabledOpenApiSpec" Feature.DisabledOpenApiSpec.spec + describe "Feature.DisabledOpenApiSpec" Feature.OpenApi.DisabledOpenApiSpec.spec -- this test runs with openapi-mode set to ignore-acl parallel $ before ignorePrivOpenApi $ - describe "Feature.IgnorePrivOpenApiSpec" Feature.IgnorePrivOpenApiSpec.spec + describe "Feature.OpenApi.IgnorePrivOpenApiSpec" Feature.OpenApi.IgnorePrivOpenApiSpec.spec -- this test runs with a proxy parallel $ before proxyApp $ - describe "Feature.ProxySpec" Feature.ProxySpec.spec + describe "Feature.OpenApi.ProxySpec" Feature.OpenApi.ProxySpec.spec -- this test runs without an anonymous role parallel $ before noAnonApp $ - describe "Feature.NoAnonSpec" Feature.NoAnonSpec.spec + describe "Feature.Auth.NoAnonSpec" Feature.Auth.NoAnonSpec.spec -- this test runs without a JWT secret parallel $ before noJwtApp $ - describe "Feature.NoJwtSpec" Feature.NoJwtSpec.spec + describe "Feature.Auth.NoJwtSpec" Feature.Auth.NoJwtSpec.spec -- this test runs with a binary JWT secret parallel $ before binaryJwtApp $ - describe "Feature.BinaryJwtSecretSpec" Feature.BinaryJwtSecretSpec.spec + describe "Feature.Auth.BinaryJwtSecretSpec" Feature.Auth.BinaryJwtSecretSpec.spec -- this test runs with a binary JWT secret and an audience claim parallel $ before audJwtApp $ - describe "Feature.AudienceJwtSecretSpec" Feature.AudienceJwtSecretSpec.spec + describe "Feature.Auth.AudienceJwtSecretSpec" Feature.Auth.AudienceJwtSecretSpec.spec -- this test runs with asymmetric JWK parallel $ before asymJwkApp $ - describe "Feature.AsymmetricJwtSpec" Feature.AsymmetricJwtSpec.spec + describe "Feature.Auth.AsymmetricJwtSpec" Feature.Auth.AsymmetricJwtSpec.spec -- this test runs with asymmetric JWKSet parallel $ before asymJwkSetApp $ - describe "Feature.AsymmetricJwtSpec" Feature.AsymmetricJwtSpec.spec + describe "Feature.Auth.AsymmetricJwtSpec" Feature.Auth.AsymmetricJwtSpec.spec -- this test runs with a nonexistent db-schema parallel $ before nonexistentSchemaApp $ - describe "Feature.NonexistentSchemaSpec" Feature.NonexistentSchemaSpec.spec + describe "Feature.Query.NonexistentSchemaSpec" Feature.Query.NonexistentSchemaSpec.spec -- this test runs with an extra search path parallel $ before extraSearchPathApp $ @@ -206,13 +206,15 @@ main = do -- this test runs with a root spec function override parallel $ before rootSpecApp $ - describe "Feature.RootSpec" Feature.RootSpec.spec + describe "Feature.OpenApi.RootSpec" Feature.OpenApi.RootSpec.spec + + -- this test runs with a pre request function override parallel $ before responseHeadersApp $ describe "Feature.RpcPreRequestGucsSpec" Feature.RpcPreRequestGucsSpec.spec -- this test runs with multiple schemas parallel $ before multipleSchemaApp $ - describe "Feature.MultipleSchemaSpec" Feature.MultipleSchemaSpec.spec + describe "Feature.Query.MultipleSchemaSpec" Feature.Query.MultipleSchemaSpec.spec -- this test runs with db-uses-legacy-gucs = false parallel $ before testCfgLegacyGucsApp $