# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
from typing import Any

import pytest

from superset.utils.core import get_example_database

from tests.test_app import app  # isort:skip


@pytest.fixture(autouse=True, scope="session")
def setup_sample_data() -> Any:
    with app.app_context():
        from superset.cli import load_test_users_run

        load_test_users_run()

        from superset import examples

        examples.load_css_templates()
        examples.load_energy(sample=True)
        examples.load_world_bank_health_n_pop(sample=True)
        examples.load_birth_names(sample=True)
        examples.load_unicode_test_data(sample=True)

    yield

    with app.app_context():
        engine = get_example_database().get_sqla_engine()
        engine.execute("DROP TABLE energy_usage")
        engine.execute("DROP TABLE wb_health_population")
        engine.execute("DROP TABLE birth_names")
        engine.execute("DROP TABLE unicode_test")
