Exemplo n.º 1
0
    def test_widget_with_default_settings(self):
        """
            Test the widget with default settings which is defined in django settings file
        """
        zoom = 13
        map_size = "200x200"
        widget_settings = {
            "GoogleStaticMapWidget": (
                ("zoom", zoom),
                ("size", map_size),
            ),
            "GOOGLE_MAP_API_KEY": GOOGLE_MAP_API_KEY,
        }

        with override_settings(MAP_WIDGETS=widget_settings):
            reload_module(mw_widgets)
            widget = mw_widgets.GoogleStaticMapWidget()
            settings = widget.map_settings

            # test `map_settings` method
            self.assertEqual(settings.get("zoom"), zoom)
            self.assertEqual(settings.get("size"), map_size)

            # test render
            point = Point(-105.9903, 38.7392)
            widget_html_elem_id = "id_location"
            widget_html_elem_name = "location"
            result = widget.render(name=widget_html_elem_name,
                                   value=point,
                                   attrs={'id': widget_html_elem_id})
            map_image_url = widget.get_image_url(point)
            self.assertIn(GOOGLE_MAP_API_KEY, map_image_url)
            self.assertIn(html_escape(map_image_url), result)

            # test map_image_url
            res = urlopen(map_image_url)
            self.assertEqual(res.getcode(), 200)
            if hasattr(res.info(), 'type'):
                self.assertEqual(res.info().type, "image/png")
            else:
                self.assertEqual(res.info().get_content_type(), "image/png")

            # test map_image_url with `None` value
            result = widget.render(name=widget_html_elem_name,
                                   value=None,
                                   attrs={'id': widget_html_elem_id})
            map_image_url = widget.get_image_url(None)
            self.assertIn(map_image_url, result)
Exemplo n.º 2
0
    def test_widget_with_custom_settings(self):
        """
            Test the widget with custom settings which is updated by `settings` parameter
        """
        zoom = 9
        map_size = "100x100"

        widget_settings = {
            "GoogleStaticMapWidget": (
                ("zoom", zoom),
                ("size", map_size),
            ),
            "GOOGLE_MAP_API_KEY": GOOGLE_MAP_API_KEY,
        }

        with override_settings(MAP_WIDGETS=widget_settings):
            reload_module(mw_widgets)
            widget = mw_widgets.GoogleStaticMapWidget(zoom=zoom, size=map_size)
            settings = widget.map_settings

            # test `map_settings` method
            self.assertEqual(settings.get("zoom"), zoom)
            self.assertEqual(settings.get("size"), map_size)

            # test render
            point = Point(-105.9903, 38.7392)
            widget_html_elem_id = "id_location"
            widget_html_elem_name = "location"
            result = widget.render(name=widget_html_elem_name,
                                   value=point,
                                   attrs={'id': widget_html_elem_id})
            map_image_url = widget.get_image_url(point)
            self.assertIn(GOOGLE_MAP_API_KEY, map_image_url)
            self.assertIn(html_escape(map_image_url), result)

            # test map_image_url
            res = urllib.urlopen(map_image_url)
            self.assertEqual(res.getcode(), 200)
            self.assertEqual(res.info().type, "image/png")