Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions tableauserverclient/server/request_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -378,10 +378,10 @@ def vf(self, name: str, value: str) -> Self:
in August 2026. Examples below give the wire form (what the
server sees after URL decoding) and the data value it matches.
To match a value containing a literal comma, wire form
``Rock\, Paper\, Scissors`` matches data value ``Rock, Paper,
``Rock\\, Paper\\, Scissors`` matches data value ``Rock, Paper,
Scissors`` (without escaping, the comma starts an OR-list). To
match a literal backslash, double it: wire form ``C:\\temp\\file``
matches data value ``C:\temp\file``.
match a literal backslash, double it: wire form ``C:\\\\temp\\\\file``
matches data value ``C:\\temp\\file``.
- **Empty value** (``vf_<name>=``) is observed to override any
workbook-embedded filter on that column, effectively widening it
to all values. Not officially documented; behavior may change
Expand Down
2 changes: 2 additions & 0 deletions test/test_datasource.py
Original file line number Diff line number Diff line change
Expand Up @@ -987,6 +987,8 @@ def test_synchronous_publish_timeout_error(server) -> None:


def test_async_publish_timeout_error(server) -> None:
server.version = "3.0"

with requests_mock.mock() as m:
m.register_uri("POST", server.datasources.baseurl, status_code=504)

Expand Down
4 changes: 3 additions & 1 deletion test/test_site.py
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@ def test_update_missing_id(server: TSC.Server) -> None:
server.sites.update(single_site)


@pytest.mark.filterwarnings("ignore:FlowsEnabled has been removed")
def test_update_subscription_email_and_footer_preserve_case() -> None:
# Regression for #1849: RequestFactory used to .lower() customSubscriptionEmail
# and customSubscriptionFooter, silently mangling caller intent. Footer
Expand All @@ -221,6 +222,7 @@ def test_update_subscription_email_and_footer_preserve_case() -> None:
)


@pytest.mark.filterwarnings("ignore:FlowsEnabled has been removed")
def test_create_subscription_email_and_footer_preserve_case() -> None:
# Same regression for the create-site path.
site = TSC.SiteItem(name="X", content_url="x")
Expand Down Expand Up @@ -348,7 +350,7 @@ def test_parsing_attr_capture(capture):


@pytest.mark.filterwarnings("ignore:FlowsEnabled has been removed")
@pytest.mark.parametrize("req, capture", product(["create_req", "update_req"], [True, False, None]))
@pytest.mark.parametrize("req, capture", list(product(["create_req", "update_req"], [True, False, None])))
def test_encoding_attr_capture(req, capture):
site = TSC.SiteItem(
content_url="test",
Expand Down
2 changes: 2 additions & 0 deletions test/test_workbook.py
Original file line number Diff line number Diff line change
Expand Up @@ -938,6 +938,8 @@ def test_synchronous_publish_timeout_error(server: TSC.Server) -> None:


def test_async_publish_timeout_error(server: TSC.Server) -> None:
server.version = "3.0"

with requests_mock.mock() as m:
m.register_uri("POST", server.workbooks.baseurl, status_code=504)

Expand Down
Loading