Ejemplo n.º 1
0
    def test_jumbo_fields_with_directory_strip_trailing_slash(self):
        self.setup_jumbo_fields("jumbo-bucket/with/subdir/")
        message = 'A' * 64000
        encoded = format.result(message)

        assert not encoded.startswith(
            "simpleflow+s3://jumbo-bucket/with/subdir//")
Ejemplo n.º 2
0
    def complete(self, result=None):
        """Complete workflow execution decision builder

        :param  result: The result of the workflow execution
        :type   result: Optional[Any]
        """
        self.update_attributes(
            {"result": format.result(result),}
        )
Ejemplo n.º 3
0
    def test_jumbo_fields_encoding_with_directory(self):
        self.setup_jumbo_fields("jumbo-bucket/with/subdir")
        message = 'A' * 64000
        encoded = format.result(message)
        # => simpleflow+s3://jumbo-bucket/with/subdir/f6ea95a<...>ea3 64002

        assert encoded.startswith("simpleflow+s3://jumbo-bucket/with/subdir/")
        self.assertEqual(encoded.split()[1], "64002")

        key = encoded.split()[0].replace("simpleflow+s3://jumbo-bucket/", "")
        self.assertEqual(
            self.conn.get_bucket("jumbo-bucket").get_key(key).get_contents_as_string(encoding='utf-8'),
            json.dumps(message),
        )
Ejemplo n.º 4
0
    def test_jumbo_fields_encoding_with_directory(self):
        self.setup_jumbo_fields("jumbo-bucket/with/subdir")
        message = 'A' * 64000
        encoded = format.result(message)
        # => simpleflow+s3://jumbo-bucket/with/subdir/f6ea95a<...>ea3 64002

        assert encoded.startswith("simpleflow+s3://jumbo-bucket/with/subdir/")
        self.assertEqual(encoded.split()[1], "64002")

        key = encoded.split()[0].replace("simpleflow+s3://jumbo-bucket/", "")
        self.assertEqual(
            self.conn.get_bucket("jumbo-bucket").get_key(key).get_contents_as_string(encoding='utf-8'),
            json.dumps(message),
        )
Ejemplo n.º 5
0
    def complete(self, task_token, result=None):
        """Responds to ``swf`` that the activity task is completed

        :param  task_token: completed activity task token
        :type   task_token: string

        :param  result: The result of the activity task.
        :type   result: string
        """
        try:
            return self.connection.respond_activity_task_completed(
                task_token, format.result(result),
            )
        except boto.exception.SWFResponseError as e:
            message = self.get_error_message(e)
            if e.error_code == "UnknownResourceFault":
                raise DoesNotExistError(
                    "Unable to complete activity task with token={}".format(task_token),
                    message,
                )

            raise ResponseError(message)
Ejemplo n.º 6
0
    def complete(self, task_token, result=None):
        """Responds to ``swf`` that the activity task is completed

        :param  task_token: completed activity task token
        :type   task_token: string

        :param  result: The result of the activity task.
        :type   result: string
        """
        try:
            return self.connection.respond_activity_task_completed(
                task_token,
                format.result(result),
            )
        except boto.exception.SWFResponseError as e:
            message = self.get_error_message(e)
            if e.error_code == 'UnknownResourceFault':
                raise DoesNotExistError(
                    "Unable to complete activity task with token={}".format(task_token),
                    message,
                )

            raise ResponseError(message)
Ejemplo n.º 7
0
    def test_jumbo_fields_with_directory_strip_trailing_slash(self):
        self.setup_jumbo_fields("jumbo-bucket/with/subdir/")
        message = 'A' * 64000
        encoded = format.result(message)

        assert not encoded.startswith("simpleflow+s3://jumbo-bucket/with/subdir//")