def test_is_ready_returns_false_when_firmware_api_returns_true( self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) self.mock_firmware_updater.check_ready.return_value = True fwapi = FirmwareAPI() self.assertTrue(fwapi.is_ready())
def test_is_firmware_valid_raises_exception_if_multipule_firmware_files_present(self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) mock_glob.return_value = ['peachyprinter-firmware-1.0.0.bin', 'peachyprinter-firmware-1.0.1.bin'] with self.assertRaises(Exception) as context: fwapi = FirmwareAPI() fwapi.is_firmware_valid('1.0.0') self.assertEquals("Unexpected firmware files", context.exception.message)
def test_make_ready_should_create_a_communicator_and_send_the_correct_message(self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): mock_firmware_update = mock_FirmwareUpdate.return_value self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) fwapi = FirmwareAPI() fwapi.make_ready() mock_firmware_update.prepare.assert_called_with() mock_FirmwareUpdate.assert_called_with(self.expected_firmware_file, self.mock_firmware_updater)
def test_is_firmware_valid_raises_exception_if_no_firmware_file_present(self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) mock_glob.return_value = [] with self.assertRaises(Exception) as context: fwapi = FirmwareAPI() fwapi.is_firmware_valid('1.0.0') self.assertEquals("Package missing required firmware", context.exception.message)
def test_is_firmware_valid_returns_true_if_file_matches_version(self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) mock_glob.return_value = ['peachyprinter-firmware-1.0.0.bin'] expected_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'src', 'peachyprinter', 'dependancies', 'firmware')) fwapi = FirmwareAPI() result = fwapi.is_firmware_valid('1.0.0') mock_glob.assert_called_with(os.path.join(expected_path, "peachyprinter-firmware-*.bin")) self.assertTrue(result)
def test_firmware_update_should_create_and_run_firmware_update(self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): mock_firmware_update = mock_FirmwareUpdate.return_value self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) expected_call_back = "Boop" fwapi = FirmwareAPI() fwapi.update_firmware(expected_call_back) mock_FirmwareUpdate.assert_called_with(self.expected_firmware_file, self.mock_firmware_updater) mock_firmware_update.start.assert_called_with(expected_call_back)
def test_firmware_update_should_raise_exception_if_not_ready(self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) self.mock_firmware_updater.check_ready.return_value = False fwapi = FirmwareAPI() with self.assertRaises(Exception) as context: fwapi.update_firmware() self.assertEquals("Peachy Printer not ready for update", context.exception.message)
def test_is_firmware_valid_raises_exception_if_no_firmware_file_present( self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) mock_glob.return_value = [] with self.assertRaises(Exception) as context: fwapi = FirmwareAPI() fwapi.is_firmware_valid('1.0.0') self.assertEquals("Package missing required firmware", context.exception.message)
def test_make_ready_should_create_a_communicator_and_send_the_correct_message( self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): mock_firmware_update = mock_FirmwareUpdate.return_value self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) fwapi = FirmwareAPI() fwapi.make_ready() mock_firmware_update.prepare.assert_called_with() mock_FirmwareUpdate.assert_called_with(self.expected_firmware_file, self.mock_firmware_updater)
def test_firmware_update_should_create_and_run_firmware_update( self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): mock_firmware_update = mock_FirmwareUpdate.return_value self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) expected_call_back = "Boop" fwapi = FirmwareAPI() fwapi.update_firmware(expected_call_back) mock_FirmwareUpdate.assert_called_with(self.expected_firmware_file, self.mock_firmware_updater) mock_firmware_update.start.assert_called_with(expected_call_back)
def test_firmware_update_should_raise_exception_if_not_ready( self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) self.mock_firmware_updater.check_ready.return_value = False fwapi = FirmwareAPI() with self.assertRaises(Exception) as context: fwapi.update_firmware() self.assertEquals("Peachy Printer not ready for update", context.exception.message)
def test_is_firmware_valid_raises_exception_if_multipule_firmware_files_present( self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) mock_glob.return_value = [ 'peachyprinter-firmware-1.0.0.bin', 'peachyprinter-firmware-1.0.1.bin' ] with self.assertRaises(Exception) as context: fwapi = FirmwareAPI() fwapi.is_firmware_valid('1.0.0') self.assertEquals("Unexpected firmware files", context.exception.message)
def test_is_firmware_valid_returns_true_if_file_matches_version( self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) mock_glob.return_value = ['peachyprinter-firmware-1.0.0.bin'] expected_path = os.path.abspath( os.path.join(os.path.dirname(__file__), '..', '..', '..', 'src', 'peachyprinter', 'dependancies', 'firmware')) fwapi = FirmwareAPI() result = fwapi.is_firmware_valid('1.0.0') mock_glob.assert_called_with( os.path.join(expected_path, "peachyprinter-firmware-*.bin")) self.assertTrue(result)
def test_required_version_gets_version_from_bin( self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): expected_verison = "1.8.2" self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob, firmware_version=expected_verison) fwapi = FirmwareAPI() self.assertEquals(expected_verison, fwapi.required_version)
def test_is_ready_returns_false_when_firmware_api_returns_false(self, mock_sys, mock_glob, mock_firmware_manager_factory, mock_FirmwareUpdate): self._setup_mock(mock_sys, mock_firmware_manager_factory, mock_glob) self.mock_firmware_updater.check_ready.return_value = False fwapi = FirmwareAPI() self.assertFalse(fwapi.is_ready())
def get_firmware_api(self): if not self._firmware_api: self._firmware_api = FirmwareAPI() return self._firmware_api