def test_start_or_stop_autonomous_database_stop_idempotent(
        db_client, get_existing_resource_patch):
    autonomous_database = get_autonomous_database()
    autonomous_database.lifecycle_state = "STOPPED"
    get_existing_resource_patch.return_value = autonomous_database
    module = get_module(dict(state="stop"))
    result = oci_autonomous_database.start_or_stop_autonomous_database(
        db_client, module)
    assert result["changed"] is False
def test_start_or_stop_autonomous_database_start_idempotent(
        db_client, get_existing_resource_patch):
    autonomous_database = get_autonomous_database()
    autonomous_database.lifecycle_state = 'AVAILABLE'
    get_existing_resource_patch.return_value = autonomous_database
    module = get_module(dict(state='start'))
    result = oci_autonomous_database.start_or_stop_autonomous_database(
        db_client, module)
    assert result['changed'] is False
def test_start_or_stop_autonomous_database_stop(
        db_client, get_existing_resource_patch,
        execute_function_and_wait_patch):
    autonomous_database = get_autonomous_database()
    autonomous_database.lifecycle_state = "AVAILABLE"
    get_existing_resource_patch.return_value = autonomous_database
    module = get_module(dict(state="stop"))
    execute_function_and_wait_patch.return_value = {
        "autonomous_database": to_dict(autonomous_database),
        "changed": True,
    }
    result = oci_autonomous_database.start_or_stop_autonomous_database(
        db_client, module)
    assert result["changed"] is True
def test_start_or_stop_autonomous_database_stop(
        db_client, get_existing_resource_patch,
        execute_function_and_wait_patch):
    autonomous_database = get_autonomous_database()
    autonomous_database.lifecycle_state = 'AVAILABLE'
    get_existing_resource_patch.return_value = autonomous_database
    module = get_module(dict(state='stop'))
    execute_function_and_wait_patch.return_value = {
        'autonomous_database': to_dict(autonomous_database),
        'changed': True
    }
    result = oci_autonomous_database.start_or_stop_autonomous_database(
        db_client, module)
    assert result['changed'] is True