Postgres provider: test default values are correctly returned

This commit is contained in:
Matthias Kuhn 2015-05-23 18:27:47 +02:00
parent 4358b5bae2
commit 32463d0c15
2 changed files with 10 additions and 3 deletions

View File

@ -14,6 +14,7 @@ __revision__ = '$Format:%H$'
import qgis import qgis
import os import os
from qgis.core import NULL
from qgis.core import QgsVectorLayer, QgsFeatureRequest, QgsFeature, QgsProviderRegistry from qgis.core import QgsVectorLayer, QgsFeatureRequest, QgsFeature, QgsProviderRegistry
from PyQt4.QtCore import QSettings from PyQt4.QtCore import QSettings
@ -46,5 +47,11 @@ class TestPyQgsPostgresProvider(TestCase, ProviderTestCase):
def disableCompiler(self): def disableCompiler(self):
QSettings().setValue(u'/qgis/postgres/compileExpressions', False) QSettings().setValue(u'/qgis/postgres/compileExpressions', False)
# HERE GO THE PROVIDER SPECIFIC TESTS
def testDefaultValue(self):
assert self.provider.defaultValue(0) == u'nextval(\'qgis_test."someData_pk_seq"\'::regclass)'
assert self.provider.defaultValue(1) == NULL
assert self.provider.defaultValue(2) == '\'qgis\'::text'
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()

View File

@ -1,4 +1,4 @@
-- --
-- PostgreSQL database dump -- PostgreSQL database dump
-- --
@ -35,9 +35,9 @@ SET default_with_oids = false;
-- --
CREATE TABLE "someData" ( CREATE TABLE "someData" (
pk integer NOT NULL, pk SERIAL NOT NULL,
cnt integer, cnt integer,
name text, name text DEFAULT 'qgis',
geom public.geometry(Point,4326) geom public.geometry(Point,4326)
); );