// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.storage.blob.perf.core;

import com.azure.storage.blob.perf.BlobPerfStressOptions;
import reactor.core.publisher.Mono;

import java.util.UUID;

import static com.azure.perf.test.core.TestDataCreationHelper.createRandomByteBufferFlux;

public abstract class AbstractUploadTest<TOptions extends BlobPerfStressOptions> extends BlobTestBase<TOptions> {

    public AbstractUploadTest(TOptions options) {
        super(options, BLOB_NAME_PREFIX + UUID.randomUUID());
    }

    @Override
    public Mono<Void> setupAsync() {
        // Upload one blob per test
        return super.setupAsync()
            .then(blobAsyncClient.upload(createRandomByteBufferFlux(options.getSize()), null))
            .then();
    }
}

@@ -195,157 +195,30 @@
 ns;%0A
-import reactor.core.publisher.Mono;%0A%0Aimport java.util.UUID;%0A%0Aimport static com.azure.perf.test.core.TestDataCreationHelper.createRandomByteBufferFlux
+%0Aimport java.util.UUID
 ;%0A%0Ap
@@ -339,357 +339,234 @@
     
-public AbstractU
+/**%0A     * This ctor makes sure that each u
 pload
-Test(TOptions options) %7B%0A        super(options, BLOB_NAME_PREFIX + UUID.randomUUID());%0A    %7D%0A%0A    @Override%0A    public Mono%3CVoid%3E setupAsync() %7B%0A        // Upload one blob per test%0A        return super.setupAsync()%0A            .then(blobAsyncClient.upload(createRandomByteBufferFlux(options.getSize()), null))%0A            .then(
+ tests targets different blob.%0A     * @param options options%0A     */%0A    public AbstractUploadTest(TOptions options) %7B%0A        super(options, BLOB_NAME_PREFIX + UUID.randomUUID()
 );%0A 

fix stress tests. (#29845)