anchor.diff:                   [proplists:get_value(key, O) ||
                        O <- proplists:get_value(contents, ObjList2)]),
   
  +    %% Get the object: it better be what we expect
  +    ExpectedObj = list_to_binary([generate_part_data(X, ?GOOD_PART_SIZE) ||
  +                                     X <- lists:seq(1, ?PART_COUNT)]),
  +    GetRes = erlcloud_s3:get_object(Bucket, Key, Config),
  +    ?assertEqual(ExpectedObj, proplists:get_value(content, GetRes)),
  +
       %% Delete uploaded object
       erlcloud_s3:delete_object(Bucket, Key, Config),
   
       %% List bucket contents and verify empty
       ObjList3 = erlcloud_s3:list_objects(Bucket, Config),
       ?assertEqual([], proplists:get_value(contents, ObjList3)).
  +
  +parts_too_small_test_case(Bucket, Key, Config) ->
  +    %% Initiate a multipart upload
  +    lager:info("Initiating multipart upload (bad)"),
  +    InitUploadRes = erlcloud_s3_multipart:initiate_upload(Bucket, Key, [], [], Config),
  +    UploadId = erlcloud_s3_multipart:upload_id(InitUploadRes),
  +
  +    lager:info("Uploading parts (bad)"),
  +    EtagList = upload_and_assert_parts(Bucket,
  +                                       Key,
  +                                       UploadId,
  +                                       ?PART_COUNT,
  +                                       ?BAD_PART_SIZE,
  +                                       Config),
  +
  +    %% Complete upload
  +    lager:info("Completing multipart upload (bad)"),
  +
  +    {'EXIT', {{aws_error, {http_error, 400, _, Body}}, _Backtrace}} =
  +        (catch erlcloud_s3_multipart:complete_upload(Bucket,
  +                                                     Key,
  +                                                     UploadId,
  +                                                     EtagList,
  +                                                     Config)),
  +    ?assertMatch({match, _},
  +                 re:run(Body, "EntityTooSmall", [multiline])),
  +
  +    Abort = fun() -> erlcloud_s3_multipart:abort_upload(Bucket,
  +                                                        Key,
  +                                                        UploadId,
  +                                                        Config)
  +            end,
  +    ?assertEqual(ok, Abort()),
  +    ?assertError({aws_error, {http_error, 404, _, _}}, Abort()),
  +    ok.
   
   initiate_uploads(Bucket, Count, Config) ->
       initiate_uploads(Bucket, Count, [], Config).
  
positive.code:                                        Key,
                                         UploadId,
                                         ?PART_COUNT,
                                         Config),
  
      %% List bucket contents and verify empty
  
negative.code: 
      %% Complete upload
      lager:info("Completing multipart upload"),
  
      ?assertEqual(ok, erlcloud_s3_multipart:complete_upload(Bucket,
                                                             Key,
                                                             UploadId,
  