@@ -116,6 +116,69 @@ def test_populate_image_with_options(server: TSC.Server) -> None:
116116 assert response == single_view .image
117117
118118
119+ def test_populate_image_svg_format (server : TSC .Server ) -> None :
120+ server .version = "3.29"
121+ response = b"<svg>test</svg>"
122+ with requests_mock .mock () as m :
123+ m .get (
124+ server .custom_views .baseurl + "/d79634e1-6063-4ec9-95ff-50acbf609ff5/image?format=SVG" ,
125+ content = response ,
126+ )
127+ single_view = TSC .CustomViewItem ()
128+ single_view ._id = "d79634e1-6063-4ec9-95ff-50acbf609ff5"
129+ req_option = TSC .ImageRequestOptions (format = TSC .ImageRequestOptions .Format .SVG )
130+ server .custom_views .populate_image (single_view , req_option )
131+ assert response == single_view .image
132+
133+
134+ def test_populate_image_png_format (server : TSC .Server ) -> None :
135+ server .version = "3.29"
136+ response = POPULATE_PREVIEW_IMAGE .read_bytes ()
137+ with requests_mock .mock () as m :
138+ m .get (
139+ server .custom_views .baseurl + "/d79634e1-6063-4ec9-95ff-50acbf609ff5/image?format=PNG" ,
140+ content = response ,
141+ )
142+ single_view = TSC .CustomViewItem ()
143+ single_view ._id = "d79634e1-6063-4ec9-95ff-50acbf609ff5"
144+ req_option = TSC .ImageRequestOptions (format = TSC .ImageRequestOptions .Format .PNG )
145+ server .custom_views .populate_image (single_view , req_option )
146+ assert response == single_view .image
147+
148+
149+ def test_populate_image_svg_format_lowercase_alias (server : TSC .Server ) -> None :
150+ server .version = "3.29"
151+ response = b"<svg>test</svg>"
152+ with requests_mock .mock () as m :
153+ m .get (
154+ server .custom_views .baseurl + "/d79634e1-6063-4ec9-95ff-50acbf609ff5/image?format=SVG" ,
155+ content = response ,
156+ )
157+ single_view = TSC .CustomViewItem ()
158+ single_view ._id = "d79634e1-6063-4ec9-95ff-50acbf609ff5"
159+ req_option = TSC .ImageRequestOptions (format = TSC .ImageRequestOptions .Format .svg )
160+ server .custom_views .populate_image (single_view , req_option )
161+ assert response == single_view .image
162+
163+
164+ def test_populate_image_format_unsupported_version (server : TSC .Server ) -> None :
165+ from tableauserverclient .server .endpoint .exceptions import UnsupportedAttributeError
166+
167+ server .version = "3.28"
168+ response = POPULATE_PREVIEW_IMAGE .read_bytes ()
169+ with requests_mock .mock () as m :
170+ m .get (
171+ server .custom_views .baseurl + "/d79634e1-6063-4ec9-95ff-50acbf609ff5/image?format=SVG" ,
172+ content = response ,
173+ )
174+ single_view = TSC .CustomViewItem ()
175+ single_view ._id = "d79634e1-6063-4ec9-95ff-50acbf609ff5"
176+ req_option = TSC .ImageRequestOptions (format = TSC .ImageRequestOptions .Format .SVG )
177+
178+ with pytest .raises (UnsupportedAttributeError ):
179+ server .custom_views .populate_image (single_view , req_option )
180+
181+
119182def test_populate_image_missing_id (server : TSC .Server ) -> None :
120183 single_view = TSC .CustomViewItem ()
121184 single_view ._id = None
0 commit comments