             ("testListObjects", testListObjects),
             ("testGetObject", testGetObject),
             ("testMultiPartDownload", testMultiPartDownload),
-            ("testMultiPartUpload", testMultiPartUpload)
+            ("testMultiPartUpload", testMultiPartUpload),
+            ("testGetBucketLocation", testGetBucketLocation),
+            ("testLifecycleRule", testLifecycleRule),
+            ("testMetaData", testMetaData),
         ]
     }
 }

            XCTAssertEqual(output.contents?.first?.key, testData.key)
            XCTAssertEqual(output.contents?.first?.size, Int64(testData.bodyData.count))
            XCTAssertEqual(output.contents?.first?.eTag, putResult.eTag)
            
            try tearDown(testData)
        }

        }
    }

    /// test uploaded objects are returned in ListObjects
    func testListObjects() {
        attempt {
            let testData = TestData(#function)
