@@ -17,7 +17,8 @@ async def downloaded_plugin_repository(
1717) -> HacsPluginRepository :
1818 """Return a HacsPluginRepository instance."""
1919 hacs = get_hacs (hass )
20- repository = hacs .repositories .get_by_full_name ("hacs-test-org/plugin-basic" )
20+ repository = hacs .repositories .get_by_full_name (
21+ "hacs-test-org/plugin-basic" )
2122 await repository .async_install (version = "1.0.0" )
2223 return repository
2324
@@ -182,7 +183,8 @@ async def test_remove_dashboard_resource(
182183 resource_handler = downloaded_plugin_repository ._get_resource_handler ()
183184 await resource_handler .async_load ()
184185
185- current_urls = [resource ["url" ] for resource in resource_handler .async_items ()]
186+ current_urls = [resource ["url" ]
187+ for resource in resource_handler .async_items ()]
186188 assert len (current_urls ) == 1
187189 assert downloaded_plugin_repository .generate_dashboard_resource_url () in current_urls
188190
@@ -192,7 +194,8 @@ async def test_remove_dashboard_resource(
192194 in caplog .text
193195 )
194196
195- current_urls = [resource ["url" ] for resource in resource_handler .async_items ()]
197+ current_urls = [resource ["url" ]
198+ for resource in resource_handler .async_items ()]
196199 assert len (current_urls ) == 0
197200
198201
@@ -205,7 +208,8 @@ async def test_add_dashboard_resource(
205208 resource_handler = downloaded_plugin_repository ._get_resource_handler ()
206209 resource_handler .data .clear ()
207210
208- current_urls = [resource ["url" ] for resource in resource_handler .async_items ()]
211+ current_urls = [resource ["url" ]
212+ for resource in resource_handler .async_items ()]
209213 assert len (current_urls ) == 0
210214
211215 await downloaded_plugin_repository .update_dashboard_resources ()
@@ -223,7 +227,8 @@ async def test_update_dashboard_resource(
223227 """Test adding a dashboard resource."""
224228 resource_handler = downloaded_plugin_repository ._get_resource_handler ()
225229 await resource_handler .async_load ()
226- current_urls = [resource ["url" ] for resource in resource_handler .async_items ()]
230+ current_urls = [resource ["url" ]
231+ for resource in resource_handler .async_items ()]
227232 assert len (current_urls ) == 1
228233
229234 prev_url = downloaded_plugin_repository .generate_dashboard_resource_url ()
@@ -242,6 +247,30 @@ async def test_update_dashboard_resource(
242247 after_url = downloaded_plugin_repository .generate_dashboard_resource_url ()
243248 assert after_url != prev_url
244249
245- current_urls = [resource ["url" ] for resource in resource_handler .async_items ()]
250+ current_urls = [resource ["url" ]
251+ for resource in resource_handler .async_items ()]
246252 assert len (current_urls ) == 1
247253 assert current_urls [0 ] == after_url
254+
255+
256+ async def test_add_dashboard_resource_with_invalid_file_name (
257+ hass : HomeAssistant ,
258+ downloaded_plugin_repository : HacsPluginRepository ,
259+ caplog : pytest .LogCaptureFixture ,
260+ ) -> None :
261+ """Test adding a dashboard resource."""
262+ resource_handler = downloaded_plugin_repository ._get_resource_handler ()
263+ resource_handler .data .clear ()
264+
265+ current_urls = [resource ["url" ]
266+ for resource in resource_handler .async_items ()]
267+ assert len (current_urls ) == 0
268+
269+ downloaded_plugin_repository .data .file_name = "dist/plugin-basic.js"
270+
271+ await downloaded_plugin_repository .update_dashboard_resources ()
272+ assert "<Plugin hacs-test-org/plugin-basic> have defined an invalid file name dist/plugin-basic.js" in caplog .text
273+ assert (
274+ "Adding dashboard resource /hacsfiles/plugin-basic/plugin-basic.js?hacstag=1296267100"
275+ in caplog .text
276+ )
0 commit comments