docstr: Saved Query API: Test delete bulk
code: def test_delete_bulk_saved_queries(self):
      """
      Saved Query API: Test delete bulk
      """
      admin = self.get_user("admin")
      saved_queries = (
          db.session.query(SavedQuery)
          .filter(SavedQuery.created_by == admin)
          .all()
      )
      saved_query_ids = [
          saved_query.id for saved_query in saved_queries
      ]
  
      self.login(username="admin")
      uri = f"api/v1/saved_query/?q={prison.dumps(saved_query_ids)}"
      rv = self.delete_assert_metric(uri, "bulk_delete")
      assert rv.status_code == 200
      response = json.loads(rv.data.decode("utf-8"))
      expected_response = {
          "message": f"Deleted {len(saved_query_ids)} saved queries"
      }
      assert response == expected_response
      saved_queries = (
          db.session.query(SavedQuery)
          .filter(SavedQuery.created_by == admin)
          .all()
      )
      assert saved_queries == []
  
imports: import json
  from datetime import datetime
  from io import BytesIO
  from typing import Optional
  from zipfile import is_zipfile, ZipFile
  import yaml
  import pytest
  import prison
  from freezegun import freeze_time
  from sqlalchemy.sql import func, and_
  import tests.integration_tests.test_app
  from superset import db
  from superset.models.core import Database
  from superset.models.core import FavStar
  from superset.models.sql_lab import SavedQuery
  from superset.utils.database import get_example_database
  from tests.integration_tests.base_tests import SupersetTestCase
  from tests.integration_tests.fixtures.importexport import database_config, saved_queries_config, saved_queries_metadata_config
label_desc: Use image node_id 28 for calling the TestSavedQueryApi obj's underlying member method code with example usage: obj.test_delete_bulk_saved_queries() without return types