refactor: Repeated boilerplate code between upload to database forms (#16756)

* abstract boilerplate code into class and rename csv to file

* add db migration

* fix some stuff

* more renaming of csv to file

* rename in translations

* update down revision

* update down revision

* bump chart version

* switch to alter column name approach in db migration

* fix db migration for MySQL

* db migration conflict
This commit is contained in:
Shiva Raisinghani
2021-10-25 03:53:06 -07:00
committed by GitHub
parent 4f1d202430
commit ef3afbde82
53 changed files with 205 additions and 251 deletions

View File

@@ -161,10 +161,10 @@ class TestDatabaseApi(SupersetTestCase):
self.assertEqual(rv.status_code, 200)
response = json.loads(rv.data.decode("utf-8"))
expected_columns = [
"allow_csv_upload",
"allow_ctas",
"allow_cvas",
"allow_dml",
"allow_file_upload",
"allow_multi_schema_metadata_fetch",
"allow_run_async",
"allows_cost_estimate",
@@ -232,7 +232,7 @@ class TestDatabaseApi(SupersetTestCase):
"metadata_params": {},
"engine_params": {},
"metadata_cache_timeout": {},
"schemas_allowed_for_csv_upload": [],
"schemas_allowed_for_file_upload": [],
}
self.login(username="admin")
@@ -265,7 +265,7 @@ class TestDatabaseApi(SupersetTestCase):
"metadata_params": {},
"engine_params": {},
"metadata_cache_timeout": {},
"schemas_allowed_for_csv_upload": [],
"schemas_allowed_for_file_upload": [],
}
self.login(username="admin")
@@ -296,7 +296,7 @@ class TestDatabaseApi(SupersetTestCase):
"metadata_params": {},
"engine_params": {},
"metadata_cache_timeout": {},
"schemas_allowed_for_csv_upload": [],
"schemas_allowed_for_file_upload": [],
}
self.login(username="admin")
@@ -386,7 +386,7 @@ class TestDatabaseApi(SupersetTestCase):
"metadata_params": {"wrong_param": "some_value"},
"engine_params": {},
"metadata_cache_timeout": {},
"schemas_allowed_for_csv_upload": [],
"schemas_allowed_for_file_upload": [],
}
self.login(username="admin")
database_data = {
@@ -906,7 +906,7 @@ class TestDatabaseApi(SupersetTestCase):
"metadata_params": {},
"engine_params": {},
"metadata_cache_timeout": {},
"schemas_allowed_for_csv_upload": [],
"schemas_allowed_for_file_upload": [],
}
# need to temporarily allow sqlite dbs, teardown will undo this
app.config["PREVENT_UNSAFE_DB_CONNECTIONS"] = False

View File

@@ -83,7 +83,7 @@ class TestExportDatabasesCommand(SupersetTestCase):
"engine_params": {},
"metadata_cache_timeout": {},
"metadata_params": {},
"schemas_allowed_for_csv_upload": [],
"schemas_allowed_for_file_upload": [],
}
if backend() == "presto":
expected_extra = {
@@ -107,7 +107,7 @@ class TestExportDatabasesCommand(SupersetTestCase):
metadata = yaml.safe_load(contents["databases/examples.yaml"])
assert metadata == (
{
"allow_csv_upload": True,
"allow_file_upload": True,
"allow_ctas": True,
"allow_cvas": True,
"allow_run_async": False,
@@ -305,7 +305,7 @@ class TestExportDatabasesCommand(SupersetTestCase):
"allow_run_async",
"allow_ctas",
"allow_cvas",
"allow_csv_upload",
"allow_file_upload",
"extra",
"uuid",
"version",
@@ -325,7 +325,7 @@ class TestImportDatabasesCommand(SupersetTestCase):
database = (
db.session.query(Database).filter_by(uuid=database_config["uuid"]).one()
)
assert database.allow_csv_upload
assert database.allow_file_upload
assert database.allow_ctas
assert database.allow_cvas
assert not database.allow_run_async
@@ -355,11 +355,11 @@ class TestImportDatabasesCommand(SupersetTestCase):
database = (
db.session.query(Database).filter_by(uuid=database_config["uuid"]).one()
)
assert database.allow_csv_upload
assert database.allow_file_upload
# update allow_csv_upload to False
# update allow_file_upload to False
new_config = database_config.copy()
new_config["allow_csv_upload"] = False
new_config["allow_file_upload"] = False
contents = {
"databases/imported_database.yaml": yaml.safe_dump(new_config),
"metadata.yaml": yaml.safe_dump(database_metadata_config),
@@ -370,7 +370,7 @@ class TestImportDatabasesCommand(SupersetTestCase):
database = (
db.session.query(Database).filter_by(uuid=database_config["uuid"]).one()
)
assert not database.allow_csv_upload
assert not database.allow_file_upload
# test that only one database was created
new_num_databases = db.session.query(Database).count()