mirror of
https://github.com/apache/superset.git
synced 2026-04-23 01:55:09 +00:00
feat: database delete warning (#10800)
This commit is contained in:
@@ -651,3 +651,35 @@ class TestDatabaseApi(SupersetTestCase):
|
||||
f"api/v1/database/{database.id}/schemas/?q={prison.dumps({'force': 'nop'})}"
|
||||
)
|
||||
self.assertEqual(rv.status_code, 400)
|
||||
|
||||
def test_get_database_related_objects(self):
|
||||
"""
|
||||
Database API: Test get chart and dashboard count related to a database
|
||||
:return:
|
||||
"""
|
||||
self.login(username="admin")
|
||||
database = get_example_database()
|
||||
uri = f"api/v1/database/{database.id}/related_objects/"
|
||||
rv = self.get_assert_metric(uri, "related_objects")
|
||||
self.assertEqual(rv.status_code, 200)
|
||||
response = json.loads(rv.data.decode("utf-8"))
|
||||
self.assertEqual(response["charts"]["count"], 33)
|
||||
self.assertEqual(response["dashboards"]["count"], 6)
|
||||
|
||||
def test_get_database_related_objects_not_found(self):
|
||||
"""
|
||||
Database API: Test related objects not found
|
||||
"""
|
||||
max_id = db.session.query(func.max(Database.id)).scalar()
|
||||
# id does not exist and we get 404
|
||||
invalid_id = max_id + 1
|
||||
uri = f"api/v1/database/{invalid_id}/related_objects/"
|
||||
self.login(username="admin")
|
||||
rv = self.client.get(uri)
|
||||
self.assertEqual(rv.status_code, 404)
|
||||
self.logout()
|
||||
self.login(username="gamma")
|
||||
database = get_example_database()
|
||||
uri = f"api/v1/database/{database.id}/related_objects/"
|
||||
rv = self.client.get(uri)
|
||||
self.assertEqual(rv.status_code, 404)
|
||||
|
||||
Reference in New Issue
Block a user