mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-09 14:32:57 +00:00
Newer version of mypy fixes buggy error when trying to update only boto3 stubs. However it brings new checks and starts to yell when we index into cusror.fetchone without checking for None first. So this introduces a wrapper to simplify quering for scalar values. I tried to use cursor_factory connection argument but without success. There can be a better way to do that, but this looks the simplest
29 lines
1017 B
Python
29 lines
1017 B
Python
from fixtures.neon_fixtures import NeonEnv
|
|
from fixtures.log_helper import log
|
|
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')
|
|
pg = env.postgres.create_start('test_createuser')
|
|
log.info("postgres is running on 'test_createuser' branch")
|
|
|
|
with pg.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)
|
|
pg2 = env.postgres.create_start('test_createuser2')
|
|
|
|
# Test that you can connect to new branch as a new user
|
|
assert pg2.safe_psql('select current_user', user='testuser') == [('testuser', )]
|