mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-04 03:52:56 +00:00
Add test for following relmapper files at CREATE DATABASE
This commit is contained in:
committed by
Konstantin Knizhnik
parent
d95e1da742
commit
22b7e74c83
34
test_runner/batch_others/test_createdb.py
Normal file
34
test_runner/batch_others/test_createdb.py
Normal file
@@ -0,0 +1,34 @@
|
||||
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');
|
||||
|
||||
conn.close();
|
||||
|
||||
# Create a branch
|
||||
zenith_cli.run(["branch", "test_createdb2", "test_createdb"]);
|
||||
|
||||
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'));
|
||||
@@ -193,9 +193,9 @@ class Postgres:
|
||||
self.zenith_cli.run(['pg', 'stop', self.branch])
|
||||
|
||||
# Return a libpq connection string to connect to the Postgres instance
|
||||
def connstr(self):
|
||||
conn_str = 'host={} port={} dbname=postgres user={}'.format(
|
||||
self.host, self.port, self.username)
|
||||
def connstr(self, dbname='postgres'):
|
||||
conn_str = 'host={} port={} dbname={} user={}'.format(
|
||||
self.host, self.port, dbname, self.username)
|
||||
return conn_str
|
||||
|
||||
class PostgresFactory:
|
||||
|
||||
Reference in New Issue
Block a user