Esempio n. 1
0
    def test_project_wms(self):
        p0 = QgsProject()
        p0.read(sorted(list(projects().values()))[0])
        p1 = QgsProject()
        p1.read(sorted(list(projects().values()))[1])

        # Check that project3 from second directory is in the list
        self.assertTrue(
            'projects2/project3.qgz' in '||'.join(list(projects().values())))

        # p0 is not restricted and does not use layer ids
        extent, layers = project_wms(p0, 'EPSG:4326')
        self.assertEqual(layers, ['points'])
        # Extent is WMS advertized
        self.assertEqual(
            re.sub(r'(\.\d{2})\d+', r'\1', extent.asWktPolygon()),
            'POLYGON((-1.12 43.23, 11.12 43.23, 11.12 52.26, -1.12 52.26, -1.12 43.23))'
        )

        # p1 is restricted and does use layer ids
        extent, layers = project_wms(p1, 'EPSG:4326')
        self.assertEqual(layers,
                         ['points_3857_6c1395a0_1065_41f7_9cf4_8109e268ac84'])
        # Extent is from the only published layer
        self.assertEqual(
            re.sub(r'(\.\d{2})\d+', r'\1', extent.asWktPolygon()),
            'POLYGON((-25.49 41.98, 38.23 41.98, 38.23 55.95, -25.49 55.95, -25.49 41.98))'
        )
Esempio n. 2
0
 def test_project_extent(self):
     p = QgsProject()
     p.read(sorted(list(projects().values()))[2])
     self.assertTrue(QgsServerProjectUtils.wmsExtent(p).isNull())
     info = project_info(sorted(list(projects().values()))[2])
     self.assertEqual(
         re.sub(r'(\.\d{2})\d+', r'\1', str(info['geographic_extent'])),
         '[10.68, 52.41, 10.74, 52.45]')
Esempio n. 3
0
 def test_projects(self):
     _projects = '|'.join(projects())
     self.assertTrue(
         hashlib.md5('Project1.qgs'.encode('utf8')).hexdigest() in
         _projects)
     self.assertTrue(
         hashlib.md5('Project2.qgz'.encode('utf8')).hexdigest() in
         _projects)
Esempio n. 4
0
 def test_layer_info(self):
     p = QgsProject()
     p.read(list(projects().values())[1])
     info = layer_info(
         p.mapLayer('points_842425df_7f45_4091_a6c9_086e1dc1edd1'))
     self.assertEqual(info['name'], 'points')
     self.assertEqual(info['id'],
                      'points_842425df_7f45_4091_a6c9_086e1dc1edd1')
     self.assertEqual(
         info['metadata']['categories'],
         ['Geoscientific Information', 'Imagery Base Maps Earth Cover'])
     self.assertEqual(
         info['metadata']['contacts'][0], {
             'name':
             'Layer Metadata Contact Name',
             'role':
             'distributor',
             'email':
             'Layer Metadata Contact Email',
             'fax':
             'Layer Metadata Contact Fax',
             'voice':
             'Layer Metadata Contact Voice',
             'organization':
             'Layer Metadata Contact Organization',
             'position':
             'Layer Metadata Contact Position',
             'addresses': [{
                 'address': 'street 1',
                 'city': 'Milan',
                 'country': 'Italy',
                 'postalCode': '10021',
                 'type': 'postal',
                 'administrativeArea': 'Lombardy'
             }]
         })
     self.assertEqual(
         info['fields'], {
             'fid': {
                 'type': 'Integer64',
                 'label': 'fid',
                 'precision': 0,
                 'length': 0,
                 'not_null': True,
                 'unique': True,
                 'has_expression': False,
                 'default': 'Autogenerate',
                 'expression': '',
                 'editable': False
             },
             'name': {
                 'type': 'String',
                 'label': 'name',
                 'precision': 0,
                 'length': 0,
                 'not_null': False,
                 'unique': False,
                 'has_expression': False,
                 'default': '',
                 'expression': '',
                 'editable': True
             }
         })
Esempio n. 5
0
 def test_project_info(self):
     path = sorted(projects().values())[1]
     info = project_info(path)
     self.assertEqual(info['title'], 'Project2 Title')
     self.assertEqual(info['toc']['children'][0]['name'], 'points_3857')
     self.assertEqual(len(info['toc']['children']), 1)
Esempio n. 6
0
 def test_projects(self):
     _projects = '|'.join(projects().values())
     self.assertTrue('PGProject1' in _projects)
     self.assertTrue('PGProject2' in _projects)
     self.assertTrue('my as areas project' in _projects)