def test_that_if_stored_messages_are_compatible_with_protocol_version_function_should_return_true( self): subtask = Subtask( task_id=self.task_to_compute.compute_task_def['task_id'], subtask_id=self.task_to_compute.compute_task_def['subtask_id'], provider=self.provider, requestor=self.requestor, result_package_size=self.size, state=Subtask.SubtaskState.REPORTED.name, # pylint: disable=no-member next_deadline=None, computation_deadline=parse_timestamp_to_utc_datetime( self.compute_task_def['deadline']), task_to_compute=store_message(self.task_to_compute, self.task_id, self.subtask_id), want_to_compute_task=store_message( self.task_to_compute.want_to_compute_task, self.task_id, self.subtask_id), report_computed_task=store_message(self.report_computed_task, self.task_id, self.subtask_id), ) subtask.full_clean() subtask.save() self.assertTrue( is_protocol_version_compatible( subtask.task_to_compute.protocol_version, ))
def test_that_if_stored_messages_have_incompatible_protocol_version_function_should_return_false( self): with override_settings( GOLEM_MESSAGES_VERSION='1.11.1', MAJOR_MINOR_GOLEM_MESSAGES_VERSION='1.11', ): subtask = Subtask( task_id=self.task_to_compute.compute_task_def['task_id'], subtask_id=self.task_to_compute.compute_task_def['subtask_id'], provider=self.provider, requestor=self.requestor, result_package_size=self.size, state=Subtask.SubtaskState.REPORTED.name, # pylint: disable=no-member next_deadline=None, computation_deadline=parse_timestamp_to_utc_datetime( self.compute_task_def['deadline']), task_to_compute=store_message(self.task_to_compute, self.task_id, self.subtask_id), want_to_compute_task=store_message( self.task_to_compute.want_to_compute_task, self.task_id, self.subtask_id), report_computed_task=store_message(self.report_computed_task, self.task_id, self.subtask_id), protocol_version=settings.MAJOR_MINOR_GOLEM_MESSAGES_VERSION, ) subtask.full_clean() subtask.save() self.assertFalse( is_protocol_version_compatible( subtask.task_to_compute.protocol_version, ))
def store_message_with_custom_protocol_version( self, golem_message: message.base.Message, task_id: str, subtask_id: str, ): with override_settings(GOLEM_MESSAGES_VERSION=self.first_communication_protocol_version): return store_message( golem_message=golem_message, task_id=task_id, subtask_id=subtask_id )