<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
  <testsuite name="/workspace/scratch/ecef934b5057/multiscan/phpunit.xml" tests="91" assertions="213" errors="0" failures="0" skipped="0" time="4.409360">
    <testsuite name="Unit" tests="32" assertions="44" errors="0" failures="0" skipped="0" time="0.011564">
      <testsuite name="Tests\Unit\BrowserInstallerTest" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" tests="11" assertions="22" errors="0" failures="0" skipped="0" time="0.010150">
        <testcase name="test_only_private_key_unlocks_first_install" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="38" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="3" time="0.004543"/>
        <testcase name="test_existing_env_always_disables_reinstallation_even_when_empty" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="45" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="2" time="0.000398"/>
        <testcase name="test_lock_disables_installer_when_env_removed" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="52" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="1" time="0.000283"/>
        <testcase name="test_missing_setup_key_disables_installation" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="58" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="1" time="0.000235"/>
        <testcase name="test_env_encoding_preserves_special_secret_characters_without_interpolation" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="64" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="7" time="0.002417"/>
        <testcase name="test_env_injection_is_rejected" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="71" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="1" time="0.000392"/>
        <testcase name="test_database_dsn_injection_rejected" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="77" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="1" time="0.000473"/>
        <testcase name="test_https_domain_required" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="85" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="1" time="0.000214"/>
        <testcase name="test_password_confirmation_required" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="93" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="1" time="0.000552"/>
        <testcase name="test_valid_configuration_and_optional_mail" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="101" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="2" time="0.000232"/>
        <testcase name="test_retry_fingerprint_excludes_secrets_but_binds_database" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/BrowserInstallerTest.php" line="108" class="Tests\Unit\BrowserInstallerTest" classname="Tests.Unit.BrowserInstallerTest" assertions="2" time="0.000411"/>
      </testsuite>
      <testsuite name="Tests\Unit\SafeUrlTest" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" tests="21" assertions="22" errors="0" failures="0" skipped="0" time="0.001414">
        <testsuite name="Tests\Unit\SafeUrlTest::test_non_public_ip_ranges_are_blocked" tests="20" assertions="20" errors="0" failures="0" skipped="0" time="0.001369">
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #0" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000406"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #1" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000064"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #2" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000049"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #3" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000048"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #4" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000045"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #5" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000042"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #6" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000137"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #7" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000082"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #8" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000044"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #9" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000041"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #10" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000039"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #11" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000039"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #12" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000038"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #13" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000059"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #14" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000042"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #15" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000039"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #16" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000042"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #17" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000039"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #18" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000037"/>
          <testcase name="test_non_public_ip_ranges_are_blocked with data set #19" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="17" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="1" time="0.000038"/>
        </testsuite>
        <testcase name="test_public_ips_accepted" file="/workspace/scratch/ecef934b5057/multiscan/tests/Unit/SafeUrlTest.php" line="22" class="Tests\Unit\SafeUrlTest" classname="Tests.Unit.SafeUrlTest" assertions="2" time="0.000045"/>
      </testsuite>
    </testsuite>
    <testsuite name="Feature" tests="59" assertions="169" errors="0" failures="0" skipped="0" time="4.397796">
      <testsuite name="Tests\Feature\AdminTest" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/AdminTest.php" tests="4" assertions="22" errors="0" failures="0" skipped="0" time="1.718036">
        <testcase name="test_engine_key_edit_encrypts_and_blank_keeps_existing" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/AdminTest.php" line="36" class="Tests\Feature\AdminTest" classname="Tests.Feature.AdminTest" assertions="9" time="1.176159"/>
        <testcase name="test_smtp_password_never_reappears_in_form" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/AdminTest.php" line="46" class="Tests\Feature\AdminTest" classname="Tests.Feature.AdminTest" assertions="5" time="0.291513"/>
        <testcase name="test_protected_builtin_plan_stays_available" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/AdminTest.php" line="54" class="Tests\Feature\AdminTest" classname="Tests.Feature.AdminTest" assertions="5" time="0.212531"/>
        <testcase name="test_local_scanner_failure_is_visible_not_undetected" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/AdminTest.php" line="62" class="Tests\Feature\AdminTest" classname="Tests.Feature.AdminTest" assertions="3" time="0.037833"/>
      </testsuite>
      <testsuite name="Tests\Feature\BillingTest" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" tests="9" assertions="22" errors="0" failures="0" skipped="0" time="0.347838">
        <testcase name="test_signed_event_grants_only_canonical_active_known_price" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="70" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="3" time="0.052470"/>
        <testcase name="test_replayed_event_is_idempotent" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="78" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="4" time="0.037752"/>
        <testcase name="test_out_of_order_active_event_cannot_restore_canceled_subscription" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="87" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="2" time="0.044138"/>
        <testcase name="test_unknown_price_cannot_grant_paid_access" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="95" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="2" time="0.034686"/>
        <testcase name="test_customer_mismatch_does_not_modify_another_account" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="103" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="2" time="0.031119"/>
        <testcase name="test_checkout_completed_event_alone_does_not_bypass_payment_status" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="111" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="2" time="0.034497"/>
        <testcase name="test_deleted_subscription_event_revokes_access" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="119" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="3" time="0.038644"/>
        <testcase name="test_free_plan_cannot_be_purchased_with_arbitrary_price_input" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="128" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="2" time="0.032585"/>
        <testcase name="test_checkout_return_url_does_not_grant_access" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/BillingTest.php" line="134" class="Tests\Feature\BillingTest" classname="Tests.Feature.BillingTest" assertions="2" time="0.041947"/>
      </testsuite>
      <testsuite name="Tests\Feature\MultiScanTest" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" tests="30" assertions="109" errors="0" failures="0" skipped="0" time="2.096127">
        <testcase name="test_public_pages_render_and_do_not_claim_safety" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="67" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="8" time="0.047732"/>
        <testcase name="test_real_upload_is_stored_privately_and_jobs_are_enqueued" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="74" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="6" time="0.050997"/>
        <testcase name="test_missing_engines_returns_validation_error_not_fake_results" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="85" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.034397"/>
        <testcase name="test_guest_quota_enforced_across_fresh_sessions" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="92" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="8" time="0.044600"/>
        <testcase name="test_guest_cannot_view_another_guest_report" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="102" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.034462"/>
        <testcase name="test_user_cannot_access_another_users_results_or_report" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="110" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="3" time="0.035519"/>
        <testcase name="test_unverified_account_cannot_submit_or_use_dashboard" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="120" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="3" time="0.031212"/>
        <testcase name="test_hash_validation_and_url_private_address_rejection" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="127" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.035063"/>
        <testcase name="test_remote_file_engines_require_consent_and_license" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="133" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="3" time="0.050391"/>
        <testcase name="test_upload_limit_blocks_oversized_files" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="143" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.032310"/>
        <testcase name="test_admin_panel_requires_verified_admin" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="149" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="9" time="0.496234"/>
        <testcase name="test_admin_engine_form_never_contains_saved_api_key" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="160" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.079608"/>
        <testcase name="test_secrets_are_encrypted_and_hidden_in_serialization" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="169" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="3" time="0.027934"/>
        <testcase name="test_virustotal_contract_preserves_individual_engine_verdicts" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="179" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="5" time="0.050702"/>
        <testcase name="test_missing_hash_is_not_reported_as_clean" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="191" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="1" time="0.041707"/>
        <testcase name="test_virustotal_pending_analysis_remains_pending" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="199" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.036748"/>
        <testcase name="test_metadefender_contract_maps_scan_details" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="209" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.042331"/>
        <testcase name="test_malwarebazaar_hash_lookup_only" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="218" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.033927"/>
        <testcase name="test_worker_completes_and_saves_real_provider_response_fields" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="227" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="4" time="0.044956"/>
        <testcase name="test_provider_failure_is_failed_and_does_not_create_clean_result" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="238" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="4" time="0.041817"/>
        <testcase name="test_provider_quota_is_atomic_and_counts_poll_requests" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="249" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.038660"/>
        <testcase name="test_csv_export_neutralizes_formula_injection" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="263" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="3" time="0.035992"/>
        <testcase name="test_expired_report_is_inaccessible_and_cleanup_removes_file" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="273" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="4" time="0.039372"/>
        <testcase name="test_registration_sends_verification_and_never_accepts_admin_flag" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="284" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="5" time="0.037293"/>
        <testcase name="test_email_verification_uses_signed_links" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="294" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="4" time="0.038886"/>
        <testcase name="test_login_password_reset_and_account_settings" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="303" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="9" time="0.451493"/>
        <testcase name="test_suspended_account_loses_access" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="317" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.039642"/>
        <testcase name="test_webhook_rejects_forged_and_stale_signatures" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="325" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.030743"/>
        <testcase name="test_expired_membership_sync_fails_closed_to_free_plan" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="335" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="2" time="0.047824"/>
        <testcase name="test_data_endpoint_has_no_secret_storage_paths" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/MultiScanTest.php" line="346" class="Tests\Feature\MultiScanTest" classname="Tests.Feature.MultiScanTest" assertions="3" time="0.043575"/>
      </testsuite>
      <testsuite name="Tests\Feature\UrlSecurityTest" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" tests="16" assertions="16" errors="0" failures="0" skipped="0" time="0.235794">
        <testsuite name="Tests\Feature\UrlSecurityTest::test_unsafe_url_forms_rejected" tests="14" assertions="14" errors="0" failures="0" skipped="0" time="0.210901">
          <testcase name="test_unsafe_url_forms_rejected with data set #0" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.013259"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #1" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.011905"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #2" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.012921"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #3" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.014374"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #4" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.017320"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #5" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.013923"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #6" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.011202"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #7" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.012497"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #8" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.012268"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #9" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.013126"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #10" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.014340"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #11" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.012352"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #12" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.040353"/>
          <testcase name="test_unsafe_url_forms_rejected with data set #13" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="18" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.011061"/>
        </testsuite>
        <testcase name="test_mixed_public_private_dns_is_blocked" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="33" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.012279"/>
        <testcase name="test_valid_public_url_is_passed_to_remote_service_without_local_fetch" file="/workspace/scratch/ecef934b5057/multiscan/tests/Feature/UrlSecurityTest.php" line="46" class="Tests\Feature\UrlSecurityTest" classname="Tests.Feature.UrlSecurityTest" assertions="1" time="0.012614"/>
      </testsuite>
    </testsuite>
  </testsuite>
</testsuites>
