// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) TypeSpec Code Generator.

package azure.clientgenerator.core.clientinitialization.individuallyparentclient.generated;

// The Java test files under 'generated' package are generated for your reference.
// If you wish to modify these files, please copy them out of the 'generated' package, and modify there.
// See https://aka.ms/azsdk/dpg/java/tests for guide on adding a test.

import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentClient;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentClientBuilder;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithHeaderClient;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithHeaderClientBuilder;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithMixedClient;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithMixedClientBuilder;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithMultipleClient;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithMultipleClientBuilder;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithParamAliasClient;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithParamAliasClientBuilder;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithPathClient;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithPathClientBuilder;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithQueryClient;
import azure.clientgenerator.core.clientinitialization.individuallyparentclient.IndividuallyParentNestedWithQueryClientBuilder;
import com.azure.core.http.policy.HttpLogDetailLevel;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.test.TestMode;
import com.azure.core.test.TestProxyTestBase;
import com.azure.core.util.Configuration;

class IndividuallyParentNestedWithPathClientTestBase extends TestProxyTestBase {
    protected IndividuallyParentNestedWithPathClient individuallyParentNestedWithPathClient;

    protected IndividuallyParentNestedWithQueryClient individuallyParentNestedWithQueryClient;

    protected IndividuallyParentNestedWithHeaderClient individuallyParentNestedWithHeaderClient;

    protected IndividuallyParentNestedWithMultipleClient individuallyParentNestedWithMultipleClient;

    protected IndividuallyParentNestedWithMixedClient individuallyParentNestedWithMixedClient;

    protected IndividuallyParentNestedWithParamAliasClient individuallyParentNestedWithParamAliasClient;

    protected IndividuallyParentClient individuallyParentClient;

    @Override
    protected void beforeTest() {
        IndividuallyParentNestedWithPathClientBuilder individuallyParentNestedWithPathClientbuilder
            = new IndividuallyParentNestedWithPathClientBuilder()
                .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "http://localhost:3000"))
                .blobName(Configuration.getGlobalConfiguration().get("BLOBNAME", "blobname"))
                .httpClient(getHttpClientOrUsePlayback(getHttpClients().findFirst().orElse(null)))
                .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
        if (getTestMode() == TestMode.RECORD) {
            individuallyParentNestedWithPathClientbuilder.addPolicy(interceptorManager.getRecordPolicy());
        }
        individuallyParentNestedWithPathClient = individuallyParentNestedWithPathClientbuilder.buildClient();

        IndividuallyParentNestedWithQueryClientBuilder individuallyParentNestedWithQueryClientbuilder
            = new IndividuallyParentNestedWithQueryClientBuilder()
                .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "http://localhost:3000"))
                .blobName(Configuration.getGlobalConfiguration().get("BLOBNAME", "blobname"))
                .httpClient(getHttpClientOrUsePlayback(getHttpClients().findFirst().orElse(null)))
                .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
        if (getTestMode() == TestMode.RECORD) {
            individuallyParentNestedWithQueryClientbuilder.addPolicy(interceptorManager.getRecordPolicy());
        }
        individuallyParentNestedWithQueryClient = individuallyParentNestedWithQueryClientbuilder.buildClient();

        IndividuallyParentNestedWithHeaderClientBuilder individuallyParentNestedWithHeaderClientbuilder
            = new IndividuallyParentNestedWithHeaderClientBuilder()
                .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "http://localhost:3000"))
                .name(Configuration.getGlobalConfiguration().get("NAME", "name"))
                .httpClient(getHttpClientOrUsePlayback(getHttpClients().findFirst().orElse(null)))
                .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
        if (getTestMode() == TestMode.RECORD) {
            individuallyParentNestedWithHeaderClientbuilder.addPolicy(interceptorManager.getRecordPolicy());
        }
        individuallyParentNestedWithHeaderClient = individuallyParentNestedWithHeaderClientbuilder.buildClient();

        IndividuallyParentNestedWithMultipleClientBuilder individuallyParentNestedWithMultipleClientbuilder
            = new IndividuallyParentNestedWithMultipleClientBuilder()
                .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "http://localhost:3000"))
                .name(Configuration.getGlobalConfiguration().get("NAME", "name"))
                .region(Configuration.getGlobalConfiguration().get("REGION", "region"))
                .httpClient(getHttpClientOrUsePlayback(getHttpClients().findFirst().orElse(null)))
                .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
        if (getTestMode() == TestMode.RECORD) {
            individuallyParentNestedWithMultipleClientbuilder.addPolicy(interceptorManager.getRecordPolicy());
        }
        individuallyParentNestedWithMultipleClient = individuallyParentNestedWithMultipleClientbuilder.buildClient();

        IndividuallyParentNestedWithMixedClientBuilder individuallyParentNestedWithMixedClientbuilder
            = new IndividuallyParentNestedWithMixedClientBuilder()
                .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "http://localhost:3000"))
                .name(Configuration.getGlobalConfiguration().get("NAME", "name"))
                .httpClient(getHttpClientOrUsePlayback(getHttpClients().findFirst().orElse(null)))
                .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
        if (getTestMode() == TestMode.RECORD) {
            individuallyParentNestedWithMixedClientbuilder.addPolicy(interceptorManager.getRecordPolicy());
        }
        individuallyParentNestedWithMixedClient = individuallyParentNestedWithMixedClientbuilder.buildClient();

        IndividuallyParentNestedWithParamAliasClientBuilder individuallyParentNestedWithParamAliasClientbuilder
            = new IndividuallyParentNestedWithParamAliasClientBuilder()
                .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "http://localhost:3000"))
                .blobName(Configuration.getGlobalConfiguration().get("BLOBNAME", "blobname"))
                .httpClient(getHttpClientOrUsePlayback(getHttpClients().findFirst().orElse(null)))
                .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
        if (getTestMode() == TestMode.RECORD) {
            individuallyParentNestedWithParamAliasClientbuilder.addPolicy(interceptorManager.getRecordPolicy());
        }
        individuallyParentNestedWithParamAliasClient
            = individuallyParentNestedWithParamAliasClientbuilder.buildClient();

        IndividuallyParentClientBuilder individuallyParentClientbuilder = new IndividuallyParentClientBuilder()
            .endpoint(Configuration.getGlobalConfiguration().get("ENDPOINT", "http://localhost:3000"))
            .httpClient(getHttpClientOrUsePlayback(getHttpClients().findFirst().orElse(null)))
            .httpLogOptions(new HttpLogOptions().setLogLevel(HttpLogDetailLevel.BASIC));
        if (getTestMode() == TestMode.RECORD) {
            individuallyParentClientbuilder.addPolicy(interceptorManager.getRecordPolicy());
        }
        individuallyParentClient = individuallyParentClientbuilder.buildClient();

    }
}
