/*
 * 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.ApiCommand;
import com.cloudera.api.swagger.model.ApiCommandList;
import com.cloudera.api.swagger.model.ApiRoleTypeList;
import com.cloudera.api.swagger.model.ApiService;
import com.cloudera.api.swagger.model.ApiServiceConfig;
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 AuthServiceResourceApi
 */
@Ignore
public class AuthServiceResourceApiTest {

    private final AuthServiceResourceApi api = new AuthServiceResourceApi();

    
    /**
     * Automatically assign roles to hosts and create the roles for the Authentication Service.
     *
     * Automatically assign roles to hosts and create the roles for the Authentication Service. &lt;p&gt; Assignments are done based on number of hosts in the deployment and hardware specifications. If no hosts are part of the deployment, an exception will be thrown preventing any role assignments. Existing roles will be taken into account and their assignments will be not be modified. The deployment should not have any clusters when calling this endpoint. If it does, an exception will be thrown preventing any role assignments.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void autoAssignRolesTest() throws ApiException {
        api.autoAssignRoles();

        // TODO: test validations
    }
    
    /**
     * Automatically configures roles of the Authentication Service.
     *
     * Automatically configures roles of the Authentication Service. &lt;p&gt; Overwrites some existing configurations. Only default role config groups must exist before calling this endpoint. Other role config groups must not exist. If they do, an exception will be thrown preventing any configuration. Ignores any clusters (and their services and roles) colocated with the Authentication Service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void autoConfigureTest() throws ApiException {
        api.autoConfigure();

        // TODO: test validations
    }
    
    /**
     * Delete the Authentication Service.
     *
     * Delete the Authentication Service. &lt;p&gt; This method will fail if a CMS instance doesn&#39;t already exist.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void deleteTest() throws ApiException {
        ApiService response = api.delete();

        // TODO: test validations
    }
    
    /**
     * Put the Authentication Service into maintenance mode.
     *
     * Put the Authentication Service into maintenance mode. This is a synchronous command. The result is known immediately upon return.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void enterMaintenanceModeTest() throws ApiException {
        ApiCommand response = api.enterMaintenanceMode();

        // TODO: test validations
    }
    
    /**
     * Take the Authentication Service out of maintenance mode.
     *
     * Take the Authentication Service out of maintenance mode. This is a synchronous command. The result is known immediately upon return.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void exitMaintenanceModeTest() throws ApiException {
        ApiCommand response = api.exitMaintenanceMode();

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

        // TODO: test validations
    }
    
    /**
     * List the supported role types for the Authentication Service.
     *
     * List the supported role types for the Authentication Service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void listRoleTypesTest() throws ApiException {
        ApiRoleTypeList response = api.listRoleTypes();

        // TODO: test validations
    }
    
    /**
     * Retrieve information about the Authentication Services.
     *
     * Retrieve information about the Authentication Services.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void readServiceTest() throws ApiException {
        ApiService response = api.readService();

        // TODO: test validations
    }
    
    /**
     * 
     *
     * 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void readServiceConfigTest() throws ApiException {
        String view = null;
        ApiServiceConfig response = api.readServiceConfig(view);

        // TODO: test validations
    }
    
    /**
     * Restart the Authentication Service.
     *
     * Restart the Authentication Service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void restartCommandTest() throws ApiException {
        ApiCommand response = api.restartCommand();

        // TODO: test validations
    }
    
    /**
     * Setup the Authentication Service.
     *
     * Setup the Authentication Service. &lt;p&gt; Configure the Auth Service instance with the information given in the ApiService. The provided configuration data can be used to set up host mappings for each role, and required configuration such as database connection information for specific roles. &lt;p&gt; This method needs a valid CM license to be installed beforehand. &lt;p&gt; This method does not start any services or roles. &lt;p&gt; This method will fail if a Auth Service instance already exists. &lt;p&gt; Available role types: &lt;ul&gt; &lt;li&gt;AUTHSRV&lt;/li&gt; &lt;/ul&gt;
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void setupTest() throws ApiException {
        ApiService body = null;
        ApiService response = api.setup(body);

        // TODO: test validations
    }
    
    /**
     * Start the Authentication Service.
     *
     * Start the Authentication Service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void startCommandTest() throws ApiException {
        ApiCommand response = api.startCommand();

        // TODO: test validations
    }
    
    /**
     * Stop the Authentication Service.
     *
     * Stop the Authentication Service.
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void stopCommandTest() throws ApiException {
        ApiCommand response = api.stopCommand();

        // TODO: test validations
    }
    
    /**
     * 
     *
     * 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void updateServiceConfigTest() throws ApiException {
        String message = null;
        ApiServiceConfig body = null;
        ApiServiceConfig response = api.updateServiceConfig(message, body);

        // TODO: test validations
    }
    
}
