test: move prepared statements config related tests to spec tests
Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
This commit is contained in:
@@ -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 }
|
||||
@@ -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)
|
||||
|
||||
Vendored
+11
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user