"""Run integration tests with a speckle server."""

from pydantic import SecretStr
from speckle_automate import (
    AutomationContext,
    AutomationRunData,
    AutomationStatus,
    run_function,
)
from speckle_automate.fixtures import *  # noqa: F403

from main import FunctionInputs, automate_function


def test_function_run(
    test_automation_run_data: AutomationRunData, test_automation_token: str
):
    """Run an integration test for the automate function."""
    automation_context = AutomationContext.initialize(
        test_automation_run_data, test_automation_token
    )
    automate_sdk = run_function(
        automation_context,
        automate_function,
        FunctionInputs(
            file_name="test_output.ifc",
            IFC_PROJECT_NAME = "Speckle Export",
            IFC_SITE_NAME = "Site",
            IFC_BUILDING_NAME = "Building"
        ),
    )

    assert automate_sdk.run_status == AutomationStatus.SUCCEEDED
