class TestBasicIdentifiers(unittest.TestCase): # we are testing private methods because testing def setUp(self): yaml_file = 'tests/test_data/simple_identifier_test.yaml' content = '''<OpenSearch xmlns="http://a9.com/-/spec/opensearch/1.1/"> <element>OpenSearchDescription</element></OpenSearch>''' url = 'http://www.opensearch.com' self.identifier = Identify([yaml_file], content, url) self.identifier.identify() def test_load_yaml(self): self.assertTrue(self.identifier.yaml) self.assertTrue(len(self.identifier.yaml) == 1) self.assertTrue(self.identifier.yaml[0]['name'] == 'OpenSearch') names = [p['name'] for p in self.identifier.yaml] self.assertTrue(len(names) == 1) def test_identify_protocol(self): expected_protocol = 'OpenSearch' returned_protocol, returned_subtype = self.identifier._identify_protocol() self.assertTrue(expected_protocol == returned_protocol) self.assertTrue('service' == returned_subtype) def test_identify_service_from_protocol(self): expected_service = 'OpenSearchDescription' protocol_data = next(p for p in self.identifier.yaml if p['name'] == 'OpenSearch') returned_service = self.identifier._identify_service_of_protocol(protocol_data) self.assertTrue(returned_service) self.assertTrue(expected_service == returned_service)
class TestBasicIdentifiers(unittest.TestCase): # we are testing private methods because testing def setUp(self): yaml_file = 'tests/test_data/simple_identifier_test.yaml' content = '''<OpenSearch xmlns="http://a9.com/-/spec/opensearch/1.1/"> <element>OpenSearchDescription</element></OpenSearch>''' url = 'http://www.opensearch.com' self.identifier = Identify([yaml_file], content, url) self.identifier.identify() def test_load_yaml(self): self.assertTrue(self.identifier.yaml) self.assertTrue(len(self.identifier.yaml) == 1) self.assertTrue(self.identifier.yaml[0]['name'] == 'OpenSearch') names = [p['name'] for p in self.identifier.yaml] self.assertTrue(len(names) == 1) def test_identify_protocol(self): expected_protocol = 'OpenSearch' returned_protocol, returned_subtype = self.identifier._identify_protocol( ) self.assertTrue(expected_protocol == returned_protocol) self.assertTrue('service' == returned_subtype) def test_identify_service_from_protocol(self): expected_service = 'OpenSearchDescription' protocol_data = next(p for p in self.identifier.yaml if p['name'] == 'OpenSearch') returned_service = self.identifier._identify_service_of_protocol( protocol_data) self.assertTrue(returned_service) self.assertTrue(expected_service == returned_service)
class TestComplexIdentifiers(unittest.TestCase): def setUp(self): yaml_file = 'tests/test_data/complex_identifier_test.yaml' with open( 'tests/test_data/esri_wms_35bd4e2ce8cd13e8697b03976ffe1ee6.txt', 'r') as f: content = f.read() url = 'http://www.mapserver.com/cgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GETCAPABILITIES' parser_content = content.replace('\\n', '') parser = Parser(parser_content) options = {'parser': parser} self.identifier = Identify([yaml_file], content, url, **options) self.identifier.identify() def test_load_yaml(self): self.assertTrue(self.identifier.yaml[2]['name'] == 'OGC:WMS') names = [p['name'] for p in self.identifier.yaml] self.assertTrue(len(names) == 6) ogc_protocol = self.identifier.yaml[0] self.assertTrue('service_description' in ogc_protocol) self.assertTrue(len(ogc_protocol['service_description']) == 1) def test_identify_protocol(self): expected_protocol = 'OGC:WMS' returned_protocol, returned_subtype = self.identifier._identify_protocol( ) self.assertTrue(expected_protocol == returned_protocol) def test_identify_service_from_protocol(self): expected_service = 'GetCapabilities' protocol_data = next(p for p in self.identifier.yaml if p['name'] == 'OGC:WMS') returned_service = self.identifier._identify_service_of_protocol( protocol_data) self.assertTrue(returned_service) self.assertTrue(expected_service == returned_service) def test_is_error(self): protocol_data = next(p for p in self.identifier.yaml if p['name'] == 'OGC:WMS') returned_error = self.identifier._is_protocol_error(protocol_data) self.assertFalse(returned_error) def test_identify(self): # just run it again? self.identifier.identify() self.assertFalse(self.identifier.is_error) self.assertTrue(self.identifier.protocol == 'OGC:WMS') self.assertTrue(self.identifier.service == 'GetCapabilities') self.assertTrue(self.identifier.version) self.assertTrue(self.identifier.version == '1.3.0') def test_generate_urn(self): expected_urn = 'urn:OGC:WMS:GetCapabilities:1.3.0' self.identifier.identify() urn = self.identifier.generate_urn() self.assertTrue(urn == expected_urn)
class TestComplexIdentifiers(unittest.TestCase): def setUp(self): yaml_file = 'tests/test_data/complex_identifier_test.yaml' with open('tests/test_data/esri_wms_35bd4e2ce8cd13e8697b03976ffe1ee6.txt', 'r') as f: content = f.read() url = 'http://www.mapserver.com/cgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GETCAPABILITIES' parser_content = content.replace('\\n', '') parser = Parser(parser_content) options = {'parser': parser} self.identifier = Identify([yaml_file], content, url, **options) self.identifier.identify() def test_load_yaml(self): self.assertTrue(self.identifier.yaml[2]['name'] == 'OGC:WMS') names = [p['name'] for p in self.identifier.yaml] self.assertTrue(len(names) == 6) ogc_protocol = self.identifier.yaml[0] self.assertTrue('service_description' in ogc_protocol) self.assertTrue(len(ogc_protocol['service_description']) == 1) def test_identify_protocol(self): expected_protocol = 'OGC:WMS' returned_protocol, returned_subtype = self.identifier._identify_protocol() self.assertTrue(expected_protocol == returned_protocol) def test_identify_service_from_protocol(self): expected_service = 'GetCapabilities' protocol_data = next(p for p in self.identifier.yaml if p['name'] == 'OGC:WMS') returned_service = self.identifier._identify_service_of_protocol(protocol_data) self.assertTrue(returned_service) self.assertTrue(expected_service == returned_service) def test_is_error(self): protocol_data = next(p for p in self.identifier.yaml if p['name'] == 'OGC:WMS') returned_error = self.identifier._is_protocol_error(protocol_data) self.assertFalse(returned_error) def test_identify(self): # just run it again? self.identifier.identify() self.assertFalse(self.identifier.is_error) self.assertTrue(self.identifier.protocol == 'OGC:WMS') self.assertTrue(self.identifier.service == 'GetCapabilities') self.assertTrue(self.identifier.version) self.assertTrue(self.identifier.version == '1.3.0') def test_generate_urn(self): expected_urn = 'urn:OGC:WMS:GetCapabilities:1.3.0' self.identifier.identify() urn = self.identifier.generate_urn() self.assertTrue(urn == expected_urn)