def test_dataset_with_point_and_details(self): ctx = new_test_service_context() response = get_datasets(ctx, point=(1.7, 51.2), details=True, base_url="http://test") self.assertIsInstance(response, dict) self.assertIn("datasets", response) self.assertIsInstance(response["datasets"], list) self.assertEqual(2, len(response["datasets"])) dataset = response["datasets"][0] self.assertIsInstance(dataset, dict) self.assertIn("id", dataset) self.assertIn("title", dataset) self.assertIn("variables", dataset) self.assertIn("dimensions", dataset) response = get_datasets(ctx, point=(1.7, 58.0), details=True, base_url="http://test") self.assertIsInstance(response, dict) self.assertIn("datasets", response) self.assertIsInstance(response["datasets"], list) self.assertEqual(0, len(response["datasets"]))
def test_dataset_with_details_and_rgb_schema(self): ctx = new_test_service_context('config-rgb.yml') response = get_datasets(ctx, details=True, base_url="http://test") datasets = self._assert_datasets(response, 1) dataset = datasets[0] self.assertIsInstance(dataset, dict) self.assertEqual({'varNames': ['conc_chl', 'conc_tsm', 'kd489'], 'normRanges': [(0.0, 24.0), (0.0, 100.0), (0.0, 6.0)]}, dataset.get("rgbSchema")) response = get_datasets(ctx, details=True, client='ol4', base_url="http://test") datasets = self._assert_datasets(response, 1) dataset = datasets[0] self.assertIsInstance(dataset, dict) self.assertEqual({'varNames': ['conc_chl', 'conc_tsm', 'kd489'], 'normRanges': [(0.0, 24.0), (0.0, 100.0), (0.0, 6.0)], 'tileSourceOptions': { 'url': 'http://test/datasets/demo-rgb/vars/rgb/tiles/{z}/{x}/{y}.png', 'maxZoom': 2, 'minZoom': 0, 'projection': 'EPSG:4326', 'tileGrid': {'extent': [0, 50, 5, 52.5], 'origin': [0, 52.5], 'resolutions': [0.01, 0.005, 0.0025], 'tileSize': [250, 250]} }}, dataset.get("rgbSchema"))
def test_dataset_with_point_and_details(self): ctx = new_test_service_context() response = get_datasets(ctx, point=(1.7, 51.2), details=True, base_url="http://test") datasets = self._assert_datasets(response, 2) dataset = datasets[0] self.assertIsInstance(dataset, dict) self.assertIn("id", dataset) self.assertIn("title", dataset) self.assertIn("variables", dataset) self.assertIn("dimensions", dataset) response = get_datasets(ctx, point=(1.7, 58.0), details=True, base_url="http://test") self._assert_datasets(response, 0)
def test_dataset_with_details(self): ctx = new_test_service_context() response = get_datasets(ctx, details=True, base_url="http://test") datasets = self._assert_datasets(response, 2) demo_dataset = None demo_1w_dataset = None for dataset in datasets: self.assertIsInstance(dataset, dict) self.assertIn("id", dataset) self.assertIn("title", dataset) self.assertIn("attributions", dataset) self.assertIn("variables", dataset) self.assertIn("dimensions", dataset) self.assertNotIn("rgbSchema", dataset) if dataset["id"] == "demo": demo_dataset = dataset if dataset["id"] == "demo-1w": demo_1w_dataset = dataset self.assertIsNotNone(demo_dataset) self.assertIsNotNone(demo_1w_dataset) self.assertEqual(["© by EU H2020 CyanoAlert project"], demo_dataset['attributions']) self.assertEqual(["© by Brockmann Consult GmbH 2020, " "contains modified Copernicus Data 2019, processed by ESA"], demo_1w_dataset['attributions'])
def get(self): details = bool(int(self.params.get_query_argument('details', '0'))) tile_client = self.params.get_query_argument('tiles', None) point = self.params.get_query_argument_point('point', None) response = get_datasets(self.service_context, details=details, client=tile_client, point=point, base_url=self.base_url) self.set_header('Content-Type', 'application/json') self.write(json.dumps(response, indent=None if details else 2))
def test_datasets(self): ctx = new_test_service_context() response = get_datasets(ctx) datasets = self._assert_datasets(response, 2) for dataset in datasets: self.assertIsInstance(dataset, dict) self.assertIn("id", dataset) self.assertIn("title", dataset) self.assertNotIn("variables", dataset) self.assertNotIn("dimensions", dataset) self.assertNotIn("rgbSchema", dataset)
def test_datasets(self): ctx = new_test_service_context() response = get_datasets(ctx) self.assertIsInstance(response, dict) self.assertIn("datasets", response) self.assertIsInstance(response["datasets"], list) self.assertEqual(2, len(response["datasets"])) dataset = response["datasets"][0] self.assertIsInstance(dataset, dict) self.assertIn("id", dataset) self.assertIn("title", dataset) self.assertNotIn("variables", dataset) self.assertNotIn("dimensions", dataset)