Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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 == []
Ejemplo n.º 3
0
    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 == []
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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}
Ejemplo n.º 6
0
    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')
Ejemplo n.º 7
0
    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))
Ejemplo n.º 8
0
    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")
Ejemplo n.º 9
0
    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
Ejemplo n.º 10
0
    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}
Ejemplo n.º 11
0
    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
Ejemplo n.º 12
0
    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)
Ejemplo n.º 13
0
    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)