mirror of
https://github.com/neondatabase/neon.git
synced 2025-12-27 16:12:56 +00:00
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
import pytest
|
|
import getpass
|
|
import psycopg2
|
|
|
|
pytest_plugins = ("fixtures.zenith_fixtures")
|
|
|
|
#
|
|
# Test CREATE DATABASE when there have been relmapper changes
|
|
#
|
|
def test_createdb(zenith_cli, pageserver, postgres, pg_bin):
|
|
zenith_cli.run(["branch", "test_createdb", "empty"]);
|
|
|
|
pg = postgres.create_start('test_createdb')
|
|
print("postgres is running on 'test_createdb' branch")
|
|
|
|
conn = psycopg2.connect(pg.connstr());
|
|
conn.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT)
|
|
cur = conn.cursor()
|
|
|
|
# Cause a 'relmapper' change in the original branch
|
|
cur.execute('VACUUM FULL pg_class');
|
|
|
|
cur.execute('CREATE DATABASE foodb');
|
|
|
|
cur.execute('SELECT pg_current_wal_insert_lsn()');
|
|
lsn = cur.fetchone()[0]
|
|
|
|
conn.close();
|
|
|
|
# Create a branch
|
|
zenith_cli.run(["branch", "test_createdb2", "test_createdb@"+lsn]);
|
|
|
|
pg2 = postgres.create_start('test_createdb2')
|
|
|
|
# Test that you can connect to the new database on both branches
|
|
conn = psycopg2.connect(pg.connstr('foodb'));
|
|
conn2 = psycopg2.connect(pg2.connstr('foodb'));
|