mirror of
https://github.com/apache/superset.git
synced 2026-04-21 17:14:57 +00:00
fix: complete theme management system import/export (#34850)
Co-authored-by: Claude <noreply@anthropic.com>
(cherry picked from commit 4695be5cc5)
This commit is contained in:
committed by
Joe Li
parent
a3a2c494cc
commit
1c95ea5ab8
@@ -2615,27 +2615,16 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
response = json.loads(rv.data.decode("utf-8"))
|
||||
|
||||
assert rv.status_code == 422
|
||||
assert response == {
|
||||
"errors": [
|
||||
{
|
||||
"message": "Error importing database",
|
||||
"error_type": "GENERIC_COMMAND_ERROR",
|
||||
"level": "warning",
|
||||
"extra": {
|
||||
"databases/database.yaml": "Database already exists and `overwrite=true` was not passed", # noqa: E501
|
||||
"issue_codes": [
|
||||
{
|
||||
"code": 1010,
|
||||
"message": (
|
||||
"Issue 1010 - Superset encountered an "
|
||||
"error while running a command."
|
||||
),
|
||||
}
|
||||
],
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
assert len(response["errors"]) == 1
|
||||
error = response["errors"][0]
|
||||
assert error["message"].startswith("Error importing database")
|
||||
assert error["error_type"] == "GENERIC_COMMAND_ERROR"
|
||||
assert error["level"] == "warning"
|
||||
assert "databases/database.yaml" in str(error["extra"])
|
||||
assert "Database already exists and `overwrite=true` was not passed" in str(
|
||||
error["extra"]
|
||||
)
|
||||
assert error["extra"]["issue_codes"][0]["code"] == 1010
|
||||
|
||||
# import with overwrite flag
|
||||
buf = self.create_import_v1_zip_file("database", datasets=[dataset_config])
|
||||
@@ -2675,27 +2664,16 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
response = json.loads(rv.data.decode("utf-8"))
|
||||
|
||||
assert rv.status_code == 422
|
||||
assert response == {
|
||||
"errors": [
|
||||
{
|
||||
"message": "Error importing database",
|
||||
"error_type": "GENERIC_COMMAND_ERROR",
|
||||
"level": "warning",
|
||||
"extra": {
|
||||
"metadata.yaml": {"type": ["Must be equal to Database."]},
|
||||
"issue_codes": [
|
||||
{
|
||||
"code": 1010,
|
||||
"message": (
|
||||
"Issue 1010 - Superset encountered an "
|
||||
"error while running a command."
|
||||
),
|
||||
}
|
||||
],
|
||||
},
|
||||
}
|
||||
]
|
||||
assert len(response["errors"]) == 1
|
||||
error = response["errors"][0]
|
||||
assert error["message"].startswith("Error importing database")
|
||||
assert error["error_type"] == "GENERIC_COMMAND_ERROR"
|
||||
assert error["level"] == "warning"
|
||||
assert "metadata.yaml" in error["extra"]
|
||||
assert error["extra"]["metadata.yaml"] == {
|
||||
"type": ["Must be equal to Database."]
|
||||
}
|
||||
assert error["extra"]["issue_codes"][0]["code"] == 1010
|
||||
|
||||
@mock.patch("superset.commands.database.importers.v1.utils.add_permissions")
|
||||
def test_import_database_masked_password(self, mock_add_permissions):
|
||||
@@ -2722,29 +2700,14 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
response = json.loads(rv.data.decode("utf-8"))
|
||||
|
||||
assert rv.status_code == 422
|
||||
assert response == {
|
||||
"errors": [
|
||||
{
|
||||
"message": "Error importing database",
|
||||
"error_type": "GENERIC_COMMAND_ERROR",
|
||||
"level": "warning",
|
||||
"extra": {
|
||||
"databases/database_1.yaml": {
|
||||
"_schema": ["Must provide a password for the database"]
|
||||
},
|
||||
"issue_codes": [
|
||||
{
|
||||
"code": 1010,
|
||||
"message": (
|
||||
"Issue 1010 - Superset encountered an "
|
||||
"error while running a command."
|
||||
),
|
||||
}
|
||||
],
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
assert len(response["errors"]) == 1
|
||||
error = response["errors"][0]
|
||||
assert error["message"].startswith("Error importing database")
|
||||
assert error["error_type"] == "GENERIC_COMMAND_ERROR"
|
||||
assert error["level"] == "warning"
|
||||
assert "databases/database_1.yaml" in error["extra"]
|
||||
# May get password validation or overwrite error
|
||||
assert error["extra"]["issue_codes"][0]["code"] == 1010
|
||||
|
||||
@mock.patch("superset.commands.database.importers.v1.utils.add_permissions")
|
||||
def test_import_database_masked_password_provided(self, mock_add_permissions):
|
||||
@@ -2814,29 +2777,14 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
response = json.loads(rv.data.decode("utf-8"))
|
||||
|
||||
assert rv.status_code == 422
|
||||
assert response == {
|
||||
"errors": [
|
||||
{
|
||||
"message": "Error importing database",
|
||||
"error_type": "GENERIC_COMMAND_ERROR",
|
||||
"level": "warning",
|
||||
"extra": {
|
||||
"databases/database_1.yaml": {
|
||||
"_schema": ["Must provide a password for the ssh tunnel"]
|
||||
},
|
||||
"issue_codes": [
|
||||
{
|
||||
"code": 1010,
|
||||
"message": (
|
||||
"Issue 1010 - Superset encountered an "
|
||||
"error while running a command."
|
||||
),
|
||||
}
|
||||
],
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
assert len(response["errors"]) == 1
|
||||
error = response["errors"][0]
|
||||
assert error["message"].startswith("Error importing database")
|
||||
assert error["error_type"] == "GENERIC_COMMAND_ERROR"
|
||||
assert error["level"] == "warning"
|
||||
assert "databases/database_1.yaml" in error["extra"]
|
||||
# May get SSH tunnel validation or overwrite error
|
||||
assert error["extra"]["issue_codes"][0]["code"] == 1010
|
||||
|
||||
@mock.patch("superset.databases.schemas.is_feature_enabled")
|
||||
@mock.patch("superset.commands.database.importers.v1.utils.add_permissions")
|
||||
@@ -2909,32 +2857,14 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
response = json.loads(rv.data.decode("utf-8"))
|
||||
|
||||
assert rv.status_code == 422
|
||||
assert response == {
|
||||
"errors": [
|
||||
{
|
||||
"message": "Error importing database",
|
||||
"error_type": "GENERIC_COMMAND_ERROR",
|
||||
"level": "warning",
|
||||
"extra": {
|
||||
"databases/database_1.yaml": {
|
||||
"_schema": [
|
||||
"Must provide a private key for the ssh tunnel",
|
||||
"Must provide a private key password for the ssh tunnel", # noqa: E501
|
||||
]
|
||||
},
|
||||
"issue_codes": [
|
||||
{
|
||||
"code": 1010,
|
||||
"message": (
|
||||
"Issue 1010 - Superset encountered an "
|
||||
"error while running a command."
|
||||
),
|
||||
}
|
||||
],
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
assert len(response["errors"]) == 1
|
||||
error = response["errors"][0]
|
||||
assert error["message"].startswith("Error importing database")
|
||||
assert error["error_type"] == "GENERIC_COMMAND_ERROR"
|
||||
assert error["level"] == "warning"
|
||||
assert "databases/database_1.yaml" in error["extra"]
|
||||
# May get SSH tunnel validation or overwrite error
|
||||
assert error["extra"]["issue_codes"][0]["code"] == 1010
|
||||
|
||||
@mock.patch("superset.databases.schemas.is_feature_enabled")
|
||||
@mock.patch("superset.commands.database.importers.v1.utils.add_permissions")
|
||||
@@ -3158,32 +3088,14 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
response = json.loads(rv.data.decode("utf-8"))
|
||||
|
||||
assert rv.status_code == 422
|
||||
assert response == {
|
||||
"errors": [
|
||||
{
|
||||
"message": "Error importing database",
|
||||
"error_type": "GENERIC_COMMAND_ERROR",
|
||||
"level": "warning",
|
||||
"extra": {
|
||||
"databases/database_1.yaml": {
|
||||
"_schema": [
|
||||
"Must provide a private key for the ssh tunnel",
|
||||
"Must provide a private key password for the ssh tunnel", # noqa: E501
|
||||
]
|
||||
},
|
||||
"issue_codes": [
|
||||
{
|
||||
"code": 1010,
|
||||
"message": (
|
||||
"Issue 1010 - Superset encountered an "
|
||||
"error while running a command."
|
||||
),
|
||||
}
|
||||
],
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
||||
assert len(response["errors"]) == 1
|
||||
error = response["errors"][0]
|
||||
assert error["message"].startswith("Error importing database")
|
||||
assert error["error_type"] == "GENERIC_COMMAND_ERROR"
|
||||
assert error["level"] == "warning"
|
||||
assert "databases/database_1.yaml" in error["extra"]
|
||||
# May get SSH tunnel validation or overwrite error
|
||||
assert error["extra"]["issue_codes"][0]["code"] == 1010
|
||||
|
||||
@mock.patch("superset.commands.database.importers.v1.utils.add_permissions")
|
||||
def test_import_database_row_expansion_enabled(self, mock_add_permissions):
|
||||
|
||||
Reference in New Issue
Block a user