mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-22 21:59:59 +00:00
## Problem `TYPE_CHECKING` is used inconsistently across Python tests. ## Summary of changes - Update `ruff`: 0.7.0 -> 0.11.2 - Enable TC (flake8-type-checking): https://docs.astral.sh/ruff/rules/#flake8-type-checking-tc - (auto)fix all new issues
77 lines
2.3 KiB
Python
77 lines
2.3 KiB
Python
from __future__ import annotations
|
|
|
|
import os
|
|
from contextlib import closing
|
|
from typing import TYPE_CHECKING
|
|
|
|
if TYPE_CHECKING:
|
|
from fixtures.neon_fixtures import NeonEnv, NeonEnvBuilder
|
|
|
|
|
|
#
|
|
# Test starting Postgres with custom options
|
|
#
|
|
def test_config(neon_simple_env: NeonEnv):
|
|
env = neon_simple_env
|
|
|
|
# change config
|
|
endpoint = env.endpoints.create_start("main", config_lines=["log_min_messages=debug1"])
|
|
|
|
with closing(endpoint.connect()) as conn:
|
|
with conn.cursor() as cur:
|
|
cur.execute(
|
|
"""
|
|
SELECT setting
|
|
FROM pg_settings
|
|
WHERE
|
|
source != 'default'
|
|
AND source != 'override'
|
|
AND name = 'log_min_messages'
|
|
"""
|
|
)
|
|
|
|
# check that config change was applied
|
|
assert cur.fetchone() == ("debug1",)
|
|
|
|
|
|
#
|
|
# Test that reordering of safekeepers does not restart walproposer
|
|
#
|
|
def test_safekeepers_reconfigure_reorder(
|
|
neon_env_builder: NeonEnvBuilder,
|
|
):
|
|
neon_env_builder.num_safekeepers = 3
|
|
env = neon_env_builder.init_start()
|
|
env.create_branch("test_safekeepers_reconfigure_reorder")
|
|
|
|
endpoint = env.endpoints.create_start("test_safekeepers_reconfigure_reorder")
|
|
|
|
old_sks = ""
|
|
with closing(endpoint.connect()) as conn:
|
|
with conn.cursor() as cur:
|
|
cur.execute("SHOW neon.safekeepers")
|
|
res = cur.fetchone()
|
|
assert res is not None, "neon.safekeepers GUC is set"
|
|
old_sks = res[0]
|
|
|
|
# Reorder safekeepers
|
|
safekeepers = endpoint.active_safekeepers
|
|
safekeepers = safekeepers[1:] + safekeepers[:1]
|
|
|
|
endpoint.reconfigure(safekeepers=safekeepers)
|
|
|
|
with closing(endpoint.connect()) as conn:
|
|
with conn.cursor() as cur:
|
|
cur.execute("SHOW neon.safekeepers")
|
|
res = cur.fetchone()
|
|
assert res is not None, "neon.safekeepers GUC is set"
|
|
new_sks = res[0]
|
|
|
|
assert new_sks != old_sks, "GUC changes were applied"
|
|
|
|
log_path = os.path.join(endpoint.endpoint_path(), "compute.log")
|
|
with open(log_path) as log_file:
|
|
logs = log_file.read()
|
|
# Check that walproposer was not restarted
|
|
assert "restarting walproposer" not in logs
|