feat(rtos): 安装前补传PNG图标并等待成功回调

这个提交包含在:
sydxky 于 2026-11-14 18:07:35 +08:00 提交
1 父节点 c3649c626f
当前提交 17b51d98ae
18 个文件已更改
+579 -48

没有与搜索条件相匹配的文件

+20
查看文件
@@ -99,6 +99,26 @@ class ClientTests(unittest.TestCase):
with self.assertRaises(ValueError): self.client.upload(file)
self.assertEqual(self.server.requests, [])
def test_install_supplies_sibling_png_and_pkg_to_one_job(self):
self.server.job_result = {'state': 'success', 'result': {'code': 200}}
with tempfile.TemporaryDirectory() as tmp:
package = Path(tmp) / 'bundle.pkg'; package.write_bytes(b'CR-test')
(Path(tmp) / 'icon.png').write_bytes(b'\x89PNG\r\n\x1a\n' + b'fixture')
result = self.client.install(package)
posts = [json.loads(row[3]) for row in self.server.requests if row[0] == 'POST']
self.assertEqual(len(posts), 1)
self.assertEqual(posts[0]['command'], 'install')
self.assertIn('iconFile', posts[0])
self.assertNotEqual(posts[0]['file'], posts[0]['iconFile'])
self.assertEqual(result['state'], 'success')
def test_renamed_pgf_icon_is_rejected_before_network(self):
with tempfile.TemporaryDirectory() as tmp:
package = Path(tmp) / 'bundle.pkg'; package.write_bytes(b'CR-test')
(Path(tmp) / 'icon.png').write_bytes(b'PGF\x00renamed')
with self.assertRaises(ValueError): self.client.install(package)
self.assertEqual(self.server.requests, [])
def test_wait_link_allows_health_to_reconnect(self):
offline = {'state': 'success', 'result': {'connected': False}}
online = {'state': 'success', 'result': {'connected': True}}