code: def test_validation_no_database(self) -> None:
      params = {"database_id": 1, "sql": "SELECT 1"}
      schema = EstimateQueryCostSchema()
      data: EstimateQueryCostSchema = schema.dump(params)
      command = estimate.QueryEstimationCommand(data)
  
      with mock.patch(
          "superset.commands.sql_lab.estimate.db"
      ) as mock_superset_db:
          mock_superset_db.session.query().get.return_value = None
          with pytest.raises(SupersetErrorException) as ex_info:
              command.validate()
          assert (
              ex_info.value.error.error_type
              == SupersetErrorType.RESULTS_BACKEND_ERROR
          )
  
imports: from unittest import mock
  from unittest.mock import Mock, patch
  import pandas
  import pytest
  from flask_babel import gettext
  from superset import app, db, sql_lab
  from superset.commands.sql_lab import estimate, export, results
  from superset.common.db_query_status import QueryStatus
  from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
  from superset.exceptions import SerializationError, SupersetErrorException, SupersetSecurityException, SupersetTimeoutException
  from superset.models.core import Database
  from superset.models.sql_lab import Query
  from superset.sqllab.limiting_factor import LimitingFactor
  from superset.sqllab.schemas import EstimateQueryCostSchema
  from superset.utils import core
  from superset.utils.database import get_example_database
  from tests.integration_tests.base_tests import SupersetTestCase
label_desc: Use image node_id 1 for calling the TestQueryEstimationCommand obj's underlying member method code with example usage: obj.test_validation_no_database() without return types