import os
import pytest
from selenium import webdriver

@pytest.fixture
def restore_database():
    ''' Restore the database.
        It is useful for making sure that each end-to-end test
        starts with the same database.
        Benefit: we can reproduce the same test result.
    '''

    PASSWORD = ''  # root password
    DB_NAME = 'lrr' # database name used for LRR

    # commands used to import data to DB_NAME
    cmds = [
        f'mysql -u root -p{PASSWORD} -e "DROP DATABASE IF EXISTS {DB_NAME};"',        
        f'mysql -u root -p{PASSWORD} -e "CREATE DATABASE {DB_NAME};"',
        f'mysql -u root -p{PASSWORD} -e "GRANT ALL PRIVILEGES ON {DB_NAME}.* TO lrr@localhost WITH GRANT OPTION;"',
        f'mysql -u root -p{PASSWORD} {DB_NAME} < C:\\xampp\\htdocs\\LRR\\lrr_database.sql'] #make sure th link of the database is ok

    try:
        for command in cmds:
            os.system(command)
    except Exception as e:
        print(f"Error restoring database: {e}")

    return None
@pytest.fixture
def url():
    return 'http://localhost/LRR/' # URL of LRR


@pytest.fixture
def driver():
    return  webdriver.Chrome()


@pytest.fixture
def admin_username():
    return 'admin@qq.com'


@pytest.fixture
def admin_password():
    return '123'