anchor.diff:          _ ->
               mochiweb_http:range_skip_length(Spec, Size)
       end.
  +
  +multipart_upload(Bucket, Key, Sizes, Config) ->
  +    InitRes = erlcloud_s3_multipart:initiate_upload(
  +                Bucket, Key, "text/plain", [], Config),
  +    UploadId = erlcloud_xml:get_text(
  +                 "/InitiateMultipartUploadResult/UploadId", InitRes),
  +    Content = upload_parts(Bucket, Key, UploadId, Config, 1, Sizes, [], []),
  +    basic_get_test_case(Bucket, Key, Content, Config),
  +    Content.
  +
  +upload_parts(Bucket, Key, UploadId, Config, _PartCount, [], Contents, Parts) ->
  +    ?assertEqual(ok, erlcloud_s3_multipart:complete_upload(
  +                       Bucket, Key, UploadId, lists:reverse(Parts), Config)),
  +    iolist_to_binary(lists:reverse(Contents));
  +upload_parts(Bucket, Key, UploadId, Config, PartCount, [Size | Sizes], Contents, Parts) ->
  +    Content = crypto:rand_bytes(Size),
  +    {RespHeaders, _UploadRes} = erlcloud_s3_multipart:upload_part(
  +                                  Bucket, Key, UploadId, PartCount, Content, Config),
  +    PartEtag = proplists:get_value("etag", RespHeaders),
  +    lager:debug("UploadId: ~p~n", [UploadId]),
  +    lager:debug("PartEtag: ~p~n", [PartEtag]),
  +    upload_parts(Bucket, Key, UploadId, Config, PartCount + 1,
  +                 Sizes, [Content | Contents], [{PartCount, PartEtag} | Parts]).
  
positive.code:                         {100, mb(3)}, UserConfig),
      range_get_test_case(?TEST_BUCKET, ?KEY_MULTIPLE_BLOCK, MultipleBlock,
                          {0, none}, UserConfig),
      pass.
  
  mb(MegaBytes) ->
      MegaBytes * 1024 * 1024.
  
negative.code:     ?assertMatch([{buckets, [[{name, ?TEST_BUCKET}, _]]}],
                   erlcloud_s3:list_buckets(UserConfig)),
  
      non_mp_get_cases(UserConfig),
      mp_get_cases(UserConfig),
      pass.
  
  non_mp_get_cases(UserConfig) ->
      %% setup objects
      SingleBlock = crypto:rand_bytes(400),
      erlcloud_s3:put_object(?TEST_BUCKET, ?KEY_SINGLE_BLOCK, SingleBlock, UserConfig),
  