/*
 * Cloudera Manager API
 * <h1>Cloudera Manager API v57</h1>       <p>Introduced in Cloudera Manager 7.13.1</p>       <p><a href=\"http://www.cloudera.com/documentation.html\">Cloudera Product Documentation</a></p>
 *
 * OpenAPI spec version: 7.13.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.model.ApiCommand;
import com.cloudera.api.swagger.model.ApiCommandMetadataList;
import com.cloudera.api.swagger.model.ApiConfigList;
import com.cloudera.api.swagger.model.ApiExternalAccount;
import com.cloudera.api.swagger.model.ApiExternalAccountCategoryList;
import com.cloudera.api.swagger.model.ApiExternalAccountList;
import com.cloudera.api.swagger.model.ApiExternalAccountTypeList;
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 ExternalAccountsResourceApi
 */
@Ignore
public class ExternalAccountsResourceApiTest {

    private final ExternalAccountsResourceApi api = new ExternalAccountsResourceApi();

    /**
     * Create a new external account.
     *
     * Create a new external account. Account names and display names must be unique, i.e. they must not share names or display names with an existing account. Server generates an account ID for the requested account.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void createAccountTest() throws Exception {
        ApiExternalAccount body = null;
        ApiExternalAccount response = api.createAccount(body);

        // TODO: test validations
    }
    /**
     * Delete an external account, specifying its name.
     *
     * Delete an external account, specifying its name.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void deleteAccountTest() throws Exception {
        String name = null;
        ApiExternalAccount response = api.deleteAccount(name);

        // TODO: test validations
    }
    /**
     * Executes a command on the external account specified by name.
     *
     * Executes a command on the external account specified by name. &lt;p&gt; Available since API v16.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void externalAccountCommandByNameTest() throws Exception {
        String commandName = null;
        String name = null;
        ApiCommand response = api.externalAccountCommandByName(commandName, name);

        // TODO: test validations
    }
    /**
     * List of external account categories supported by this Cloudera Manager.
     *
     * List of external account categories supported by this Cloudera Manager.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void getSupportedCategoriesTest() throws Exception {
        ApiExternalAccountCategoryList response = api.getSupportedCategories();

        // TODO: test validations
    }
    /**
     * List of external account types supported by this Cloudera Manager by category.
     *
     * List of external account types supported by this Cloudera Manager by category.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void getSupportedTypesTest() throws Exception {
        String categoryName = null;
        ApiExternalAccountTypeList response = api.getSupportedTypes(categoryName);

        // TODO: test validations
    }
    /**
     * Lists all the commands that can be executed by name on the provided external account type.
     *
     * Lists all the commands that can be executed by name on the provided external account type. &lt;p&gt; Available since API v16.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void listExternalAccountCommandsTest() throws Exception {
        String typeName = null;
        ApiCommandMetadataList response = api.listExternalAccountCommands(typeName);

        // TODO: test validations
    }
    /**
     * Get a single external account by account name.
     *
     * Get a single external account by account name.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void readAccountTest() throws Exception {
        String name = null;
        String view = null;
        ApiExternalAccount response = api.readAccount(name, view);

        // TODO: test validations
    }
    /**
     * Get a single external account by display name.
     *
     * Get a single external account by display name.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void readAccountByDisplayNameTest() throws Exception {
        String displayName = null;
        String view = null;
        ApiExternalAccount response = api.readAccountByDisplayName(displayName, view);

        // TODO: test validations
    }
    /**
     * Get un-redacted credentials of an external account for the given account name, currently supported only for ALTUS accounts.
     *
     * Get un-redacted credentials of an external account for the given account name, currently supported only for ALTUS accounts.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void readAccountCredentialsTest() throws Exception {
        String name = null;
        ApiConfigList response = api.readAccountCredentials(name);

        // TODO: test validations
    }
    /**
     * Get a list of external accounts for a specific account type.
     *
     * Get a list of external accounts for a specific account type.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void readAccountsTest() throws Exception {
        String typeName = null;
        String view = null;
        ApiExternalAccountList response = api.readAccounts(typeName, view);

        // TODO: test validations
    }
    /**
     * Get configs of external account for the given account name.
     *
     * Get configs of external account for the given account name.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void readConfigTest() throws Exception {
        String name = null;
        String view = null;
        ApiConfigList response = api.readConfig(name, view);

        // TODO: test validations
    }
    /**
     * Update an external account.
     *
     * Update an external account.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void updateAccountTest() throws Exception {
        ApiExternalAccount body = null;
        ApiExternalAccount response = api.updateAccount(body);

        // TODO: test validations
    }
    /**
     * Upadate configs of external account for the given account name.
     *
     * Upadate configs of external account for the given account name.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void updateConfigTest() throws Exception {
        String name = null;
        ApiConfigList body = null;
        String message = null;
        ApiConfigList response = api.updateConfig(name, body, message);

        // TODO: test validations
    }
}
