tableau / server-client-python

A Python library for the Tableau Server REST API
https://tableau.github.io/server-client-python/
MIT License
648 stars 416 forks source link

Forcing Connection's server_address to lowercase breaks OData connectivity #1392

Closed TimothyVermeirenBiztory closed 1 month ago

TimothyVermeirenBiztory commented 1 month ago

Describe the bug In request_factory.py, a Connection's server_address is actively converted to lowercase on this line in v0.31. From what I can tell, this has been the case in more or less all versions of TSC.

While this is something I think I would do myself as well, as it feels "safer" to consistently provide a URL in lowercase to avoid mix-ups, it turns out that this breaks functionality for OData connections. Specifically, a project I am working on that deals with OData connections revealed that OData connection URLs are effectively case sensitive. I am not very familiar with OData myself, but some blog posts and references in the official convention documentation do seem to indicate that that is the case (haha).

I presume that simply removing the conversion to lowercase of server_address for all connection classes is not a great idea, and I am not sure whether building in an exception for a single connection class is that much better... but I thought it was worth noting and considering taking action.

Versions Details of your environment, including:

To Reproduce Attempt to update an OData connection's server_url on Tableau Server in a workbook or data source. Persisting the change might render the connection unusable in case the change in capitalization affects the fields and query parameters.

Results The OData connection returns no results or an error message.

TimothyVermeirenBiztory commented 1 month ago

Thank you so much for the quick resolution, @jorwoods!