from unittest.mock import MagicMock from prowler.providers.vercel.models import ( VercelIdentityInfo, VercelSession, VercelTeamInfo, ) # Vercel Identity TEAM_ID = "team_test123" TEAM_NAME = "Test Team" TEAM_SLUG = "test-team" USER_ID = "user_test456" USERNAME = "testuser" USER_EMAIL = "test@example.com" # Vercel Credentials API_TOKEN = "test-vercel-api-token" # Project Constants PROJECT_ID = "prj_test789" PROJECT_NAME = "my-test-project" # Domain Constants DOMAIN_NAME = "example.com" # Deployment Constants DEPLOYMENT_ID = "dpl_test012" def set_mocked_vercel_provider( api_token: str = API_TOKEN, team_id: str = TEAM_ID, identity: VercelIdentityInfo = None, audit_config: dict = None, billing_plan: str = None, team_billing_plan: str = None, ): """Create a mocked VercelProvider for testing.""" provider = MagicMock() provider.type = "vercel" provider.session = VercelSession( token=api_token, team_id=team_id, http_session=MagicMock(), ) resolved_team_billing_plan = ( team_billing_plan if team_billing_plan is not None else billing_plan ) team_info = VercelTeamInfo( id=TEAM_ID, name=TEAM_NAME, slug=TEAM_SLUG, billing_plan=resolved_team_billing_plan, ) provider.identity = identity or VercelIdentityInfo( user_id=USER_ID, username=USERNAME, email=USER_EMAIL, billing_plan=billing_plan, team=team_info, teams=[team_info], ) provider.audit_config = audit_config or {"max_retries": 3} provider.fixer_config = {} provider.filter_projects = None return provider