def test_given_a_request_for_a_single_layer_should_return_empty_value_in_xml_with_layer_filter(self): layer = Layer.objects.first() request = self.__request_factory_single(layer.uuid) response = csw_global_dispatch(request, self.layer_filter) root = ET.fromstring(response.content) actual = len(list(root)) self.assertEqual(0, actual)
def test_given_a_request_for_a_single_dataset_should_return_single_value_in_xml_without_dataset_filter( self): dataset = Dataset.objects.first() request = self.__request_factory_single(dataset.uuid) response = csw_global_dispatch(request) root = ET.fromstring(response.content) actual = len(list(root)) self.assertEqual(1, actual)
def test_given_a_request_for_multiple_layer_should_return_multiple_value_in_xml_with_layer_filter( self): request = self.__request_factory_multiple() response = csw_global_dispatch(request, self.layer_filter_multiple) root = ET.fromstring(response.content) actual = root.find( "{http://www.opengis.net/cat/csw/2.0.2}SearchResults" ).attrib["numberOfRecordsReturned"] self.assertEqual(2, int(actual))
def test_if_pycsw_filter_is_set_should_return_all_datasets_map_doc(self): response = csw_global_dispatch(self.request) root = etree.fromstring(response.content) child = [ x.attrib for x in root if 'numberOfRecordsMatched' in x.attrib ] returned_results = ast.literal_eval(child[0].get( 'numberOfRecordsMatched', '0')) if child else 0 self.assertEqual(3, returned_results)
def csw_dispatcher(request, pa_code): return csw_global_dispatch( request, layer_filter=LayerFilters(pa_code).filter_layers, config_updater=RndtCswConfigurer(pa_code).config_updater)
def test_given_a_simple_request_should_return_200(self): actual = csw_global_dispatch(self.request) self.assertEqual(200, actual.status_code)