Skip to content

Commit 7026dfa

Browse files
committed
json decoding of values
before comparing them with the python structs
1 parent d34fdf2 commit 7026dfa

1 file changed

Lines changed: 15 additions & 12 deletions

File tree

tests/src/python/test_qgsserver_wms_getfeatureinfo.py

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
import urllib.parse
2727
import urllib.error
2828

29+
import xml.etree.ElementTree as ET
30+
import json
31+
2932
from qgis.testing import unittest
3033
from qgis.PyQt.QtCore import QSize
3134

@@ -439,13 +442,13 @@ def testGetFeatureInfoPostgresTypes(self):
439442
root = ET.fromstring(response_body)
440443
for attribute in root.iter('Attribute'):
441444
if attribute.get('name') == 'jvalue':
442-
self.assertIsInstance(attribute.get('value'), list)
443-
self.assertEqual(attribute.get('value'), [1, 2, 3])
444-
self.assertEqual(attribute.get('value'), [1.0, 2.0, 3.0])
445+
self.assertIsInstance(json.loads(attribute.get('value')), list)
446+
self.assertEqual(json.loads(attribute.get('value')), [1, 2, 3])
447+
self.assertEqual(json.loads(attribute.get('value')), [1.0, 2.0, 3.0])
445448
if attribute.get('name') == 'jbvalue':
446-
self.assertIsInstance(attribute.get('value'), list)
447-
self.assertEqual(attribute.get('value'), [4, 5, 6])
448-
self.assertEqual(attribute.get('value'), [4.0, 5.0, 6.0])
449+
self.assertIsInstance(json.loads(attribute.get('value')), list)
450+
self.assertEqual(json.loads(attribute.get('value')), [4, 5, 6])
451+
self.assertEqual(json.loads(attribute.get('value')), [4.0, 5.0, 6.0])
449452

450453
#compare decoded json field dict
451454
response_header, response_body, query_string = self.wms_request('GetFeatureInfo',
@@ -458,13 +461,13 @@ def testGetFeatureInfoPostgresTypes(self):
458461
root = ET.fromstring(response_body)
459462
for attribute in root.iter('Attribute'):
460463
if attribute.get('name') == 'jvalue':
461-
self.assertIsInstance(attribute.get('value'), dict)
462-
self.assertEqual(attribute.get('value'), {'a': 1, 'b': 2})
463-
self.assertEqual(attribute.get('value'), {'a': 1.0, 'b': 2.0})
464+
self.assertIsInstance(json.loads(attribute.get('value')), dict)
465+
self.assertEqual(json.loads(attribute.get('value')), {'a': 1, 'b': 2})
466+
self.assertEqual(json.loads(attribute.get('value')), {'a': 1.0, 'b': 2.0})
464467
if attribute.get('name') == 'jbvalue':
465-
self.assertIsInstance(attribute.get('value'), dict)
466-
self.assertEqual(attribute.get('value'), {'c': 4, 'd': 5})
467-
self.assertEqual(attribute.get('value'), {'c': 4.0, 'd': 5.0})
468+
self.assertIsInstance(json.loads(attribute.get('value')), dict)
469+
self.assertEqual(json.loads(attribute.get('value')), {'c': 4, 'd': 5})
470+
self.assertEqual(json.loads(attribute.get('value')), {'c': 4.0, 'd': 5.0})
468471

469472
if __name__ == '__main__':
470473
unittest.main()

0 commit comments

Comments
 (0)