diff --git a/lib/ex_aws/s3/parsers.ex b/lib/ex_aws/s3/parsers.ex
index bfa6e65..54ca874 100644
--- a/lib/ex_aws/s3/parsers.ex
+++ b/lib/ex_aws/s3/parsers.ex
@@ -105,6 +105,8 @@ if Code.ensure_loaded?(SweetXml) do
{:ok, %{resp | body: parsed_body}}
end
+ def parse_complete_multipart_upload(val), do: val
+
def parse_list_multipart_uploads({:ok, %{body: xml} = resp}) do
parsed_body =
SweetXml.xpath(xml, ~x"//ListMultipartUploadsResult",
diff --git a/test/lib/s3/parser_test.exs b/test/lib/s3/parser_test.exs
index 5c519a8..692f8bb 100644
--- a/test/lib/s3/parser_test.exs
+++ b/test/lib/s3/parser_test.exs
@@ -334,28 +334,36 @@ defmodule ExAws.S3.ParserTest do
end
end
- test "#parse_complete_multipart_upload parses CompleteMultipartUploadResult" do
- complete_multipart_upload_response = """
-
- https://s3-eu-west-1.amazonaws.com/my-bucket/tmp-copy3.mp4
- my-bucket
- tmp-copy3.mp4
- "17fbc0a106abbb6f381aac6e331f2a19-1"
-
- """
-
- result =
- ExAws.S3.Parsers.parse_complete_multipart_upload(
- {:ok, %{body: complete_multipart_upload_response}}
- )
+ describe "#parse_complete_multipart_upload" do
+ test "parses CompleteMultipartUploadResult" do
+ complete_multipart_upload_response = """
+
+ https://s3-eu-west-1.amazonaws.com/my-bucket/tmp-copy3.mp4
+ my-bucket
+ tmp-copy3.mp4
+ "17fbc0a106abbb6f381aac6e331f2a19-1"
+
+ """
- {:ok, %{body: body}} = result
+ result =
+ ExAws.S3.Parsers.parse_complete_multipart_upload(
+ {:ok, %{body: complete_multipart_upload_response}}
+ )
+
+ {:ok, %{body: body}} = result
+
+ assert body == %{
+ location: "https://s3-eu-west-1.amazonaws.com/my-bucket/tmp-copy3.mp4",
+ bucket: "my-bucket",
+ key: "tmp-copy3.mp4",
+ etag: "\"17fbc0a106abbb6f381aac6e331f2a19-1\""
+ }
+ end
- assert body == %{
- location: "https://s3-eu-west-1.amazonaws.com/my-bucket/tmp-copy3.mp4",
- bucket: "my-bucket",
- key: "tmp-copy3.mp4",
- etag: "\"17fbc0a106abbb6f381aac6e331f2a19-1\""
- }
+ test "handles errors by passing them through" do
+ error = {:error, "error"}
+ result = ExAws.S3.Parsers.parse_complete_multipart_upload(error)
+ assert result == error
+ end
end
end