@@ -3490,6 +3490,30 @@ def setUp(self) -> None:
3490
3490
recap_document_id = self .rd_appellate .pk ,
3491
3491
)
3492
3492
3493
+ self .acms_court = CourtFactory (
3494
+ id = "ca9" , jurisdiction = Court .FEDERAL_APPELLATE
3495
+ )
3496
+ self .acms_docket = DocketFactory (
3497
+ source = Docket .RECAP ,
3498
+ court = self .acms_court ,
3499
+ pacer_case_id = "5d8e355d-b229-4b16-b00f-7552d2f79d4f" ,
3500
+ )
3501
+ self .rd_acms = RECAPDocumentFactory (
3502
+ docket_entry = DocketEntryWithParentsFactory (
3503
+ docket = self .acms_docket , entry_number = 9
3504
+ ),
3505
+ document_number = 9 ,
3506
+ pacer_doc_id = "4e108d6c-ad5b-f011-bec2-001dd80b194b" ,
3507
+ is_available = False ,
3508
+ document_type = RECAPDocument .PACER_DOCUMENT ,
3509
+ )
3510
+
3511
+ self .fq_acms = PacerFetchQueue .objects .create (
3512
+ user = User .objects .get (username = "recap" ),
3513
+ request_type = REQUEST_TYPE .ATTACHMENT_PAGE ,
3514
+ recap_document_id = self .rd_acms .pk ,
3515
+ )
3516
+
3493
3517
def test_fetch_attachment_page_no_pacer_doc_id (
3494
3518
self , mock_court_accessible
3495
3519
) -> None :
@@ -3596,6 +3620,60 @@ def test_fetch_att_page_from_appellate(
3596
3620
"Successfully completed fetch" , self .fq_appellate .message
3597
3621
)
3598
3622
3623
+ @mock .patch (
3624
+ "cl.recap.tasks.get_pacer_cookie_from_cache" ,
3625
+ )
3626
+ @mock .patch (
3627
+ "cl.corpus_importer.tasks.ACMSAttachmentPage" ,
3628
+ new = fakes .FakeAcmsAttachmentPage ,
3629
+ )
3630
+ @mock .patch (
3631
+ "cl.corpus_importer.tasks.AppellateAttachmentPage" ,
3632
+ )
3633
+ @mock .patch (
3634
+ "cl.corpus_importer.tasks.AttachmentPage" ,
3635
+ )
3636
+ @mock .patch (
3637
+ "cl.corpus_importer.tasks.is_appellate_court" , wraps = is_appellate_court
3638
+ )
3639
+ @mock .patch ("cl.recap.tasks.is_appellate_court" , wraps = is_appellate_court )
3640
+ def test_fetch_att_page_from_acms (
3641
+ self ,
3642
+ mock_court_check_task ,
3643
+ mock_court_check_parser ,
3644
+ mock_district_report_parser ,
3645
+ mock_appellate_report_parser ,
3646
+ mock_get_cookies ,
3647
+ mock_court_accessible ,
3648
+ ):
3649
+ # Trigger the fetch operation for an ACMS attachment page
3650
+ result = do_pacer_fetch (self .fq_appellate )
3651
+ result .get ()
3652
+
3653
+ self .fq_appellate .refresh_from_db ()
3654
+
3655
+ docket_entry = self .rd_appellate .docket_entry
3656
+ amcs_court_id = docket_entry .docket .court_id
3657
+ # Verify court validation calls with expected court ID
3658
+ mock_court_check_task .assert_called_with (amcs_court_id )
3659
+ mock_court_check_parser .assert_called_with (amcs_court_id )
3660
+
3661
+ # Ensure that only the ACMS parser was used
3662
+ mock_district_report_parser .assert_not_called ()
3663
+ mock_appellate_report_parser .assert_not_called ()
3664
+
3665
+ # Assert successful fetch status and expected message
3666
+ self .assertEqual (
3667
+ self .fq_appellate .status , PROCESSING_STATUS .SUCCESSFUL
3668
+ )
3669
+ self .assertIn (
3670
+ "Successfully completed fetch" , self .fq_appellate .message
3671
+ )
3672
+
3673
+ # Verify that 3 RECAPDocument objects were created for the docket entry
3674
+ docket_entry .refresh_from_db ()
3675
+ self .assertEqual (docket_entry .recap_documents .count (), 3 )
3676
+
3599
3677
3600
3678
class ProcessingQueueApiFilterTest (TestCase ):
3601
3679
def setUp (self ) -> None :
0 commit comments