def test_db_crud(postgres_user_db, postgres_user_db_ac): conn = postgres_user_db create_tables(postgres_user_db_ac) with conn.cursor() as cur: cur.execute("SELECT * FROM resource;") assert list(cur.fetchall()) == [] cur.execute(""" INSERT INTO resource_data (metadata, mimetype) VALUES ('{"name": "foo"}', 'application/json'), ('{"name": "bar"}', 'application/json'), ('{"name": "baz"}', 'application/json'); """) with conn.cursor() as cur: cur.execute('SELECT * FROM resource_data') data = list(cur.fetchall()) assert len(data) == 3 # Make sure json deserialization works assert data[0]['metadata']['name'] == 'foo' assert data[1]['metadata']['name'] == 'bar' assert data[2]['metadata']['name'] == 'baz' # Make sure we can query the json field cur.execute("SELECT * FROM resource_data " "WHERE metadata->>'name' = 'foo'") data = list(cur.fetchall()) assert len(data) == 1 assert data[0]['metadata']['name'] == 'foo'
def test_db_crud(postgres_user_db, postgres_user_db_ac): conn = postgres_user_db create_tables(postgres_user_db_ac) with conn.cursor() as cur: cur.execute("SELECT * FROM resource;") assert list(cur.fetchall()) == [] cur.execute(""" INSERT INTO resource (metadata, mimetype) VALUES ('{"name": "foo"}', 'application/json'), ('{"name": "bar"}', 'application/json'), ('{"name": "baz"}', 'application/json'); """) with conn.cursor() as cur: cur.execute('SELECT * FROM resource') data = list(cur.fetchall()) assert len(data) == 3 # Make sure json deserialization works assert data[0]['metadata']['name'] == 'foo' assert data[1]['metadata']['name'] == 'bar' assert data[2]['metadata']['name'] == 'baz' # Make sure we can query the json field cur.execute("SELECT * FROM resource WHERE metadata->>'name' = 'foo'") data = list(cur.fetchall()) assert len(data) == 1 assert data[0]['metadata']['name'] == 'foo'
def test_table_create_drop(postgres_user_db_ac): conn = postgres_user_db_ac create_tables(conn) with pytest.raises(Exception): create_tables(conn) drop_tables(conn) with pytest.raises(Exception): drop_tables(conn)
def make_app(config=None): from datacat.db import create_tables, connect app = make_flask_app(config) celery_app = make_celery(app.config) celery_app.set_current() _adm_conn = connect(**app.config['DATABASE']) _adm_conn.autocommit = True create_tables(_adm_conn) finalize_app(app) return app
def create_tables(self): create_tables(self.admin_db)