test: move prepared statements config related tests to spec tests

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
This commit is contained in:
Taimoor Zaeem
2026-07-07 23:32:40 +05:00
parent 44edf962d8
commit c03ac09dbb
7 changed files with 47 additions and 42 deletions
@@ -0,0 +1,33 @@
module Feature.Query.PreparedStatementsSpec where
import Network.HTTP.Types
import Test.Hspec hiding (pendingWith)
import Test.Hspec.Wai
import Text.Heredoc
import PostgREST.Config (AppConfig (..))
import Protolude hiding (get)
import SpecHelper
spec :: SpecWithConfig
spec withConfig = do
withConfig baseCfg { configDbPreparedStatements = True } $
it "should use prepared statements when the setting is enabled" $
request methodPost "/rpc/uses_prepared_statements"
[] ""
`shouldRespondWith`
[str|true|]
{ matchStatus = 200 }
withConfig baseCfg { configDbPreparedStatements = False } $
it "should not use any prepared statements when the setting is disabled" $ do
request methodGet "/never_prepared"
[] ""
`shouldRespondWith` 200
request methodPost "/rpc/never_uses_prepared_statements"
[] ""
`shouldRespondWith`
[str|true|]
{ matchStatus = 200 }
+2
View File
@@ -58,6 +58,7 @@ import qualified Feature.Query.PostGISSpec
import qualified Feature.Query.Preferences.HandlingSpec
import qualified Feature.Query.Preferences.MaxAffectedSpec
import qualified Feature.Query.Preferences.TimezoneSpec
import qualified Feature.Query.PreparedStatementsSpec
import qualified Feature.Query.QueryLimitedSpec
import qualified Feature.Query.QuerySpec
import qualified Feature.Query.RangeSpec
@@ -148,6 +149,7 @@ main = do
, ("Feature.Query.Preferences.HandlingSpec" , Feature.Query.Preferences.HandlingSpec.spec)
, ("Feature.Query.Preferences.MaxAffectedSpec" , Feature.Query.Preferences.MaxAffectedSpec.spec)
, ("Feature.Query.Preferences.TimezoneSpec.enabledSpec", Feature.Query.Preferences.TimezoneSpec.enabledSpec)
, ("Feature.Query.PreparedStatementsSpec.spec" , Feature.Query.PreparedStatementsSpec.spec)
, ("Feature.Query.QueryLimitedSpec" , Feature.Query.QueryLimitedSpec.spec)
, ("Feature.Query.QuerySpec" , Feature.Query.QuerySpec.spec actualPgVersion)
, ("Feature.Query.RangeSpec" , Feature.Query.RangeSpec.spec)
+11
View File
@@ -3881,3 +3881,14 @@ $$ language plpgsql;
create or replace function "true"() returns boolean as $_$
select true;
$_$ language sql;
create function uses_prepared_statements() returns bool as $$
select count(*) > 0 from pg_catalog.pg_prepared_statements;
$$ language sql;
create table never_prepared (id int);
create function never_uses_prepared_statements() returns bool as $$
select count(*) = 0 from pg_catalog.pg_prepared_statements
where statement ilike '%never_prepared%';
$$ language sql;