mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-09 06:22:57 +00:00
We use the term "endpoint" in for compute Postgres nodes in the web UI
and user-facing documentation now. Adjust the nomenclature in the code.
This changes the name of the "neon_local pg" command to "neon_local
endpoint". Also adjust names of classes, variables etc. in the python
tests accordingly.
This also changes the directory structure so that endpoints are now
stored in:
.neon/endpoints/<endpoint id>
instead of:
.neon/pgdatadirs/tenants/<tenant_id>/<endpoint (node) name>
The tenant ID is no longer part of the path. That means that you
cannot have two endpoints with the same name/ID in two different
tenants anymore. That's consistent with how we treat endpoints in the
real control plane and proxy: the endpoint ID must be globally unique.
29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
from fixtures.log_helper import log
|
|
from fixtures.neon_fixtures import NeonEnv
|
|
from fixtures.utils import query_scalar
|
|
|
|
|
|
#
|
|
# Test CREATE USER to check shared catalog restore
|
|
#
|
|
def test_createuser(neon_simple_env: NeonEnv):
|
|
env = neon_simple_env
|
|
env.neon_cli.create_branch("test_createuser", "empty")
|
|
endpoint = env.endpoints.create_start("test_createuser")
|
|
log.info("postgres is running on 'test_createuser' branch")
|
|
|
|
with endpoint.cursor() as cur:
|
|
# Cause a 'relmapper' change in the original branch
|
|
cur.execute("CREATE USER testuser with password %s", ("testpwd",))
|
|
|
|
cur.execute("CHECKPOINT")
|
|
|
|
lsn = query_scalar(cur, "SELECT pg_current_wal_insert_lsn()")
|
|
|
|
# Create a branch
|
|
env.neon_cli.create_branch("test_createuser2", "test_createuser", ancestor_start_lsn=lsn)
|
|
endpoint2 = env.endpoints.create_start("test_createuser2")
|
|
|
|
# Test that you can connect to new branch as a new user
|
|
assert endpoint2.safe_psql("select current_user", user="testuser") == [("testuser",)]
|