Ejemplo n.º 1
0
    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, ))
Ejemplo n.º 2
0
    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, ))
Ejemplo n.º 3
0
 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
         )