def METHOD_NAME(self):
    # TODO: fix this patch when we have a better way to stub out responses
    with mock.patch('botocore.endpoint.Endpoint._send') as \
            http_session_send_patch:
        # Mock for HeadBucket request
        head_bucket_response = mock.Mock()
        head_bucket_response.status_code = 404
        head_bucket_response.content = b''
        head_bucket_response.headers = {}
        # Mock for CreateBucket request
        create_bucket_response = mock.Mock()
        create_bucket_response.status_code = 200
        create_bucket_response.content = b''
        create_bucket_response.headers = {}
        http_session_send_patch.side_effect = [
            head_bucket_response, create_bucket_response
        ]
        s3_client = self.driver.session.create_client('s3')
        bucket_helper = S3BucketHelper(s3_client)
        bucket_helper.prepare_bucket('mybucket')
        send_call_list = http_session_send_patch.call_args_list
        self.assertEqual(send_call_list[0][0][0].method, 'HEAD')
        # Since the HeadObject fails with 404, the CreateBucket which is
        # is a PUT request should be made.
        self.assertEqual(send_call_list[1][0][0].method, 'PUT')