def setUpClass(cls): import_processing() import_asistente_ladm_col() # Import plugin import_qgis_model_baker() cls.db_gpkg = get_copy_gpkg_conn('test_ladm_col_queries_qpkg') # We can't use the restored database connection because the expression functions use the one in the plugin; # that's why we have to get the database connection and assign it to the plugin cls.plugin = utils.plugins[ "asistente_ladm_col"] # Dict of active plugins cls.conn_manager = cls.plugin.conn_manager cls.conn_manager.set_db_connector_for_source(cls.db_gpkg) res, code, msg = cls.db_gpkg.test_connection() cls.assertTrue(res, msg) cls.assertIsNotNone(cls.db_gpkg.names.T_ID_F, 'Names is None') cls.ladm_queries = QGISLADMQuery() # Maybe custom expression functions are not register in processing module QgsExpression.registerFunction(get_domain_code_from_value) QgsExpression.registerFunction(get_domain_value_from_code) # Standardize query results: id's are removed because it depends on the database test data standardize_query_results(expected_result_ladm_basic_query) standardize_query_results(expected_result_ladm_economic_query) standardize_query_results(expected_result_ladm_legal_query) standardize_query_results(expected_result_ladm_physical_query) standardize_query_results( expected_result_ladm_property_record_card_query)
def setUpClass(cls): print("INFO: Restoring databases to be used") restore_schema('test_ladm_col_queries') cls.db_pg = get_pg_conn('test_ladm_col_queries') cls.ladm_queries = PGLADMQuery() # Standardize query results: id's are removed because it depends on the database test data standardize_query_results(expected_result_ladm_basic_query.copy()) standardize_query_results(expected_result_ladm_economic_query.copy()) standardize_query_results(expected_result_ladm_legal_query.copy()) standardize_query_results(expected_result_ladm_physical_query.copy()) standardize_query_results(expected_result_ladm_property_record_card_query.copy())
def test_igac_economic_info_query(self): print("\nINFO: Validating economic info query from IGAC...") # Empty result kwargs = {'plot_t_ids': [-1]} self.assertEqual(self.ladm_queries.get_igac_economic_info(self.db_pg, **kwargs), {'lc_terreno': []}) kwargs = {'plot_t_ids': [1430]} result = standardize_query_results(self.ladm_queries.get_igac_economic_info(self.db_pg, **kwargs)) self.assertTrue(expected_result_ladm_economic_query == result, 'The result obtained is not as expected: {} {}'.format(expected_result_ladm_economic_query, result))
def test_get_parcel_data_to_compare_changes(self): print("\nINFO: Validating get parcels data ...") features_test = parcel_data_to_compare_changes_all_data features = self.ladm_data.get_parcel_data_to_compare_changes( self.db_pg) normalize_response(features) standardize_query_results(features, key_to_remove="t_id") self.assertEqual(features, features_test) print("\nINFO: Validating get parcels data using search criterion...") features_test = parcel_data_to_compare_changes_parcel_number_253940000000000230055000000000 search_criterion = { self.names.LC_PARCEL_T_PARCEL_NUMBER_F: '253940000000000230055000000000' } features = self.ladm_data.get_parcel_data_to_compare_changes( self.db_pg, search_criterion=search_criterion) normalize_response(features) standardize_query_results(features, key_to_remove="t_id") self.assertEqual(features, features_test) print("\nINFO: Validating get parcels data using search criterion...") features_test = parcel_data_to_compare_changes_parcel_number_253940000000000230241000000000 search_criterion = { self.names.LC_PARCEL_T_PARCEL_NUMBER_F: '253940000000000230241000000000' } features = self.ladm_data.get_parcel_data_to_compare_changes( self.db_pg, search_criterion=search_criterion) normalize_response(features) standardize_query_results(features, key_to_remove="t_id") self.assertEqual(features, features_test)