/*
 * 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.ApiAddSBNNToNSArguments;
import com.cloudera.api.swagger.model.ApiCommand;
import com.cloudera.api.swagger.model.ApiCommandList;
import com.cloudera.api.swagger.model.ApiCommandMetadataList;
import com.cloudera.api.swagger.model.ApiDisableJtHaArguments;
import com.cloudera.api.swagger.model.ApiDisableLlamaHaArguments;
import com.cloudera.api.swagger.model.ApiDisableNnHaArguments;
import com.cloudera.api.swagger.model.ApiDisableOozieHaArguments;
import com.cloudera.api.swagger.model.ApiDisableRmHaArguments;
import com.cloudera.api.swagger.model.ApiDisableSentryHaArgs;
import com.cloudera.api.swagger.model.ApiEnableJtHaArguments;
import com.cloudera.api.swagger.model.ApiEnableLlamaHaArguments;
import com.cloudera.api.swagger.model.ApiEnableLlamaRmArguments;
import com.cloudera.api.swagger.model.ApiEnableNnHaArguments;
import com.cloudera.api.swagger.model.ApiEnableOozieHaArguments;
import com.cloudera.api.swagger.model.ApiEnableRmHaArguments;
import com.cloudera.api.swagger.model.ApiEnableSentryHaArgs;
import com.cloudera.api.swagger.model.ApiEntityTag;
import com.cloudera.api.swagger.model.ApiHBaseReplicationSetupCleanAndResetArgs;
import com.cloudera.api.swagger.model.ApiHBaseReplicationSetupCommandArgs;
import com.cloudera.api.swagger.model.ApiHBaseReplicationSetupStatus;
import com.cloudera.api.swagger.model.ApiHBaseShellCommand;
import com.cloudera.api.swagger.model.ApiHdfsDisableHaArguments;
import com.cloudera.api.swagger.model.ApiHdfsFailoverArguments;
import com.cloudera.api.swagger.model.ApiHdfsHaArguments;
import com.cloudera.api.swagger.model.ApiHdfsUsageReport;
import com.cloudera.api.swagger.model.ApiImpalaUtilization;
import com.cloudera.api.swagger.model.ApiMetricList;
import com.cloudera.api.swagger.model.ApiMrUsageReport;
import com.cloudera.api.swagger.model.ApiRoleNameList;
import com.cloudera.api.swagger.model.ApiRoleTypeList;
import com.cloudera.api.swagger.model.ApiRollEditsArgs;
import com.cloudera.api.swagger.model.ApiRollingRestartArgs;
import com.cloudera.api.swagger.model.ApiService;
import com.cloudera.api.swagger.model.ApiServiceConfig;
import com.cloudera.api.swagger.model.ApiServiceList;
import com.cloudera.api.swagger.model.ApiServiceRef;
import com.cloudera.api.swagger.model.ApiYarnApplicationDiagnosticsCollectionArgs;
import com.cloudera.api.swagger.model.ApiYarnUtilization;
import com.cloudera.api.swagger.model.DeleteHdfsPathResult;
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 ServicesResourceApi
 */
@Ignore
public class ServicesResourceApiTest {

    private final ServicesResourceApi api = new ServicesResourceApi();

    
    /**
     * Attach tags to the service.
     *
     * Attach tags to the service. Tag names beginning with the prefix _cldr_ (case insensitive) are reserved for internal use by Cloudera.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void addTagsTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        List<ApiEntityTag> body = null;
        List<ApiEntityTag> response = api.addTags(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Collect the Diagnostics data for Yarn applications.
     *
     * Collect the Diagnostics data for Yarn applications &lt;p&gt; Available since API v8.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void collectYarnApplicationDiagnosticsTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiYarnApplicationDiagnosticsCollectionArgs body = null;
        ApiCommand response = api.collectYarnApplicationDiagnostics(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Copies source HDFS file to destination cluster HDFS.
     *
     * Copies source HDFS file to destination cluster HDFS
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void copyHdfsFileTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String destinationPath = null;
        String sourcePath = null;
        ApiServiceRef body = null;
        ApiCommand response = api.copyHdfsFile(clusterName, serviceName, destinationPath, sourcePath, body);

        // TODO: test validations
    }
    
    /**
     * Create the Beeswax role&#39;s Hive warehouse directory, on Hue services.
     *
     * Create the Beeswax role&#39;s Hive warehouse directory, on Hue services.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createBeeswaxWarehouseCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createBeeswaxWarehouseCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Creates the root directory of an HBase service.
     *
     * Creates the root directory of an HBase service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createHBaseRootCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createHBaseRootCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * 
     *
     * 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createHdfsFileTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        Boolean overwrite = null;
        String path = null;
        String body = null;
        String response = api.createHdfsFile(clusterName, serviceName, overwrite, path, body);

        // TODO: test validations
    }
    
    /**
     * Create the Hive user directory.
     *
     * Create the Hive user directory &lt;p&gt; Available since API v4. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createHiveUserDirCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createHiveUserDirCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Create the Hive warehouse directory, on Hive services.
     *
     * Create the Hive warehouse directory, on Hive services. &lt;p&gt; Available since API v3. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createHiveWarehouseCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createHiveWarehouseCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Create the Hive warehouse external directory for Private Cloud.
     *
     * Create the Hive warehouse external directory for Private Cloud.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createHiveWarehouseExternalCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String directory = null;
        ApiCommand response = api.createHiveWarehouseExternalCommand(clusterName, serviceName, directory);

        // TODO: test validations
    }
    
    /**
     * Create the Impala user directory.
     *
     * Create the Impala user directory &lt;p&gt; Available since API v6. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createImpalaUserDirCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createImpalaUserDirCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Creates the Oozie Database Schema in the configured database.
     *
     * Creates the Oozie Database Schema in the configured database. This command does not create database. This command creates only tables required by Oozie. To create database, please refer to oozieCreateEmbeddedDatabase()  &lt;p&gt; Available since API v2. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createOozieDbTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createOozieDb(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Creates a list of services.
     *
     * Creates a list of services. &lt;p&gt; There are typically two service creation strategies: &lt;ol&gt; &lt;li&gt; The caller may choose to set up a new service piecemeal, by first creating the service itself (without any roles or configuration), and then create the roles, and then specify configuration. &lt;/li&gt; &lt;li&gt; Alternatively, the caller can pack all the information in one call, by fully specifying the fields in the com.cloudera.api.model.ApiService object, with &lt;ul&gt; &lt;li&gt;service config and role type config, and&lt;/li&gt; &lt;li&gt;role to host assignment.&lt;/li&gt; &lt;/ul&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;table&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;Cluster Version&lt;/th&gt; &lt;th&gt;Available Service Types&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;CDH4&lt;/td&gt; &lt;td&gt;HDFS, MAPREDUCE, HBASE, OOZIE, ZOOKEEPER, HUE, YARN, IMPALA, FLUME, HIVE, SOLR, SQOOP, KS_INDEXER&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;CDH5&lt;/td&gt; &lt;td&gt;HDFS, MAPREDUCE, HBASE, OOZIE, ZOOKEEPER, HUE, YARN, IMPALA, FLUME, HIVE, SOLR, SQOOP, KS_INDEXER, SQOOP_CLIENT, SENTRY, ACCUMULO16, KMS, SPARK_ON_YARN, KAFKA &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;  As of V6, GET /{clusterName}/serviceTypes should be used to get the service types available to the cluster.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createServicesTest() throws ApiException {
        String clusterName = null;
        ApiServiceList body = null;
        ApiServiceList response = api.createServices(clusterName, body);

        // TODO: test validations
    }
    
    /**
     * Creates the home directory of a Solr service in HDFS.
     *
     * Creates the home directory of a Solr service in HDFS.  &lt;p&gt; Available since API v4.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createSolrHdfsHomeDirCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createSolrHdfsHomeDirCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Creates the user directory of a Sqoop service in HDFS.
     *
     * Creates the user directory of a Sqoop service in HDFS.  &lt;p&gt; Available since API v4.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createSqoopUserDirCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createSqoopUserDirCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Creates the HDFS directory where YARN container usage metrics are stored by NodeManagers for CM to read and aggregate into app usage metrics.
     *
     * Creates the HDFS directory where YARN container usage metrics are stored by NodeManagers for CM to read and aggregate into app usage metrics. &lt;p&gt; Available since API v13. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createYarnCmContainerUsageInputDirCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createYarnCmContainerUsageInputDirCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Create the Yarn job history directory.
     *
     * Create the Yarn job history directory &lt;p&gt; Available since API v6. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createYarnJobHistoryDirCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createYarnJobHistoryDirCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Create the Yarn NodeManager remote application log directory.
     *
     * Create the Yarn NodeManager remote application log directory &lt;p&gt; Available since API v6. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void createYarnNodeManagerRemoteAppLogDirCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.createYarnNodeManagerRemoteAppLogDirCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Decommission roles of a service.
     *
     * Decommission roles of a service. &lt;p&gt; For HBase services, the list should contain names of RegionServers to decommission. &lt;p&gt; For HDFS services, the list should contain names of DataNodes to decommission.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void decommissionCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiRoleNameList body = null;
        ApiCommand response = api.decommissionCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Deletes the file or directory, specified by the given path, on the given HDFS service.
     *
     * Deletes the file or directory, specified by the given path, on the given HDFS service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void deleteHdfsPathTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String path = null;
        Boolean recursive = null;
        DeleteHdfsPathResult response = api.deleteHdfsPath(clusterName, serviceName, path, recursive);

        // TODO: test validations
    }
    
    /**
     * Deletes a service from the system.
     *
     * Deletes a service from the system.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void deleteServiceTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiService response = api.deleteService(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Remove the tags associated with the service.
     *
     * Remove the tags associated with the service. Tag names beginning with the prefix _cldr_ (case insensitive) are reserved for internal use by Cloudera.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void deleteTagsTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        List<ApiEntityTag> body = null;
        List<ApiEntityTag> response = api.deleteTags(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Deploy a service&#39;s client configuration.
     *
     * Deploy a service&#39;s client configuration. &lt;p&gt; The client configuration is deployed to the hosts where the given roles are running. &lt;p/&gt; Added in v3: passing null for the role name list will deploy client configs to all known service roles. Added in v6: passing an empty role name list will deploy client configs to all known service roles. &lt;p/&gt; In Cloudera Manager 5.3 and newer, client configurations are fully managed, meaning that the server maintains state about which client configurations should exist and be managed by alternatives, and the agents actively rectify their hosts with this state. Consequently, if this API call is made with a specific set of roles, Cloudera Manager will deactivate, from alternatives, any deployed client configs from any non-gateway roles that are &lt;em&gt;not&lt;/em&gt; specified as arguments. Gateway roles are always preserved, and calling this API with an empty or null argument continues to deploy to all roles. &lt;p/&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void deployClientConfigCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiRoleNameList body = null;
        ApiCommand response = api.deployClientConfigCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Disable high availability (HA) for JobTracker.
     *
     * Disable high availability (HA) for JobTracker.  As part of disabling HA, any services that depend on the MapReduce service being modified will be stopped. The command arguments provide options to specify name of JobTracker that will be preserved. The Command will redeploy the client configurations for services of the cluster after HA has been disabled.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void disableJtHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiDisableJtHaArguments body = null;
        ApiCommand response = api.disableJtHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Not Supported.
     *
     * Not Supported. Llama was removed.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void disableLlamaHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiDisableLlamaHaArguments body = null;
        ApiCommand response = api.disableLlamaHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Not Supported.
     *
     * Not Supported. Llama was removed.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void disableLlamaRmCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.disableLlamaRmCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Disable high availability (HA) for Oozie.
     *
     * Disable high availability (HA) for Oozie.  As part of disabling HA, any services that depend on the Oozie service being modified will be stopped. The command arguments provide options to specify name of Oozie Server that will be preserved. After deleting, other Oozie servers, all the services that were stopped are restarted.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void disableOozieHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiDisableOozieHaArguments body = null;
        ApiCommand response = api.disableOozieHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Disable high availability (HA) for ResourceManager.
     *
     * Disable high availability (HA) for ResourceManager.  As part of disabling HA, any services that depend on the YARN service being modified will be stopped. The command arguments provide options to specify name of ResourceManager that will be preserved. The command will redeploy the client configurations for services of the cluster after HA has been disabled.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void disableRmHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiDisableRmHaArguments body = null;
        ApiCommand response = api.disableRmHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Disable high availability (HA) for Sentry service.
     *
     * Disable high availability (HA) for Sentry service. &lt;p&gt; This command only applies to CDH 5.13+ Sentry services. &lt;p&gt; The command will keep exactly one Sentry server, on the specified host, and update the ZooKeeper configs needed for Sentry. &lt;p&gt; All services that depend on HDFS will be restarted after enabling Sentry HA. &lt;p&gt; Note: Sentry doesn&#39;t support Rolling Restart.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void disableSentryHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiDisableSentryHaArgs body = null;
        ApiCommand response = api.disableSentryHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Enable high availability (HA) for a JobTracker.
     *
     * Enable high availability (HA) for a JobTracker. &lt;p&gt; This command only applies to CDH4 MapReduce services. &lt;p&gt; The command will create a new JobTracker on the specified host and then create an active/standby pair with the existing JobTracker. Autofailover will be enabled using ZooKeeper. A ZNode will be created for this purpose. Command arguments provide option to forcefully create this ZNode if one already exists. A node may already exists if JobTracker was previously enabled in HA mode but HA mode was disabled later on. The ZNode is not deleted when HA is disabled. &lt;p&gt; As part of enabling HA, any services that depends on the MapReduce service being modified will be stopped. Command will redeploy the client configurations for services of the cluster after HA has been enabled.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void enableJtHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiEnableJtHaArguments body = null;
        ApiCommand response = api.enableJtHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Not Supported.
     *
     * Not Supported. Llama was removed.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void enableLlamaHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiEnableLlamaHaArguments body = null;
        ApiCommand response = api.enableLlamaHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Not Supported.
     *
     * Not Supported. Llama was removed.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void enableLlamaRmCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiEnableLlamaRmArguments body = null;
        ApiCommand response = api.enableLlamaRmCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Enable high availability (HA) for Oozie service.
     *
     * Enable high availability (HA) for Oozie service. &lt;p&gt; This command only applies to CDH5+ Oozie services. &lt;p&gt; The command will create new Oozie Servers on the specified hosts and set the ZooKeeper and Load Balancer configs needed for Oozie HA. &lt;p&gt; As part of enabling HA, any services that depends on the Oozie service being modified will be stopped and restarted after enabling Oozie HA.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void enableOozieHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiEnableOozieHaArguments body = null;
        ApiCommand response = api.enableOozieHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Enable high availability (HA) for a YARN ResourceManager.
     *
     * Enable high availability (HA) for a YARN ResourceManager. &lt;p&gt; This command only applies to CDH5+ YARN services. &lt;p&gt; The command will create a new ResourceManager on the specified host and then create an active/standby pair with the existing ResourceManager. Autofailover will be enabled using ZooKeeper. &lt;p&gt; As part of enabling HA, any services that depends on the YARN service being modified will be stopped. Command will redeploy the client configurations for services of the cluster after HA has been enabled.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void enableRmHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiEnableRmHaArguments body = null;
        ApiCommand response = api.enableRmHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Enable high availability (HA) for Sentry service.
     *
     * Enable high availability (HA) for Sentry service. &lt;p&gt; This command only applies to CDH 5.13+ Sentry services. &lt;p&gt; The command will create a new Sentry server on the specified host and set the ZooKeeper configs needed for Sentry HA. &lt;p&gt; As part of enabling HA, all services that depend on HDFS will be restarted after enabling Sentry HA. &lt;p&gt; Note: Sentry doesn&#39;t support Rolling Restart.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void enableSentryHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiEnableSentryHaArgs body = null;
        ApiCommand response = api.enableSentryHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Put the service into maintenance mode.
     *
     * Put the service into maintenance mode. This is a synchronous command. The result is known immediately upon return.  &lt;p&gt; Available since API v2. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void enterMaintenanceModeTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.enterMaintenanceMode(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Take the service out of maintenance mode.
     *
     * Take the service out of maintenance mode. This is a synchronous command. The result is known immediately upon return.  &lt;p&gt; Available since API v2. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void exitMaintenanceModeTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.exitMaintenanceMode(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Export Sentry Permissions.
     *
     * Export Sentry Permissions.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void exportSentryPermissionsCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.exportSentryPermissionsCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Prepare and start a service.
     *
     * Prepare and start a service.  &lt;p&gt; Perform all the steps needed to prepare the service and start it. &lt;/p&gt;  &lt;p&gt; Available since API v7. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void firstRunTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.firstRun(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Download a zip-compressed archive of the client configuration, of a specific service.
     *
     * Download a zip-compressed archive of the client configuration, of a specific service. This resource does not require any authentication.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getClientConfigTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        File response = api.getClientConfig(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Fetch the HDFS usage report.
     *
     * Fetch the HDFS usage report. For the requested time range, at the specified aggregation intervals, the report shows HDFS disk usages per user. &lt;p&gt; This call supports returning JSON or CSV, as determined by the \&quot;Accept\&quot; header of application/json or text/csv. &lt;p&gt; Available since API v4. Only available with Cloudera Manager Enterprise Edition.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getHdfsUsageReportTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String aggregation = null;
        String from = null;
        String nameservice = null;
        String to = null;
        ApiHdfsUsageReport response = api.getHdfsUsageReport(clusterName, serviceName, aggregation, from, nameservice, to);

        // TODO: test validations
    }
    
    /**
     * Provides the resource utilization of the Impala service as well as the resource utilization per tenant.
     *
     * Provides the resource utilization of the Impala service as well as the resource utilization per tenant. Only available with Cloudera Manager Enterprise Edition.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getImpalaUtilizationTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        List<String> daysOfWeek = null;
        java.math.BigDecimal endHourOfDay = null;
        String from = null;
        java.math.BigDecimal startHourOfDay = null;
        String tenantType = null;
        String to = null;
        ApiImpalaUtilization response = api.getImpalaUtilization(clusterName, serviceName, daysOfWeek, endHourOfDay, from, startHourOfDay, tenantType, to);

        // TODO: test validations
    }
    
    /**
     * Fetch metric readings for a particular service.
     *
     * Fetch metric readings for a particular service. &lt;p&gt; By default, this call will look up all metrics available for the service. If only specific metrics are desired, use the &lt;i&gt;metrics&lt;/i&gt; parameter. &lt;p&gt; By default, the returned results correspond to a 5 minute window based on the provided end time (which defaults to the current server time). The &lt;i&gt;from&lt;/i&gt; and &lt;i&gt;to&lt;/i&gt; parameters can be used to control the window being queried. A maximum window of 3 hours is enforced. &lt;p&gt; When requesting a \&quot;full\&quot; view, aside from the extended properties of the returned metric data, the collection will also contain information about all metrics available for the service, even if no readings are available in the requested window. &lt;p&gt; HDFS services that have more than one nameservice will not expose any metrics. Instead, the nameservices should be queried separately. &lt;p/&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getMetricsTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String from = null;
        List<String> metrics = null;
        String to = null;
        String view = null;
        ApiMetricList response = api.getMetrics(clusterName, serviceName, from, metrics, to, view);

        // TODO: test validations
    }
    
    /**
     * Fetch the MR usage report.
     *
     * Fetch the MR usage report. For the requested time range, at the specified aggregation intervals, the report shows job CPU usages (and other metrics) per user. &lt;p&gt; This call supports returning JSON or CSV, as determined by the \&quot;Accept\&quot; header of application/json or text/csv. &lt;p&gt; Available since API v4. Only available with Cloudera Manager Enterprise Edition.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getMrUsageReportTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String aggregation = null;
        String from = null;
        String to = null;
        ApiMrUsageReport response = api.getMrUsageReport(clusterName, serviceName, aggregation, from, to);

        // TODO: test validations
    }
    
    /**
     * Provides the resource utilization of the yarn service as well as the resource utilization per tenant.
     *
     * Provides the resource utilization of the yarn service as well as the resource utilization per tenant. Only available with Cloudera Manager Enterprise Edition.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void getYarnUtilizationTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        List<String> daysOfWeek = null;
        java.math.BigDecimal endHourOfDay = null;
        String from = null;
        java.math.BigDecimal startHourOfDay = null;
        String tenantType = null;
        String to = null;
        ApiYarnUtilization response = api.getYarnUtilization(clusterName, serviceName, daysOfWeek, endHourOfDay, from, startHourOfDay, tenantType, to);

        // TODO: test validations
    }
    
    /**
     * Create the HBase user directory (usually /user/hbase).
     *
     * Create the HBase user directory (usually /user/hbase).
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationCreateUserDirectoryTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hbaseReplicationCreateUserDirectory(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Starts an automatic HBase replication first time setup.
     *
     * Starts an automatic HBase replication first time setup. After doing some configuration (see #hbaseReplicationSetup(String, boolean, ApiHBaseReplicationSetupCommandArgs)), it restarts both the source and target clusters.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationFirstTimeSetupAutomaticTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        Boolean force = null;
        ApiHBaseReplicationSetupCommandArgs body = null;
        ApiCommand response = api.hbaseReplicationFirstTimeSetupAutomatic(clusterName, serviceName, force, body);

        // TODO: test validations
    }
    
    /**
     * Cleans and resets the HBase replication first time setup on the given source and target:.
     *
     * Cleans and resets the HBase replication first time setup on the given source and target: &lt;ul&gt; &lt;li&gt; clears the HBase replication auxiliary info and deletes the JCEKS files &lt;/li&gt; &lt;li&gt; Optionally restarts HBase services &lt;/li&gt; &lt;li&gt; Resets the HBase replication first time setup status &lt;/li&gt; &lt;/ul&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationFirstTimeSetupCleanAndResetTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiHBaseReplicationSetupCleanAndResetArgs body = null;
        ApiCommand response = api.hbaseReplicationFirstTimeSetupCleanAndReset(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Force sets the HBase replication first time setup status to be READY for the given source and target.
     *
     * Force sets the HBase replication first time setup status to be READY for the given source and target. Note that after this operation, the pending HBase replication policies, which have the waitForHBaseReplicationSetup flag set to true, will NOT be completed.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationFirstTimeSetupForceReadyTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiServiceRef body = null;
        api.hbaseReplicationFirstTimeSetupForceReady(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Starts a manual HBase replication first time setup.
     *
     * Starts a manual HBase replication first time setup. After doing some configuration (see #hbaseReplicationSetup(String, boolean, ApiHBaseReplicationSetupCommandArgs)), it restarts the target cluster only. Source cluster has to be restarted manually, after which the #hbaseReplicationFirstTimeSetupManualContinue(String, ApiServiceRef) API endpoint should be called to finish the HBase replication first time setup.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationFirstTimeSetupManualTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        Boolean force = null;
        ApiHBaseReplicationSetupCommandArgs body = null;
        ApiCommand response = api.hbaseReplicationFirstTimeSetupManual(clusterName, serviceName, force, body);

        // TODO: test validations
    }
    
    /**
     * Should be called after #hbaseReplicationFirstTimeSetupManual(String, ApiHBaseReplicationSetupCommandArgs) to finish the manual HBase replication first time setup.
     *
     * Should be called after #hbaseReplicationFirstTimeSetupManual(String, ApiHBaseReplicationSetupCommandArgs) to finish the manual HBase replication first time setup.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationFirstTimeSetupManualContinueTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiServiceRef body = null;
        ApiCommand response = api.hbaseReplicationFirstTimeSetupManualContinue(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Resets/removes the HBase replication first time setup status for the given source and target.
     *
     * Resets/removes the HBase replication first time setup status for the given source and target.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationFirstTimeSetupResetTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiServiceRef body = null;
        api.hbaseReplicationFirstTimeSetupReset(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * 
     *
     * 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationFirstTimeSetupStatusTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String sourceCluster = null;
        String sourcePeer = null;
        String sourceService = null;
        ApiHBaseReplicationSetupStatus response = api.hbaseReplicationFirstTimeSetupStatus(clusterName, serviceName, sourceCluster, sourcePeer, sourceService);

        // TODO: test validations
    }
    
    /**
     * Perform one time setup for HBase replication.
     *
     * Perform one time setup for HBase replication.  Generate the a keystore to HDFS for use by replication and transfer the keystore to HDFS on the the peer.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationSetupTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        Boolean force = null;
        ApiHBaseReplicationSetupCommandArgs body = null;
        ApiCommand response = api.hbaseReplicationSetup(clusterName, serviceName, force, body);

        // TODO: test validations
    }
    
    /**
     * 
     *
     * 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseReplicationSetupAdminTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String cmPeerDefinition = null;
        String op = null;
        String path = null;
        String user = null;
        ApiCommand response = api.hbaseReplicationSetupAdmin(clusterName, serviceName, cmPeerDefinition, op, path, user);

        // TODO: test validations
    }
    
    /**
     * Execute a hbase shell command.
     *
     * Execute a hbase shell command
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseShellCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiHBaseShellCommand body = null;
        ApiCommand response = api.hbaseShellCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Upgrade HBase data in HDFS and ZooKeeper as part of upgrade from CDH4 to CDH5.
     *
     * Upgrade HBase data in HDFS and ZooKeeper as part of upgrade from CDH4 to CDH5. &lt;p/&gt; This is required in order to run HBase after upgrade. &lt;p/&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hbaseUpgradeCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hbaseUpgradeCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * 
     *
     * 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsAddSBNNToNSCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiAddSBNNToNSArguments body = null;
        ApiCommand response = api.hdfsAddSBNNToNSCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Creates a tmp directory on the HDFS filesystem.
     *
     * Creates a tmp directory on the HDFS filesystem. &lt;p&gt; Available since API v2. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsCreateTmpDirTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hdfsCreateTmpDir(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Disable auto-failover for a highly available HDFS nameservice.
     *
     * Disable auto-failover for a highly available HDFS nameservice. &lt;p&gt; The command will modify the nameservice&#39;s NameNodes configuration to disable automatic failover, and delete the existing failover controllers. &lt;p&gt; The ZooKeeper dependency of the service will not be removed.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsDisableAutoFailoverCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String body = null;
        ApiCommand response = api.hdfsDisableAutoFailoverCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Disable high availability (HA) for an HDFS NameNode.
     *
     * Disable high availability (HA) for an HDFS NameNode. &lt;p&gt; The NameNode to be kept must be running before HA can be disabled. &lt;p&gt; As part of disabling HA, any services that depend on the HDFS service being modified will be stopped. The command arguments provide options to re-start these services and to re-deploy the client configurations for services of the cluster after HA has been disabled.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsDisableHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiHdfsDisableHaArguments body = null;
        ApiCommand response = api.hdfsDisableHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Disable High Availability (HA) with Automatic Failover for an HDFS NameNode.
     *
     * Disable High Availability (HA) with Automatic Failover for an HDFS NameNode. &lt;p&gt; As part of disabling HA, any services that depend on the HDFS service being modified will be stopped. The command will delete the Standby NameNode associated with the specified NameNode. Any FailoverControllers associated with the NameNode&#39;s nameservice are also deleted. A SecondaryNameNode is created on the host specified by the arugments. &lt;p&gt; If no nameservices uses Quorum Journal after HA is disabled for the specified nameservice, then all JournalNodes are also deleted. &lt;p&gt; Then, HDFS service is restarted and all services that were stopped are started again afterwards. Finally, client configs for HDFS and its depedents will be re-deployed.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsDisableNnHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiDisableNnHaArguments body = null;
        ApiCommand response = api.hdfsDisableNnHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Enable auto-failover for an HDFS nameservice.
     *
     * Enable auto-failover for an HDFS nameservice. &lt;p&gt; This command requires that the nameservice exists, and HA has been configured for that nameservice. &lt;p&gt; The command will create the needed failover controllers, perform the needed initialization and configuration, and will start the new roles. The existing NameNodes which are part of the nameservice will be re-started in the process. &lt;p&gt; This process may require changing the service&#39;s configuration, to add a dependency on the provided ZooKeeper service. This will be done if such a dependency has not been configured yet, and will cause roles that are not affected by this command to show an \&quot;outdated configuration\&quot; status. &lt;p&gt; If a ZooKeeper dependency has already been set up by some other means, it does not need to be provided in the command arguments.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsEnableAutoFailoverCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiHdfsFailoverArguments body = null;
        ApiCommand response = api.hdfsEnableAutoFailoverCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Enable high availability (HA) for an HDFS NameNode.
     *
     * Enable high availability (HA) for an HDFS NameNode. &lt;p&gt; The command will set up the given \&quot;active\&quot; and \&quot;stand-by\&quot; NameNodes as an HA pair. Both nodes need to already exist. &lt;p&gt; If there is a SecondaryNameNode associated with either given NameNode instance, it will be deleted. &lt;p&gt; Note that while the shared edits path may be different for both nodes, they need to point to the same underlying storage (e.g., an NFS share). &lt;p&gt; As part of enabling HA, any services that depend on the HDFS service being modified will be stopped. The command arguments provide options to re-start these services and to re-deploy the client configurations for services of the cluster after HA has been enabled.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsEnableHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiHdfsHaArguments body = null;
        ApiCommand response = api.hdfsEnableHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Enable High Availability (HA) with Automatic Failover for an HDFS NameNode.
     *
     * Enable High Availability (HA) with Automatic Failover for an HDFS NameNode. &lt;p&gt; The command will create a Standby NameNode for the given nameservice and create FailoverControllers for both Active and Standby NameNodes. The SecondaryNameNode associated with the Active NameNode will be deleted. &lt;p&gt; The command will also create JournalNodes needed for HDFS HA if they do not already exist. &lt;p&gt; As part of enabling HA, any services that depend on the HDFS service being modified will be stopped. They will be restarted after HA has been enabled. Finally, client configs for HDFS and its depedents will be re-deployed.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsEnableNnHaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiEnableNnHaArguments body = null;
        ApiCommand response = api.hdfsEnableNnHaCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Initiate a failover in an HDFS HA NameNode pair.
     *
     * Initiate a failover in an HDFS HA NameNode pair. &lt;p&gt; The arguments should contain the names of the two NameNodes in the HA pair. The first one should be the currently active NameNode, the second one the NameNode to be made active.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsFailoverCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        Boolean force = null;
        ApiRoleNameList body = null;
        ApiCommand response = api.hdfsFailoverCommand(clusterName, serviceName, force, body);

        // TODO: test validations
    }
    
    /**
     * Finalizes the rolling upgrade for HDFS by updating the NameNode metadata permanently to the next version.
     *
     * Finalizes the rolling upgrade for HDFS by updating the NameNode metadata permanently to the next version. Should be done after doing a rolling upgrade to a CDH version &gt;&#x3D; 5.2.0. &lt;p&gt; Available since API v8.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsFinalizeRollingUpgradeTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hdfsFinalizeRollingUpgrade(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Roll the edits of an HDFS NameNode or Nameservice.
     *
     * Roll the edits of an HDFS NameNode or Nameservice. &lt;p&gt; Available since API v3.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsRollEditsCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiRollEditsArgs body = null;
        ApiCommand response = api.hdfsRollEditsCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Upgrade HDFS Metadata as part of a major version upgrade.
     *
     * Upgrade HDFS Metadata as part of a major version upgrade. &lt;p/&gt; When doing a major version upgrade for HDFS, it is necessary to start HDFS in a special mode where it will do any necessary upgrades of stored metadata. Trying to start HDFS normally will result in an error message and the NameNode(s) failing to start. &lt;p/&gt; The metadata upgrade must eventually be finalized, using the hdfsFinalizeMetadataUpgrade command on the NameNode. &lt;p/&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hdfsUpgradeMetadataCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hdfsUpgradeMetadataCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Create the Hive Metastore Database.
     *
     * Create the Hive Metastore Database. Only works with embedded postgresql database. &lt;p&gt; This command is to be run whenever a new user and database needs to be created in the embedded postgresql database for a Hive service. This command should usually be followed by a call to hiveCreateMetastoreDatabaseTables. &lt;p&gt; Available since API v4.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hiveCreateMetastoreDatabaseCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hiveCreateMetastoreDatabaseCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Create the Hive Metastore Database tables.
     *
     * Create the Hive Metastore Database tables. &lt;p&gt; This command is to be run whenever a new database has been specified. Will do nothing if tables already exist. Will not perform an upgrade. Only Available when all Hive Metastore Servers are stopped. &lt;p&gt; Available since API v3.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hiveCreateMetastoreDatabaseTablesCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hiveCreateMetastoreDatabaseTablesCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Update Hive Metastore to point to a NameNode&#39;s Nameservice name instead of hostname.
     *
     * Update Hive Metastore to point to a NameNode&#39;s Nameservice name instead of hostname. &lt;p&gt; &lt;strong&gt;Back up the Hive Metastore Database before running this command.&lt;/strong&gt; &lt;p&gt; This command is to be run after enabling HDFS High Availability. Only available when all Hive Metastore Servers are stopped. &lt;p&gt; Available since API v4.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hiveUpdateMetastoreNamenodesCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hiveUpdateMetastoreNamenodesCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Upgrade Hive Metastore as part of a major version upgrade.
     *
     * Upgrade Hive Metastore as part of a major version upgrade. &lt;p/&gt; When doing a major version upgrade for Hive, it is necessary to upgrade data in the metastore database. &lt;p/&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hiveUpgradeMetastoreCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hiveUpgradeMetastoreCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Validate the Hive Metastore Schema.
     *
     * Validate the Hive Metastore Schema. &lt;p&gt; This command checks the Hive metastore schema for any errors and corruptions. This command is to be run on two instances: &lt;li&gt;After the Hive Metastore database tables are created.&lt;/li&gt; &lt;li&gt;Both before and after upgrading the Hive metastore database schema./li&gt; * &lt;p&gt; Available since API v17.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hiveValidateMetastoreSchemaCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hiveValidateMetastoreSchemaCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Runs Hue&#39;s dumpdata command.
     *
     * Runs Hue&#39;s dumpdata command.  Available since API v10.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hueDumpDbCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hueDumpDbCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Runs Hue&#39;s loaddata command.
     *
     * Runs Hue&#39;s loaddata command.  Available since API v10.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hueLoadDbCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hueLoadDbCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Runs Hue&#39;s syncdb command.
     *
     * Runs Hue&#39;s syncdb command.  Available since API v10.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void hueSyncDbCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.hueSyncDbCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * .
     *
     * &lt;strong&gt;Not needed in CM 5.0.0 Release, since Impala Catalog Database is not yet available in CDH as of this release.&lt;/strong&gt; Create the Impala Catalog Database. Only works with embedded postgresql database. &lt;p&gt; This command is to be run whenever a new user and database needs to be created in the embedded postgresql database for the Impala Catalog Server. This command should usually be followed by a call to impalaCreateCatalogDatabaseTables. &lt;p&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void impalaCreateCatalogDatabaseCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.impalaCreateCatalogDatabaseCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * .
     *
     * &lt;strong&gt;Not needed in CM 5.0.0 Release, since Impala Catalog Database is not yet available in CDH as of this release.&lt;/strong&gt; Create the Impala Catalog Database tables. &lt;p&gt; This command is to be run whenever a new database has been specified. Will do nothing if tables already exist. Will not perform an upgrade. Only available when all Impala Catalog Servers are stopped. &lt;p&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void impalaCreateCatalogDatabaseTablesCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.impalaCreateCatalogDatabaseTablesCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Import MapReduce configuration into Yarn, overwriting Yarn configuration.
     *
     * Import MapReduce configuration into Yarn, overwriting Yarn configuration. &lt;p&gt; You will lose existing Yarn configuration. Read all MapReduce configuration, role assignments, and role configuration groups and update Yarn with corresponding values. MR1 configuration will be converted into the equivalent MR2 configuration. &lt;p&gt; Before running this command, Yarn must be stopped and MapReduce must exist with valid configuration. &lt;p&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void importMrConfigsIntoYarnTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.importMrConfigsIntoYarn(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Initializes the Solr service in Zookeeper.
     *
     * Initializes the Solr service in Zookeeper.  &lt;p&gt; Available since API v4.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void initSolrCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.initSolrCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Creates an HDFS directory to hold the MapReduce2 framework JARs (if necessary), and uploads the framework JARs to it.
     *
     * Creates an HDFS directory to hold the MapReduce2 framework JARs (if necessary), and uploads the framework JARs to it. &lt;p&gt; This command is run automatically when starting a YARN service for the first time, or when upgrading an existing YARN service. It can also be run manually to ensure that the latest version of the framework JARS is installed. &lt;p&gt; Available since API v30. &lt;p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void installMrFrameworkJarsTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.installMrFrameworkJars(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Creates directory for Oozie user in HDFS and installs the ShareLib in it.
     *
     * Creates directory for Oozie user in HDFS and installs the ShareLib in it. &lt;p/&gt; This command should be re-run after a major version upgrade to refresh the ShareLib to the latest version. &lt;p/&gt; Available since API v3. &lt;p/&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void installOozieShareLibTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.installOozieShareLib(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Migrates the HBase Indexer policy-based permissions to Sentry, by invoking the SentryConfigToolIndexer.
     *
     * Migrates the HBase Indexer policy-based permissions to Sentry, by invoking the SentryConfigToolIndexer. &lt;p&gt; Note: &lt;li&gt; &lt;ul&gt;KeyStore Indexer service should be in Stopped state.&lt;/ul&gt; &lt;ul&gt;This is only needed for upgrading to CDH6.0.&lt;/ul&gt; &lt;p&gt; Available since API v30.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void ksMigrateToSentryTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.ksMigrateToSentry(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * List active service commands.
     *
     * List active service commands.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void listActiveCommandsTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String commandName = null;
        String view = null;
        ApiCommandList response = api.listActiveCommands(clusterName, serviceName, commandName, view);

        // TODO: test validations
    }
    
    /**
     * List the supported role types for a service.
     *
     * List the supported role types for a service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void listRoleTypesTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiRoleTypeList response = api.listRoleTypes(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Lists all the commands (for CSD based services only) that can be executed by name on the provided service.
     *
     * Lists all the commands (for CSD based services only) that can be executed by name on the provided service.  &lt;p&gt; Available since API v6. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void listServiceCommandsTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommandMetadataList response = api.listServiceCommands(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Offline roles of a service.
     *
     * Offline roles of a service. &lt;p&gt; Currently the offline operation is only supported by HDFS. &lt;p&gt; For HDFS, the offline operation will put DataNodes into &lt;em&gt;HDFS IN MAINTENANCE&lt;/em&gt; state which prevents unnecessary re-replication which could occur if decommissioned. &lt;p&gt; The &lt;em&gt;timeout&lt;/em&gt; parameter is used to specify a timeout for offline. For HDFS, when the timeout expires, the DataNode will automatically transition out of &lt;em&gt;HDFS IN MAINTENANCE&lt;/em&gt; state, back to &lt;em&gt;HDFS IN SERVICE&lt;/em&gt; state. &lt;p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void offlineCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        java.math.BigDecimal timeout = null;
        ApiRoleNameList body = null;
        ApiCommand response = api.offlineCommand(clusterName, serviceName, timeout, body);

        // TODO: test validations
    }
    
    /**
     * Create the Oozie Server Database.
     *
     * Create the Oozie Server Database. Only works with embedded postgresql database. &lt;p&gt; This command is to be run whenever a new user and database need to be created in the embedded postgresql database for an Oozie service. This command should usually be followed by a call to createOozieDb. &lt;p&gt; Available since API v10.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void oozieCreateEmbeddedDatabaseCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.oozieCreateEmbeddedDatabaseCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Dump the Oozie Server Database.
     *
     * Dump the Oozie Server Database.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void oozieDumpDatabaseCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.oozieDumpDatabaseCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Load the Oozie Server Database from dump.
     *
     * Load the Oozie Server Database from dump.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void oozieLoadDatabaseCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.oozieLoadDatabaseCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Upgrade Oozie Database schema as part of a major version upgrade.
     *
     * Upgrade Oozie Database schema as part of a major version upgrade. &lt;p/&gt; When doing a major version upgrade for Oozie, it is necessary to upgrade the schema of its database before Oozie can run successfully. &lt;p/&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void oozieUpgradeDbCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.oozieUpgradeDbCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Retrieves details information about a service.
     *
     * Retrieves details information about a service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void readServiceTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String view = null;
        ApiService response = api.readService(clusterName, serviceName, view);

        // TODO: test validations
    }
    
    /**
     * Retrieves the configuration of a specific service.
     *
     * Retrieves the configuration of a specific service. &lt;p&gt; The \&quot;summary\&quot; view contains only the configured parameters, and configuration for role types that contain configured parameters. &lt;p&gt; The \&quot;full\&quot; view contains all available configuration parameters for the service and its role types. This mode performs validation on the configuration, which could take a few seconds on a large cluster (around 500 nodes or more).
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void readServiceConfigTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String view = null;
        ApiServiceConfig response = api.readServiceConfig(clusterName, serviceName, view);

        // TODO: test validations
    }
    
    /**
     * Lists all services registered in the cluster.
     *
     * Lists all services registered in the cluster.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void readServicesTest() throws ApiException {
        String clusterName = null;
        String view = null;
        ApiServiceList response = api.readServices(clusterName, view);

        // TODO: test validations
    }
    
    /**
     * Returns the tags associated with this service.
     *
     * Returns the tags associated with this service. Tag names beginning with the prefix _cldr_ (case insensitive) are reserved for internal use by Cloudera.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void readTagsTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        java.math.BigDecimal limit = null;
        java.math.BigDecimal offset = null;
        List<ApiEntityTag> response = api.readTags(clusterName, serviceName, limit, offset);

        // TODO: test validations
    }
    
    /**
     * Recommission roles of a service.
     *
     * Recommission roles of a service. &lt;p&gt; The list should contain names of slave roles to recommission. &lt;/p&gt;  &lt;p&gt; Available since API v2. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void recommissionCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiRoleNameList body = null;
        ApiCommand response = api.recommissionCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Start and recommission roles of a service.
     *
     * Start and recommission roles of a service. &lt;p&gt; The list should contain names of slave roles to start and recommission. &lt;/p&gt;  &lt;p&gt; Warning: Evolving. This method may change in the future and does not offer standard compatibility guarantees. Only support by HDFS. Do not use without guidance from Cloudera. &lt;/p&gt;  &lt;p&gt; Available since API v15. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void recommissionWithStartCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiRoleNameList body = null;
        ApiCommand response = api.recommissionWithStartCommand(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Restart the service.
     *
     * Restart the service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void restartCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.restartCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Command to run rolling restart of roles in a service.
     *
     * Command to run rolling restart of roles in a service. The sequence is: &lt;ol&gt; &lt;li&gt;Restart all the non-slave roles &lt;li&gt;If slaves are present restart them in batches of size specified in RollingRestartCmdArgs &lt;li&gt;Perform any post-command needed after rolling restart &lt;/ol&gt; &lt;p&gt; Available since API v3. Only available with Cloudera Manager Enterprise Edition.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void rollingRestartTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiRollingRestartArgs body = null;
        ApiCommand response = api.rollingRestart(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Create the Sentry Server Database.
     *
     * Create the Sentry Server Database. Only works with embedded postgresql database. &lt;p&gt; This command is to be run whenever a new user and database need to be created in the embedded postgresql database for a Sentry service. This command should usually be followed by a call to sentryCreateDatabaseTables. &lt;p&gt; Available since API v7.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void sentryCreateDatabaseCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.sentryCreateDatabaseCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Create the Sentry Server Database tables.
     *
     * Create the Sentry Server Database tables. &lt;p&gt; This command is to be run whenever a new database has been specified. Will do nothing if tables already exist. Will not perform an upgrade. Only Available when Sentry Server is stopped. &lt;p&gt; Available since API v7.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void sentryCreateDatabaseTablesCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.sentryCreateDatabaseTablesCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Upgrade the Sentry Server Database tables.
     *
     * Upgrade the Sentry Server Database tables. &lt;p&gt; This command is to be run whenever Sentry requires an upgrade to its database tables. &lt;p&gt; Available since API v8.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void sentryUpgradeDatabaseTablesCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.sentryUpgradeDatabaseTablesCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Executes a command on the service specified by name.
     *
     * Executes a command on the service specified by name. &lt;p&gt; Available since API v6. &lt;/p&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void serviceCommandByNameTest() throws ApiException {
        String clusterName = null;
        String commandName = null;
        String serviceName = null;
        ApiCommand response = api.serviceCommandByName(clusterName, commandName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Bootstraps Solr Collections after the CDH upgrade.
     *
     * Bootstraps Solr Collections after the CDH upgrade. &lt;p&gt; Note: This is only needed for upgrading to CDH6.0. &lt;p&gt; Available since API v30.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void solrBootstrapCollectionsCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.solrBootstrapCollectionsCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Bootstraps Solr config during the CDH upgrade.
     *
     * Bootstraps Solr config during the CDH upgrade. &lt;p&gt; Note: This is only needed for upgrading to CDH6.0. &lt;p&gt; Available since API v30.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void solrBootstrapConfigCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.solrBootstrapConfigCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Backs up Solr configuration metadata before CDH upgrade.
     *
     * Backs up Solr configuration metadata before CDH upgrade. &lt;p&gt; Note: &lt;li&gt; &lt;ul&gt;Solr service should be in Stopped state.&lt;/ul&gt; &lt;ul&gt;HDFS and Zookeeper services should in Running state.&lt;/ul&gt; &lt;ul&gt;This is only needed for upgrading to CDH6.0.&lt;/ul&gt; &lt;/p&gt; Available since API v30.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void solrConfigBackupCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.solrConfigBackupCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Migrates Sentry privileges to new model compatible to support more granular permissions if Solr is configured with a Sentry service.
     *
     * Migrates Sentry privileges to new model compatible to support more granular permissions if Solr is configured with a Sentry service. &lt;p&gt; Note: &lt;li&gt; &lt;ul&gt;Solr service should be in Stopped state.&lt;/ul&gt; &lt;ul&gt;HDFS, Zookeeper, and Sentry services should in Running state.&lt;/ul&gt; &lt;ul&gt;This is only needed for upgrading to CDH6.0.&lt;/ul&gt; &lt;p&gt; Available since API v30.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void solrMigrateSentryPrivilegesCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.solrMigrateSentryPrivilegesCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Reinitializes the Solr state by clearing the Solr HDFS data directory, the Solr data directory, and the Zookeeper state.
     *
     * Reinitializes the Solr state by clearing the Solr HDFS data directory, the Solr data directory, and the Zookeeper state. &lt;p&gt; Note: &lt;li&gt; &lt;ul&gt;Solr service should be in Stopped state.&lt;/ul&gt; &lt;ul&gt;HDFS and Zookeeper services should in Running state.&lt;/ul&gt; &lt;ul&gt;This is only needed for upgrading to CDH6.0.&lt;/ul&gt; &lt;p&gt; Available since API v30.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void solrReinitializeStateForUpgradeCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.solrReinitializeStateForUpgradeCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Validates Solr metadata and configurations.
     *
     * Validates Solr metadata and configurations. &lt;p&gt; Note: This is only needed for upgrading to CDH6.0. &lt;p&gt; Available since API v30.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void solrValidateMetadataCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.solrValidateMetadataCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Create the Sqoop2 Server Database tables.
     *
     * Create the Sqoop2 Server Database tables. &lt;p&gt; This command is to be run whenever a new database has been specified. Will do nothing if tables already exist. Will not perform an upgrade. Only available when Sqoop2 Server is stopped. &lt;p&gt; Available since API v10.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void sqoopCreateDatabaseTablesCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.sqoopCreateDatabaseTablesCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Upgrade Sqoop Database schema as part of a major version upgrade.
     *
     * Upgrade Sqoop Database schema as part of a major version upgrade. &lt;p/&gt; When doing a major version upgrade for Sqoop, it is necessary to upgrade the schema of its database before Sqoop can run successfully. &lt;p/&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void sqoopUpgradeDbCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.sqoopUpgradeDbCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Start the service.
     *
     * Start the service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void startCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.startCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Stop the service.
     *
     * Stop the service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void stopCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.stopCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Change the cluster to use MR2 instead of MR1.
     *
     * Change the cluster to use MR2 instead of MR1. Services will be restarted. &lt;p&gt; Will perform the following steps: &lt;ul&gt; &lt;li&gt;Update all services that depend on MapReduce to instead depend on Yarn. &lt;/li&gt; &lt;li&gt;Stop MapReduce&lt;/li&gt; &lt;li&gt;Start Yarn (MR2 Included)&lt;/li&gt; &lt;li&gt;Deploy Yarn (MR2) Client Configuration&lt;/li&gt; &lt;/ul&gt; &lt;p&gt; Available since API v6.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void switchToMr2Test() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.switchToMr2(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Updates service information.
     *
     * Updates service information. &lt;p/&gt; This method will update only writable fields of the service information. Currently this only includes the service display name. &lt;p/&gt; Available since API v3.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void updateServiceTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiService body = null;
        ApiService response = api.updateService(clusterName, serviceName, body);

        // TODO: test validations
    }
    
    /**
     * Updates the service configuration with the given values.
     *
     * Updates the service configuration with the given values. &lt;p&gt; If a value is set in the given configuration, it will be added to the service&#39;s configuration, replacing any existing entries. If a value is unset (its value is null), the existing configuration for the attribute will be erased, if any. &lt;p&gt; Attributes that are not listed in the input will maintain their current values in the configuration.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void updateServiceConfigTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        String message = null;
        ApiServiceConfig body = null;
        ApiServiceConfig response = api.updateServiceConfig(clusterName, serviceName, message, body);

        // TODO: test validations
    }
    
    /**
     * Formats the state store in ZooKeeper used for Resource Manager High Availability.
     *
     * Formats the state store in ZooKeeper used for Resource Manager High Availability. Typically used while moving from non-secure to secure cluster or vice-versa. &lt;p&gt; Available since API v8.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void yarnFormatStateStoreTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.yarnFormatStateStore(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Clean up all running server instances of a ZooKeeper service.
     *
     * Clean up all running server instances of a ZooKeeper service. &lt;p&gt; This command removes snapshots and transaction log files kept by ZooKeeper for backup purposes. Refer to the ZooKeeper documentation for more details.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void zooKeeperCleanupCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.zooKeeperCleanupCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
    /**
     * Initializes all the server instances of a ZooKeeper service.
     *
     * Initializes all the server instances of a ZooKeeper service. &lt;p&gt; ZooKeeper server roles need to be initialized before they can be used.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void zooKeeperInitCommandTest() throws ApiException {
        String clusterName = null;
        String serviceName = null;
        ApiCommand response = api.zooKeeperInitCommand(clusterName, serviceName);

        // TODO: test validations
    }
    
}
