view schema/gemma_tests.sql @ 4605:7650d2431f86 geoserver_sql_views

Separate schema and table name Since a GeoServer data source is bound to a specific database schema, names have to be given without schema qualification. Since we cannot use regclass for names of SQL views, the name is now a varchar. This way it's more straightforward to store schema and name separately.
author Tom Gottfried <tom@intevation.de>
date Thu, 05 Sep 2019 11:33:01 +0200
parents d24e951206ca
children e8b2dc771f9e
line wrap: on
line source

-- This is Free Software under GNU Affero General Public License v >= 3.0
-- without warranty, see README.md and license for details.

-- SPDX-License-Identifier: AGPL-3.0-or-later
-- License-Filename: LICENSES/AGPL-3.0.txt

-- Copyright (C) 2019 by via donau
--   – Österreichische Wasserstraßen-Gesellschaft mbH
-- Software engineering by Intevation GmbH

-- Author(s):
--  * Tom Gottfried <tom@intevation.de>

--
-- pgTAP test script for gemma schema definition
--

SELECT ok(is_valid_from_item('SELECT * FROM sys_admin.published_services'),
    'Valid statement passes check');

SELECT ok(NOT is_valid_from_item('This is not SQL'),
    'Arbitrary text does not pass check');

SELECT ok(is_valid_from_item(NULL) IS NULL,
    'NULL value is not checked');

SELECT throws_ok($$
    INSERT INTO waterway.waterway_axis (wtwaxs, objnam) VALUES
        (ST_GeogFromText('LINESTRING(0 0, 1 1)'), 'test'),
        (ST_GeogFromText('LINESTRING(0 0, 1 1)'), 'test')
    $$,
    23505, NULL,
    'No duplicate geometries can be inserted into waterway_axis');

SELECT throws_ok($$
    INSERT INTO waterway.waterway_area (area) VALUES
        (ST_GeogFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))')),
        (ST_GeogFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'))
    $$,
    23505, NULL,
    'No duplicate geometries can be inserted into waterway_area');