test: move error verbosity test from io 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 6191243c64
commit c73c676849
2 changed files with 13 additions and 33 deletions
-32
View File
@@ -2087,38 +2087,6 @@ def test_server_timing_transaction_duration_with_role_statement_timeout(
assert 2000 <= response_dur < 3000 assert 2000 <= response_dur < 3000
def test_client_error_verbosity_config(defaultenv):
"Test PostgREST errors with different error verbosity settings"
env = {
**defaultenv,
"PGRST_CLIENT_ERROR_VERBOSITY": "minimal", # hide details and hint
}
with run(env=env) as postgrest:
response = postgrest.session.get("/itemsx")
assert response.status_code == 404
assert response.json() == {
"code": "PGRST205",
"message": "Could not find the table 'public.itemsx' in the schema cache",
}
env = {
**defaultenv,
"PGRST_CLIENT_ERROR_VERBOSITY": "verbose",
}
with run(env=env) as postgrest:
response = postgrest.session.get("/itemsx")
assert response.status_code == 404
assert response.json() == {
"code": "PGRST205",
"message": "Could not find the table 'public.itemsx' in the schema cache",
"details": None,
"hint": "Perhaps you meant the table 'public.items'",
}
def test_positive_pool_metric(defaultenv): def test_positive_pool_metric(defaultenv):
"When a network failure is caused on the pg connection, pgrst_db_pool_available stays positive" "When a network failure is caused on the pg connection, pgrst_db_pool_available stays positive"
+13 -1
View File
@@ -5,7 +5,7 @@ import Test.Hspec
import Test.Hspec.Wai import Test.Hspec.Wai
import Test.Hspec.Wai.JSON import Test.Hspec.Wai.JSON
import PostgREST.Config (AppConfig (..)) import PostgREST.Config (AppConfig (..), Verbosity (..))
import Protolude hiding (get) import Protolude hiding (get)
import SpecHelper import SpecHelper
@@ -223,3 +223,15 @@ spec withConfig = do
"message":"Wrong or unsupported encoding algorithm" "message":"Wrong or unsupported encoding algorithm"
}|] }|]
{ matchStatus = 401 } { matchStatus = 401 }
-- By default, error verbosity is set to 'verbose', which returns all error
-- fields. No need to test that explicitly.
withConfig baseCfg { configClientErrorVerbosity = Minimal } $ describe "Test client-error-verbosity config" $
it "hides details and hint when set to 'minimal'" $
request methodGet "/itemsx" [] ""
`shouldRespondWith`
[json|{
"code":"PGRST205",
"message":"Could not find the table 'test.itemsx' in the schema cache"
}|]
{ matchStatus = 404 }