def build(self) -> DirectIngestPreProcessedIngestView: """Builds an instance of a DirectIngestPreProcessedIngestView with the provided args.""" return DirectIngestPreProcessedIngestView( ingest_view_name=self.ingest_view_name, view_query_template=self.view_query_template, region_raw_table_config=get_region_raw_file_config(self.region), order_by_cols=self.order_by_cols)
def run_test( self, external_ids: List[PersonExternalIds], movrecs: List[Movrec], senrecs: List[Senrec], expected_output: List[List[Any]], ) -> None: """Runs a test that executes the person_external_ids query given the provided input rows. """ run_time = datetime.datetime.now() file_upload_time = run_time - datetime.timedelta(days=1) # Arrange raw_file_configs = get_region_raw_file_config(STATE_CODE).raw_file_configs create_id_tables_from_external_ids( self, external_ids, raw_file_configs, file_upload_time, ) self.create_mock_raw_file( STATE_CODE, raw_file_configs["dbo_Movrec"], [attr.astuple(movrec) for movrec in movrecs], update_datetime=file_upload_time, ) self.create_mock_raw_file( STATE_CODE, raw_file_configs["dbo_Senrec"], [attr.astuple(senrec) for senrec in senrecs], update_datetime=file_upload_time, ) # Act results = self.query_raw_data_view_for_builder( self.view_builder, dimensions=self.expected_result_columns, query_run_dt=run_time, ) # Assert expected = pd.DataFrame(expected_output, columns=self.expected_result_columns) expected = expected.set_index(self.expected_result_columns) print(expected) print(results) assert_frame_equal(expected, results)
def build( self, *, dataset_overrides: Optional[Dict[str, str]] = None ) -> DirectIngestPreProcessedIngestView: """Builds an instance of a DirectIngestPreProcessedIngestView with the provided args.""" return DirectIngestPreProcessedIngestView( ingest_view_name=self.ingest_view_name, view_query_template=self.view_query_template, region_raw_table_config=get_region_raw_file_config(self.region), order_by_cols=self.order_by_cols, is_detect_row_deletion_view=self.is_detect_row_deletion_view, primary_key_tables_for_entity_deletion=self. primary_key_tables_for_entity_deletion, materialize_raw_data_table_views=self. materialize_raw_data_table_views)
def run_test( self, dbo_parole_count_ids: List[ParoleCountIds], dbo_tbl_search_inmate_info_ids: List[TblSearchInmateInfoIds], recidiviz_reference_linking_ids: List[RecidivizReferenceLinkingIds], expected_output: List[List[Any]], ) -> None: """Runs a test that executes the person_external_ids query given the provided input rows. """ run_time = datetime.datetime.now() file_upload_time = run_time - datetime.timedelta(days=1) # Arrange raw_file_configs = get_region_raw_file_config( STATE_CODE).raw_file_configs create_id_tables( self, dbo_parole_count_ids, dbo_tbl_search_inmate_info_ids, recidiviz_reference_linking_ids, raw_file_configs, file_upload_time, ) # Act results = self.query_raw_data_view_for_builder( self.view_builder, dimensions=self.expected_result_columns, query_run_dt=run_time, ) # Assert expected = pd.DataFrame(expected_output, columns=self.expected_result_columns) expected = expected.set_index(self.expected_result_columns) print(expected) print(results) assert_frame_equal(expected, results)
def test_template_periods_incarceration_only_movement(self) -> None: # Arrange raw_file_configs = get_region_raw_file_config("us_id").raw_file_configs self.create_mock_raw_file("us_id", raw_file_configs["casemgr"], []) self.create_mock_raw_file("us_id", raw_file_configs["employee"], []) self.create_mock_raw_file("us_id", raw_file_configs["facility"], []) self.create_mock_raw_file("us_id", raw_file_configs["location"], []) self.create_mock_raw_file("us_id", raw_file_configs["lvgunit"], []) self.create_mock_raw_file("us_id", raw_file_configs["mittimus"], []) self.create_mock_raw_file( "us_id", raw_file_configs["movement"], [ ( "10000001", "11111", "1", "2020-01-01 8:00:00", "I", "1", "", "001", "00", "1", "1", "A", None, None, ) ], ) self.create_mock_raw_file("us_id", raw_file_configs["offstat"], []) self.create_mock_raw_file("us_id", raw_file_configs["ofndr_loc_hist"], []) self.create_mock_raw_file("us_id", raw_file_configs["ofndr_wrkld"], []) self.create_mock_raw_file("us_id", raw_file_configs["wrkld_cat"], []) # Act dimensions = ["docno", "incrno", "start_date", "end_date"] results = self.query_raw_data_view_for_builder( DirectIngestPreProcessedIngestViewBuilder( region="us_id", ingest_view_name="incarceration_periods", view_query_template=f""" WITH {get_all_periods_query_fragment(period_type=PeriodType.INCARCERATION)} SELECT * FROM periods_with_previous_and_next_info """, order_by_cols="docno, incrno, start_date, end_date", ), dimensions=dimensions, ) # Assert expected = pd.DataFrame( [ [ "11111", "1", date(2020, 1, 1), date(9999, 12, 31), None, None, None, "1", ] + [None] * 6 + ["10000001"] + [None] * 9 ], columns=dimensions + [ "prev_fac_typ", "prev_fac_cd", "prev_loc_ldesc", "fac_cd", "fac_typ", "fac_ldesc", "loc_cd", "loc_ldesc", "lu_cd", "lu_ldesc", "move_srl", "statuses", "wrkld_cat_title", "empl_cd", "empl_sdesc", "empl_ldesc", "empl_title", "next_fac_typ", "next_fac_cd", "next_loc_ldesc", ], ) expected = expected.set_index(dimensions) assert_frame_equal(expected, results)