def test_sql_storage_sqlite_read_resource_not_existent_error(sqlite_url): storage = SqlStorage(sqlite_url) with pytest.raises(FrictionlessException) as excinfo: storage.read_resource("bad") error = excinfo.value.error assert error.code == "storage-error" assert error.note.count("does not exist")
def test_storage_read_resource_not_existent_error(database_url): engine = sa.create_engine(database_url) storage = SqlStorage(engine=engine) with pytest.raises(exceptions.FrictionlessException) as excinfo: storage.read_resource("bad") error = excinfo.value.error assert error.code == "storage-error" assert error.note.count("does not exist")
def test_postgresql_storage_views_support(): engine = sa.create_engine(os.environ["POSTGRESQL_URL"]) engine.execute("DROP VIEW IF EXISTS data_view") engine.execute("DROP TABLE IF EXISTS data") engine.execute("CREATE TABLE data (id INTEGER PRIMARY KEY, name TEXT)") engine.execute("INSERT INTO data VALUES (1, 'english'), (2, '中国人')") engine.execute("CREATE VIEW data_view AS SELECT * FROM data") storage = SqlStorage(engine=engine) resource = storage.read_resource("data_view") assert resource.schema == { "fields": [ { "name": "id", "type": "integer" }, { "name": "name", "type": "string" }, ] } assert resource.read_rows() == [ { "id": 1, "name": "english" }, { "id": 2, "name": "中国人" }, ]
def test_storage_views_support(database_url): engine = sa.create_engine(database_url) engine.execute("CREATE VIEW data_view AS SELECT * FROM data") storage = SqlStorage(engine=engine) resource = storage.read_resource("data_view") assert resource.schema == { "fields": [ { "name": "id", "type": "integer" }, { "name": "name", "type": "string" }, ] } assert resource.read_rows() == [ { "id": 1, "name": "english" }, { "id": 2, "name": "中国人" }, ]
def test_sql_storage_views_support(sqlite_url): engine = sa.create_engine(sqlite_url) engine.execute("CREATE TABLE 'table' (id INTEGER PRIMARY KEY, name TEXT)") engine.execute("INSERT INTO 'table' VALUES (1, 'english'), (2, '中国人')") engine.execute("CREATE VIEW 'table_view' AS SELECT * FROM 'table'") storage = SqlStorage(engine=engine) resource = storage.read_resource("table_view") assert resource.schema == { "fields": [ { "name": "id", "type": "integer" }, { "name": "name", "type": "string" }, ] } assert resource.read_rows() == [ { "id": 1, "name": "english" }, { "id": 2, "name": "中国人" }, ]