def test_name():
    expected = {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'my_database',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
    result = _from_mysql_call(['-Dmy_database'])
    assert expected == result

    result = _from_mysql_call(['-D', 'my_database'])
    assert expected == result

    result = _from_mysql_call(['my_database'])
    assert expected == result
def test_password():
    expected = {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '******',
        'HOST': '',
        'PORT': '',
    }
    result = _from_mysql_call(['-pmy_sweet_secret'])
    assert expected == result

    result = _from_mysql_call(['-p', 'my_sweet_secret'])
    assert expected == result

    result = _from_mysql_call(['--password=my_sweet_secret'])
    assert expected == result

    result = _from_mysql_call(['--password', 'my_sweet_secret'])
    assert expected == result
def test_user():
    expected = {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '******',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
    result = _from_mysql_call(['-usuper_user'])
    assert expected == result

    result = _from_mysql_call(['-u', 'super_user'])
    assert expected == result

    result = _from_mysql_call(['--user=super_user'])
    assert expected == result

    result = _from_mysql_call(['--user', 'super_user'])
    assert expected == result
def test_host():
    expected = {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': 'my.db.server',
        'PORT': '',
    }
    result = _from_mysql_call(['-hmy.db.server'])
    assert expected == result

    result = _from_mysql_call(['-h', 'my.db.server'])
    assert expected == result

    result = _from_mysql_call(['--host=my.db.server'])
    assert expected == result

    result = _from_mysql_call(['--host', 'my.db.server'])
    assert expected == result
def test_ignorable_arguments():
    expected = {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
    result = _from_mysql_call(['-A'])
    assert expected == result
def test_empty_call():
    expected = {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
    result = _from_mysql_call([])
    assert expected == result
def test_port():
    expected = {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '1057',
    }
    result = _from_mysql_call(['-P1057'])
    assert expected == result

    result = _from_mysql_call(['-P', '1057'])
    assert expected == result

    result = _from_mysql_call(['--port=1057'])
    assert expected == result

    result = _from_mysql_call(['--port', '1057'])
    assert expected == result
def test_options():
    expected = {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
        'OPTIONS': {
                'autocommit': True,
        },
    }
    result = _from_mysql_call([], autocommit=True)
    assert expected == result