def test_process_spatial_query_obj(self): form_data = load_fixture("deck_path_form_data.json") datasource = self.get_datasource_mock() mock_key = "spatial_key" mock_gb = [] test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) with self.assertRaises(ValueError) as context: test_viz_deckgl.process_spatial_query_obj(mock_key, mock_gb) self.assertTrue("Bad spatial key" in str(context.exception)) test_form_data = { "latlong_key": {"type": "latlong", "lonCol": "lon", "latCol": "lat"}, "delimited_key": {"type": "delimited", "lonlatCol": "lonlat"}, "geohash_key": {"type": "geohash", "geohashCol": "geo"}, } datasource = self.get_datasource_mock() expected_results = { "latlong_key": ["lon", "lat"], "delimited_key": ["lonlat"], "geohash_key": ["geo"], } for mock_key in ["latlong_key", "delimited_key", "geohash_key"]: mock_gb = [] test_viz_deckgl = viz.BaseDeckGLViz(datasource, test_form_data) test_viz_deckgl.process_spatial_query_obj(mock_key, mock_gb) assert expected_results.get(mock_key) == mock_gb
def test_get_metrics(self): form_data = load_fixture('deck_path_form_data.json') datasource = {'type': 'table'} test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) result = test_viz_deckgl.get_metrics() assert result == [form_data.get('size')] form_data = {} test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) result = test_viz_deckgl.get_metrics() assert result == []
def test_get_metrics(self): form_data = load_fixture("deck_path_form_data.json") datasource = self.get_datasource_mock() test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) result = test_viz_deckgl.get_metrics() assert result == [form_data.get("size")] form_data = {} test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) result = test_viz_deckgl.get_metrics() assert result == []
def test_filter_nulls(self, mock_uuid4): mock_uuid4.return_value = uuid.UUID('12345678123456781234567812345678') test_form_data = { 'latlong_key': { 'type': 'latlong', 'lonCol': 'lon', 'latCol': 'lat', }, 'delimited_key': { 'type': 'delimited', 'lonlatCol': 'lonlat', }, 'geohash_key': { 'type': 'geohash', 'geohashCol': 'geo', }, } datasource = self.get_datasource_mock() expected_results = { 'latlong_key': [{ 'clause': 'WHERE', 'expressionType': 'SIMPLE', 'filterOptionName': '12345678-1234-5678-1234-567812345678', 'comparator': '', 'operator': 'IS NOT NULL', 'subject': 'lat', }, { 'clause': 'WHERE', 'expressionType': 'SIMPLE', 'filterOptionName': '12345678-1234-5678-1234-567812345678', 'comparator': '', 'operator': 'IS NOT NULL', 'subject': 'lon', }], 'delimited_key': [{ 'clause': 'WHERE', 'expressionType': 'SIMPLE', 'filterOptionName': '12345678-1234-5678-1234-567812345678', 'comparator': '', 'operator': 'IS NOT NULL', 'subject': 'lonlat', }], 'geohash_key': [{ 'clause': 'WHERE', 'expressionType': 'SIMPLE', 'filterOptionName': '12345678-1234-5678-1234-567812345678', 'comparator': '', 'operator': 'IS NOT NULL', 'subject': 'geo', }], } for mock_key in ['latlong_key', 'delimited_key', 'geohash_key']: test_viz_deckgl = viz.BaseDeckGLViz( datasource, test_form_data.copy()) test_viz_deckgl.spatial_control_keys = [mock_key] test_viz_deckgl.add_null_filters() adhoc_filters = test_viz_deckgl.form_data['adhoc_filters'] assert expected_results.get(mock_key) == adhoc_filters
def test_get_js_columns(self): form_data = load_fixture("deck_path_form_data.json") datasource = self.get_datasource_mock() mock_d = {"a": "dummy1", "b": "dummy2", "c": "dummy3"} test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) result = test_viz_deckgl.get_js_columns(mock_d) assert result == {"color": None}
def test_parse_coordinates_raises(self): form_data = load_fixture('deck_path_form_data.json') datasource = {'type': 'table'} test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) with self.assertRaises(SpatialException): test_viz_deckgl.parse_coordinates('NULL') with self.assertRaises(SpatialException): test_viz_deckgl.parse_coordinates('fldkjsalkj,fdlaskjfjadlksj')
def test_get_properties(self): mock_d = {} form_data = load_fixture('deck_path_form_data.json') datasource = {'type': 'table'} test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) with self.assertRaises(NotImplementedError) as context: test_viz_deckgl.get_properties(mock_d) self.assertTrue('' in str(context.exception))
def test_parse_coordinates_raises(self): form_data = load_fixture("deck_path_form_data.json") datasource = self.get_datasource_mock() test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) with self.assertRaises(SpatialException): test_viz_deckgl.parse_coordinates("NULL") with self.assertRaises(SpatialException): test_viz_deckgl.parse_coordinates("fldkjsalkj,fdlaskjfjadlksj")
def test_filter_nulls(self, mock_uuid4): mock_uuid4.return_value = uuid.UUID("12345678123456781234567812345678") test_form_data = { "latlong_key": {"type": "latlong", "lonCol": "lon", "latCol": "lat"}, "delimited_key": {"type": "delimited", "lonlatCol": "lonlat"}, "geohash_key": {"type": "geohash", "geohashCol": "geo"}, } datasource = self.get_datasource_mock() expected_results = { "latlong_key": [ { "clause": "WHERE", "expressionType": "SIMPLE", "filterOptionName": "12345678-1234-5678-1234-567812345678", "comparator": "", "operator": "IS NOT NULL", "subject": "lat", }, { "clause": "WHERE", "expressionType": "SIMPLE", "filterOptionName": "12345678-1234-5678-1234-567812345678", "comparator": "", "operator": "IS NOT NULL", "subject": "lon", }, ], "delimited_key": [ { "clause": "WHERE", "expressionType": "SIMPLE", "filterOptionName": "12345678-1234-5678-1234-567812345678", "comparator": "", "operator": "IS NOT NULL", "subject": "lonlat", } ], "geohash_key": [ { "clause": "WHERE", "expressionType": "SIMPLE", "filterOptionName": "12345678-1234-5678-1234-567812345678", "comparator": "", "operator": "IS NOT NULL", "subject": "geo", } ], } for mock_key in ["latlong_key", "delimited_key", "geohash_key"]: test_viz_deckgl = viz.BaseDeckGLViz(datasource, test_form_data.copy()) test_viz_deckgl.spatial_control_keys = [mock_key] test_viz_deckgl.add_null_filters() adhoc_filters = test_viz_deckgl.form_data["adhoc_filters"] assert expected_results.get(mock_key) == adhoc_filters
def test_get_js_columns(self): form_data = load_fixture('deck_path_form_data.json') datasource = {'type': 'table'} mock_d = { 'a': 'dummy1', 'b': 'dummy2', 'c': 'dummy3', } test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) result = test_viz_deckgl.get_js_columns(mock_d) assert result == {'color': None}
def test_process_spatial_query_obj(self): form_data = load_fixture('deck_path_form_data.json') datasource = {'type': 'table'} mock_key = 'spatial_key' mock_gb = [] test_viz_deckgl = viz.BaseDeckGLViz(datasource, form_data) with self.assertRaises(ValueError) as context: test_viz_deckgl.process_spatial_query_obj(mock_key, mock_gb) self.assertTrue('Bad spatial key' in str(context.exception)) test_form_data = { 'latlong_key': { 'type': 'latlong', 'lonCol': 'lon', 'latCol': 'lat', }, 'delimited_key': { 'type': 'delimited', 'lonlatCol': 'lonlat', }, 'geohash_key': { 'type': 'geohash', 'geohashCol': 'geo', }, } datasource = {'type': 'table'} expected_results = { 'latlong_key': ['lon', 'lat'], 'delimited_key': ['lonlat'], 'geohash_key': ['geo'], } for mock_key in ['latlong_key', 'delimited_key', 'geohash_key']: mock_gb = [] test_viz_deckgl = viz.BaseDeckGLViz(datasource, test_form_data) test_viz_deckgl.process_spatial_query_obj(mock_key, mock_gb) assert expected_results.get(mock_key) == mock_gb
def test_parse_coordinates(self): form_data = load_fixture('deck_path_form_data.json') datasource = {'type': 'table'} viz_instance = viz.BaseDeckGLViz(datasource, form_data) coord = viz_instance.parse_coordinates('1.23, 3.21') self.assertEquals(coord, (1.23, 3.21)) coord = viz_instance.parse_coordinates('1.23 3.21') self.assertEquals(coord, (1.23, 3.21)) self.assertEquals(viz_instance.parse_coordinates(None), None) self.assertEquals(viz_instance.parse_coordinates(''), None)
def test_parse_coordinates(self): form_data = load_fixture("deck_path_form_data.json") datasource = self.get_datasource_mock() viz_instance = viz.BaseDeckGLViz(datasource, form_data) coord = viz_instance.parse_coordinates("1.23, 3.21") self.assertEqual(coord, (1.23, 3.21)) coord = viz_instance.parse_coordinates("1.23 3.21") self.assertEqual(coord, (1.23, 3.21)) self.assertEqual(viz_instance.parse_coordinates(None), None) self.assertEqual(viz_instance.parse_coordinates(""), None)