def test_install_or_update_local(self): """Test calling install_or_update with a local skill""" skill = self._build_mock_msm_skill_list() updater = SkillUpdater(self.message_bus_mock) updater.install_or_update(skill) self.assertIn('foobar', updater.installed_skills) skill.update.assert_called_once_with() skill.update_deps.assert_called_once_with() self.msm_mock.install.assert_not_called()
def test_install_or_update_beta(self): """Test calling install_or_update with a beta skill.""" self.msm_mock.device_skill_state['skills'][0]['beta'] = True skill = self._build_mock_msm_skill_list() skill.is_local = False updater = SkillUpdater(self.message_bus_mock) updater.install_or_update(skill) self.assertIn('foobar', updater.installed_skills) self.assertIsNone(skill.sha)
def test_install_or_update_default(self): """Test calling install_or_update with a default skill""" skill = self._build_mock_msm_skill_list() skill.name = 'test_skill' skill.is_local = False updater = SkillUpdater(self.message_bus_mock) updater.install_or_update(skill) self.assertIn('test_skill', updater.installed_skills) self.assertTrue(not skill.update.called) self.msm_mock.install.assert_called_once_with(skill, origin='default')
def test_install_or_update_default_fail(self): """Test calling install_or_update with a failed install result""" skill = self._build_mock_msm_skill_list() skill.name = 'test_skill' skill.is_local = False self.msm_mock.install.side_effect = ValueError updater = SkillUpdater(self.message_bus_mock) with self.assertRaises(ValueError): updater.install_or_update(skill) self.assertNotIn('test_skill', updater.installed_skills) self.assertTrue(not skill.update.called) self.msm_mock.install.assert_called_once_with(skill, origin='default') self.assertTrue(updater.default_skill_install_error)