Exemplo n.º 1
0
    def test_integration_create_drug_route_mappings_table(self):
        if bq_utils.table_exists(populate_route_ids.DRUG_ROUTES_TABLE_ID,
                                 dataset_id=self.dataset_id):
            bq_utils.delete_table(populate_route_ids.DRUG_ROUTES_TABLE_ID,
                                  dataset_id=self.dataset_id)

        if not bq_utils.table_exists(
                populate_route_ids.DOSE_FORM_ROUTES_TABLE_ID,
                dataset_id=self.dataset_id):
            populate_route_ids.create_dose_form_route_mappings_table(
                self.project_id, self.dataset_id)

        populate_route_ids.create_drug_route_mappings_table(
            self.project_id, self.dataset_id,
            populate_route_ids.DOSE_FORM_ROUTES_TABLE_ID,
            self.route_mapping_prefix)
        time.sleep(10)
        query = ("SELECT COUNT(*) AS n "
                 "FROM `{project_id}.{dataset_id}.{table_id}`").format(
                     project_id=self.project_id,
                     dataset_id=self.dataset_id,
                     table_id=populate_route_ids.DRUG_ROUTES_TABLE_ID)

        result = bq_utils.query(query)
        actual = bq_utils.response2rows(result)
        self.assertGreater(actual[0]["n"], 0)
Exemplo n.º 2
0
    def test_create_dose_form_route_mappings_table_with_dataset_id(
            self, mock_query, mock_create_table):
        # pre conditions
        route_mappings_csv = os.path.join(
            resources.resource_files_path,
            populate_route_ids.DOSE_FORM_ROUTES_FILE + ".csv")
        dose_form_route_mappings = resources.csv_to_list(route_mappings_csv)
        mapping_list = populate_route_ids.get_mapping_list(
            dose_form_route_mappings)
        query_params = dict(
            project_id=self.project_id,
            dataset_id=self.dataset_id,
            routes_table_id=populate_route_ids.DOSE_FORM_ROUTES_TABLE_ID,
            mapping_list=mapping_list)
        expected_query = populate_route_ids.INSERT_ROUTES_QUERY.format(
            **query_params)

        # test
        populate_route_ids.create_dose_form_route_mappings_table(
            self.project_id, self.dataset_id)

        # post conditions
        mock_query.assert_called_with(expected_query)
        mock_create_table.assert_called_with(
            populate_route_ids.DOSE_FORM_ROUTES_TABLE_ID,
            populate_route_ids.DOSE_FORM_ROUTE_FIELDS,
            drop_existing=True,
            dataset_id=self.dataset_id)