mirror of
https://github.com/apache/superset.git
synced 2026-07-11 17:25:31 +00:00
89 lines
3.0 KiB
Python
89 lines
3.0 KiB
Python
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from flask import current_app
|
|
|
|
from superset.utils.urls import get_url_path, modify_url_query
|
|
|
|
EXPLORE_CHART_LINK = "http://localhost:9000/explore/?form_data=%7B%22slice_id%22%3A+76%7D&standalone=true&force=false"
|
|
|
|
EXPLORE_DASHBOARD_LINK = "http://localhost:9000/superset/dashboard/3/?standalone=3"
|
|
|
|
|
|
def test_convert_chart_link() -> None:
|
|
test_url = modify_url_query(EXPLORE_CHART_LINK, standalone="0")
|
|
assert (
|
|
test_url
|
|
== "http://localhost:9000/explore/?form_data=%7B%22slice_id%22%3A%2076%7D&standalone=0&force=false"
|
|
)
|
|
|
|
|
|
def test_convert_dashboard_link() -> None:
|
|
test_url = modify_url_query(EXPLORE_DASHBOARD_LINK, standalone="0")
|
|
assert test_url == "http://localhost:9000/superset/dashboard/3/?standalone=0"
|
|
|
|
|
|
def test_convert_dashboard_link_with_integer() -> None:
|
|
test_url = modify_url_query(EXPLORE_DASHBOARD_LINK, standalone=0)
|
|
assert test_url == "http://localhost:9000/superset/dashboard/3/?standalone=0"
|
|
|
|
|
|
def test_modify_url_query_preserves_repeated_and_blank_params() -> None:
|
|
test_url = modify_url_query(
|
|
"http://localhost:9000/explore/?a=1&a=2&b=&c=3",
|
|
a=[4, 5],
|
|
)
|
|
|
|
assert test_url == "http://localhost:9000/explore/?a=4&a=5&b=&c=3"
|
|
|
|
|
|
def test_modify_url_query_appends_new_params_after_existing_params() -> None:
|
|
test_url = modify_url_query(
|
|
"http://localhost:9000/explore/?a=1&a=2&b=&c=3",
|
|
d=7,
|
|
)
|
|
|
|
assert test_url == "http://localhost:9000/explore/?a=1&a=2&b=&c=3&d=7"
|
|
|
|
|
|
def test_modify_url_query_preserves_standard_url_encoding_for_list_values() -> None:
|
|
test_url = modify_url_query(
|
|
"http://localhost:9000/explore/?existing=ok",
|
|
tag=["alpha value", "beta/value"],
|
|
)
|
|
|
|
assert (
|
|
test_url
|
|
== "http://localhost:9000/explore/?existing=ok&tag=alpha%20value&tag=beta/value"
|
|
)
|
|
|
|
|
|
def test_get_url_path_preserves_query_params(app_context: None) -> None:
|
|
current_app.config["WEBDRIVER_BASEURL"] = "http://localhost:9000/"
|
|
|
|
test_url = get_url_path(
|
|
"static",
|
|
filename="assets/images/favicon.png",
|
|
standalone=1,
|
|
form_data='{"slice_id": 76}',
|
|
)
|
|
|
|
assert (
|
|
test_url
|
|
== "http://localhost:9000/static/assets/images/favicon.png?standalone=1&form_data=%7B%22slice_id%22:+76%7D"
|
|
)
|