       value "this is the value!"]
   (fact "the value received during GET is the same
         as the object that was PUT"
-        (with-random-client c
+        (with-random-cred c
           (do (s3/create-bucket c bucket-name)
-            (s3/put-object c bucket-name object-name
-                           value)
-            ((comp slurp :content) (s3/get-object c bucket-name object-name))))
+              (s3/put-object c bucket-name object-name
+                             value)
+              ((comp slurp :content) (s3/get-object c bucket-name object-name))))
         => value))
 
 (let [bucket-name (random-string)

  (fact "check that the etag of the response
        is the same as the md5 of the original
        object"
        (with-random-client c
          (do (s3/create-bucket c bucket-name)
            (s3/put-object c bucket-name object-name
                           value)

      object-name (random-string)
      value (str "aaaaaaaaaa" "bbbbbbbbbb")
      file-name "./clj-mp-test.txt"]
  (fact "multipart upload works"
        (with-random-cred c
          (do
            (s3/create-bucket c bucket-name)
            (write-file file-name value)
            (upload-file c bucket-name object-name file-name 10)
            (let [fetched-object (s3/get-object
                                  c bucket-name object-name)]
              [((comp slurp :content) fetched-object)
               ((comp etag-suffix :etag :metadata) fetched-object)])))
        => [value, "-2"]))

(let [bucket-name (random-string)
