예제 #1
0
    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)