mirror of
https://github.com/apache/superset.git
synced 2026-08-12 11:11:01 +00:00
feat: introduce Subject model and entity editors/viewers (#38831)
This commit is contained in:
@@ -63,19 +63,15 @@ def test_duplicate_dataset_forbidden_when_no_access() -> None:
|
||||
"superset.commands.dataset.duplicate.security_manager.raise_for_access",
|
||||
side_effect=_security_exception(),
|
||||
):
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
return_value=[],
|
||||
):
|
||||
command = DuplicateDatasetCommand(
|
||||
{
|
||||
"base_model_id": 1,
|
||||
"table_name": "duplicate_name",
|
||||
"is_managed_externally": False,
|
||||
}
|
||||
)
|
||||
with pytest.raises(DatasetAccessDeniedError):
|
||||
command.validate()
|
||||
command = DuplicateDatasetCommand(
|
||||
{
|
||||
"base_model_id": 1,
|
||||
"table_name": "duplicate_name",
|
||||
"is_managed_externally": False,
|
||||
}
|
||||
)
|
||||
with pytest.raises(DatasetAccessDeniedError):
|
||||
command.validate()
|
||||
|
||||
|
||||
def test_duplicate_dataset_access_check_passes_through() -> None:
|
||||
@@ -97,7 +93,7 @@ def test_duplicate_dataset_access_check_passes_through() -> None:
|
||||
return_value=True,
|
||||
):
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
):
|
||||
command = DuplicateDatasetCommand(
|
||||
@@ -156,8 +152,7 @@ def test_duplicate_dataset_blocked_by_soft_deleted_twin(session: Session) -> Non
|
||||
),
|
||||
patch("superset.commands.dataset.duplicate.security_manager.raise_for_access"),
|
||||
patch(
|
||||
"superset.commands.dataset.duplicate."
|
||||
"DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
),
|
||||
):
|
||||
@@ -212,7 +207,7 @@ def test_duplicate_dataset_success() -> None:
|
||||
return_value=True,
|
||||
):
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
):
|
||||
with patch("superset.commands.dataset.duplicate.db.session.add"):
|
||||
@@ -220,7 +215,7 @@ def test_duplicate_dataset_success() -> None:
|
||||
{
|
||||
"base_model_id": 1,
|
||||
"table_name": "duplicated_dataset",
|
||||
"owners": [],
|
||||
"editors": [],
|
||||
}
|
||||
)
|
||||
|
||||
@@ -242,14 +237,14 @@ def test_duplicate_dataset_not_found() -> None:
|
||||
return_value=None,
|
||||
):
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
):
|
||||
command = DuplicateDatasetCommand(
|
||||
{
|
||||
"base_model_id": 999,
|
||||
"table_name": "duplicated_dataset",
|
||||
"owners": [],
|
||||
"editors": [],
|
||||
}
|
||||
)
|
||||
|
||||
@@ -282,14 +277,14 @@ def test_duplicate_dataset_not_virtual() -> None:
|
||||
return_value=True,
|
||||
):
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
):
|
||||
command = DuplicateDatasetCommand(
|
||||
{
|
||||
"base_model_id": 1,
|
||||
"table_name": "duplicated_dataset",
|
||||
"owners": [],
|
||||
"editors": [],
|
||||
}
|
||||
)
|
||||
|
||||
@@ -324,14 +319,14 @@ def test_duplicate_dataset_name_exists_same_database_schema() -> None:
|
||||
return_value=False, # Name already exists
|
||||
):
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
):
|
||||
command = DuplicateDatasetCommand(
|
||||
{
|
||||
"base_model_id": 1,
|
||||
"table_name": "existing_dataset",
|
||||
"owners": [],
|
||||
"editors": [],
|
||||
}
|
||||
)
|
||||
|
||||
@@ -383,7 +378,7 @@ def test_duplicate_dataset_catalog_preserved() -> None:
|
||||
return_value=True,
|
||||
):
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
):
|
||||
with patch("superset.commands.dataset.duplicate.db.session.add"):
|
||||
@@ -391,7 +386,7 @@ def test_duplicate_dataset_catalog_preserved() -> None:
|
||||
{
|
||||
"base_model_id": 1,
|
||||
"table_name": "duplicated_dataset",
|
||||
"owners": [],
|
||||
"editors": [],
|
||||
}
|
||||
)
|
||||
|
||||
@@ -429,14 +424,14 @@ def test_duplicate_dataset_catalog_passed_to_uniqueness_check() -> None:
|
||||
return_value=True,
|
||||
) as mock_validate:
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
):
|
||||
command = DuplicateDatasetCommand(
|
||||
{
|
||||
"base_model_id": 1,
|
||||
"table_name": "duplicated_dataset",
|
||||
"owners": [],
|
||||
"editors": [],
|
||||
}
|
||||
)
|
||||
|
||||
@@ -506,7 +501,7 @@ def test_duplicate_dataset_with_columns_and_metrics() -> None:
|
||||
return_value=True,
|
||||
):
|
||||
with patch(
|
||||
"superset.commands.dataset.duplicate.DuplicateDatasetCommand.populate_owners",
|
||||
"superset.commands.utils.populate_subject_list",
|
||||
return_value=[],
|
||||
):
|
||||
with patch("superset.commands.dataset.duplicate.db.session.add"):
|
||||
@@ -514,7 +509,7 @@ def test_duplicate_dataset_with_columns_and_metrics() -> None:
|
||||
{
|
||||
"base_model_id": 1,
|
||||
"table_name": "duplicated_dataset",
|
||||
"owners": [],
|
||||
"editors": [],
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user