|
4 | 4 | Note: to prepare the DB, you need to run the sql files specified in
|
5 | 5 | tests/testdata/provider/testdata_pg.sh
|
6 | 6 |
|
| 7 | +Read tests/README.md about writing/launching tests with PostgreSQL. |
| 8 | +
|
| 9 | +Run with ctest -V -R PyQgsPostgresProvider |
| 10 | +
|
7 | 11 | .. note:: This program is free software; you can redistribute it and/or modify
|
8 | 12 | it under the terms of the GNU General Public License as published by
|
9 | 13 | the Free Software Foundation; either version 2 of the License, or
|
@@ -902,6 +906,7 @@ def testStyle(self):
|
902 | 906 | status = vl.loadNamedStyle(mFilePath)
|
903 | 907 | self.assertTrue(status)
|
904 | 908 |
|
| 909 | + # The style is saved as non-default |
905 | 910 | errorMsg = vl.saveStyleToDatabase("by day", "faded greens and elegant patterns", False, "")
|
906 | 911 | self.assertEqual(errorMsg, "")
|
907 | 912 |
|
@@ -933,6 +938,27 @@ def testStyle(self):
|
933 | 938 | self.assertTrue(res)
|
934 | 939 | self.assertEqual(errmsg, "")
|
935 | 940 |
|
| 941 | + # We save now the style again twice but with one as default |
| 942 | + errorMsg = vl.saveStyleToDatabase("related style", "faded greens and elegant patterns", False, "") |
| 943 | + self.assertEqual(errorMsg, "") |
| 944 | + errorMsg = vl.saveStyleToDatabase("default style", "faded greens and elegant patterns", True, "") |
| 945 | + self.assertEqual(errorMsg, "") |
| 946 | + |
| 947 | + related_count, idlist, namelist, desclist, errmsg = vl.listStylesInDatabase() |
| 948 | + self.assertEqual(related_count, 2) |
| 949 | + self.assertEqual(errmsg, "") |
| 950 | + self.assertEqual(idlist, ["3", "2"]) # Ids must be reversed. |
| 951 | + self.assertEqual(namelist, ["default style", "related style"]) |
| 952 | + self.assertEqual(desclist, ["faded greens and elegant patterns"] * 2) |
| 953 | + |
| 954 | + # We remove these 2 styles |
| 955 | + res, errmsg = vl.deleteStyleFromDatabase("2") |
| 956 | + self.assertTrue(res) |
| 957 | + self.assertEqual(errmsg, "") |
| 958 | + res, errmsg = vl.deleteStyleFromDatabase("3") |
| 959 | + self.assertTrue(res) |
| 960 | + self.assertEqual(errmsg, "") |
| 961 | + |
936 | 962 | # table layer_styles does exit, but is now empty
|
937 | 963 | related_count, idlist, namelist, desclist, errmsg = vl.listStylesInDatabase()
|
938 | 964 | self.assertEqual(related_count, 0)
|
@@ -1066,7 +1092,16 @@ def receive(self, msg):
|
1066 | 1092 | self.assertTrue(ok)
|
1067 | 1093 |
|
1068 | 1094 | def testStyleDatabaseWithService(self):
|
1069 |
| - |
| 1095 | + """Test saving style in DB using a service file. |
| 1096 | +
|
| 1097 | + To run this test, you first need to create a service with: |
| 1098 | + [qgis_test] |
| 1099 | + host=localhost |
| 1100 | + port=5432 |
| 1101 | + dbname=qgis_test |
| 1102 | + user=USERNAME |
| 1103 | + password=PASSWORD |
| 1104 | + """ |
1070 | 1105 | myconn = 'service=\'qgis_test\''
|
1071 | 1106 | if 'QGIS_PGTEST_DB' in os.environ:
|
1072 | 1107 | myconn = os.environ['QGIS_PGTEST_DB']
|
|
0 commit comments