/*
 * Cloudera Manager API
 * <h1>Cloudera Manager API v50</h1>       <p>Introduced in Cloudera Manager 7.8.1</p>       <p><a href=\"http://www.cloudera.com/documentation.html\">Cloudera Product Documentation</a></p>
 *
 * OpenAPI spec version: 7.8.1
 * 
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */


package com.cloudera.api.swagger;

import com.cloudera.api.swagger.client.ApiException;
import com.cloudera.api.swagger.model.ApiCluster;
import com.cloudera.api.swagger.model.ApiCommand;
import com.cloudera.api.swagger.model.ApiControlPlane;
import com.cloudera.api.swagger.model.ApiControlPlaneList;
import com.cloudera.api.swagger.model.ApiCopyImagesInFeaturesArgs;
import com.cloudera.api.swagger.model.ApiEntityTag;
import com.cloudera.api.swagger.model.ApiGenerateCopyDockerArgs;
import com.cloudera.api.swagger.model.ApiGenerateExternalVaultSetupArgs;
import com.cloudera.api.swagger.model.ApiInstallControlPlaneArgs;
import com.cloudera.api.swagger.model.ApiInstallEmbeddedControlPlaneArgs;
import com.cloudera.api.swagger.model.ApiRemoteRepoUrl;
import com.cloudera.api.swagger.model.ApiUninstallControlPlaneArgs;
import com.cloudera.api.swagger.model.ApiUpdateControlPlaneValuesYamlArgs;
import com.cloudera.api.swagger.model.ApiUpgradeControlPlaneArgs;
import com.cloudera.api.swagger.model.ApiUpgradeEmbeddedControlPlaneArgs;
import java.io.File;
import org.junit.Test;
import org.junit.Ignore;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * API tests for ControlPlanesResourceApi
 */
@Ignore
public class ControlPlanesResourceApiTest {

    private final ControlPlanesResourceApi api = new ControlPlanesResourceApi();

    
    /**
     * Attach tags to the control plane.
     *
     * Attach tags to the control plane.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void addTagsTest() throws ApiException {
        String controlPlaneUuid = null;
        List<ApiEntityTag> body = null;
        List<ApiEntityTag> response = api.addTags(controlPlaneUuid, body);

        // TODO: test validations
    }
    
    /**
     * Launches the command to copy images for one or more features (a comma separated list).
     *
     * Launches the command to copy images for one or more features (a comma separated list).
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void copyImagesInFeaturesTest() throws ApiException {
        String controlPlaneUuid = null;
        ApiCopyImagesInFeaturesArgs body = null;
        ApiCommand response = api.copyImagesInFeatures(controlPlaneUuid, body);

        // TODO: test validations
    }
    
    /**
     * Remove the tags associated with the control plane.
     *
     * Remove the tags associated with the control plane
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void deleteTagsTest() throws ApiException {
        String controlPlaneUuid = null;
        List<ApiEntityTag> body = null;
        List<ApiEntityTag> response = api.deleteTags(controlPlaneUuid, body);

        // TODO: test validations
    }
    
    /**
     * Launches the Generate Copy Docker Script Command.
     *
     * Launches the Generate Copy Docker Script Command
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void generateCopyDockerTest() throws ApiException {
        ApiGenerateCopyDockerArgs body = null;
        ApiCommand response = api.generateCopyDocker(body);

        // TODO: test validations
    }
    
    /**
     * Launches the Generate Vault Setup Command command.
     *
     * Launches the Generate Vault Setup Command command
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void generateExternalVaultSetupTest() throws ApiException {
        ApiGenerateExternalVaultSetupArgs body = null;
        ApiCommand response = api.generateExternalVaultSetup(body);

        // TODO: test validations
    }
    
    /**
     * Current Control Planes.
     *
     * Current Control Planes
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getControlPlanesTest() throws ApiException {
        ApiControlPlaneList response = api.getControlPlanes();

        // TODO: test validations
    }
    
    /**
     * The cluster with tags matching this control plane&#39;s UUID, if any.
     *
     * The cluster with tags matching this control plane&#39;s UUID, if any
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getExperienceClusterTest() throws ApiException {
        String controlPlaneUuid = null;
        ApiCluster response = api.getExperienceCluster(controlPlaneUuid);

        // TODO: test validations
    }
    
    /**
     * Fetches the log content for the specific command.
     *
     * Fetches the log content for the specific command.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getLogContentTest() throws ApiException {
        java.math.BigDecimal commandId = null;
        File response = api.getLogContent(commandId);

        // TODO: test validations
    }
    
    /**
     * Fetches the manifest.
     *
     * Fetches the manifest.json under the specified remote repo.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getManifestJsonTest() throws ApiException {
        ApiRemoteRepoUrl body = null;
        File response = api.getManifestJson(body);

        // TODO: test validations
    }
    
    /**
     * Launches the install control plane command.
     *
     * Launches the install control plane command.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void installControlPlaneTest() throws ApiException {
        ApiInstallControlPlaneArgs body = null;
        ApiCommand response = api.installControlPlane(body);

        // TODO: test validations
    }
    
    /**
     * Brings up a control plane on embedded kubernetes.
     *
     * Brings up a control plane on embedded kubernetes. At its core, this command launches the FirstRun command on the Containerized Cluster.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void installEmbeddedControlPlaneTest() throws ApiException {
        ApiInstallEmbeddedControlPlaneArgs body = null;
        ApiCommand response = api.installEmbeddedControlPlane(body);

        // TODO: test validations
    }
    
    /**
     * The control plane with the given id.
     *
     * The control plane with the given id
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void readControlPlaneByUuidTest() throws ApiException {
        String controlPlaneUuid = null;
        ApiControlPlane response = api.readControlPlaneByUuid(controlPlaneUuid);

        // TODO: test validations
    }
    
    /**
     * Returns the tags associated with this control plane.
     *
     * Returns the tags associated with this control plane.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void readTagsTest() throws ApiException {
        String controlPlaneUuid = null;
        java.math.BigDecimal limit = null;
        java.math.BigDecimal offset = null;
        List<ApiEntityTag> response = api.readTags(controlPlaneUuid, limit, offset);

        // TODO: test validations
    }
    
    /**
     * Launches Uninstall Command on the control plane with the given uuid.
     *
     * Launches Uninstall Command on the control plane with the given uuid
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void uninstallControlPlaneTest() throws ApiException {
        String controlPlaneUuid = null;
        ApiUninstallControlPlaneArgs body = null;
        ApiCommand response = api.uninstallControlPlane(controlPlaneUuid, body);

        // TODO: test validations
    }
    
    /**
     * Launches update the values.
     *
     * Launches update the values.yaml from the control plane with the given uuid This updates the content of values.yaml.merged in the CM database.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void updateValuesYamlTest() throws ApiException {
        String controlPlaneUuid = null;
        ApiUpdateControlPlaneValuesYamlArgs body = null;
        ApiCommand response = api.updateValuesYaml(controlPlaneUuid, body);

        // TODO: test validations
    }
    
    /**
     * Launches the Upgrade Command on the control plane with the given uuid.
     *
     * Launches the Upgrade Command on the control plane with the given uuid
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void upgradeControlPlaneTest() throws ApiException {
        String controlPlaneUuid = null;
        ApiUpgradeControlPlaneArgs body = null;
        ApiCommand response = api.upgradeControlPlane(controlPlaneUuid, body);

        // TODO: test validations
    }
    
    /**
     * Upgrade a Containerized Cluster, including upgrading the control plane running on embedded kubernetes.
     *
     * Upgrade a Containerized Cluster, including upgrading the control plane running on embedded kubernetes.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void upgradeEmbeddedControlPlaneTest() throws ApiException {
        ApiUpgradeEmbeddedControlPlaneArgs body = null;
        ApiCommand response = api.upgradeEmbeddedControlPlane(body);

        // TODO: test validations
    }
    
}
