/*
 * 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.ApiHostRefList;
import com.cloudera.api.swagger.model.ApiHostTemplate;
import com.cloudera.api.swagger.model.ApiHostTemplateList;
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 HostTemplatesResourceApi
 */
@Ignore
public class HostTemplatesResourceApiTest {

    private final HostTemplatesResourceApi api = new HostTemplatesResourceApi();

    /**
     * Applies a host template to a collection of hosts.
     *
     * Applies a host template to a collection of hosts. This will create a role for each role config group on each of the hosts. &lt;p&gt; The provided hosts must not have any existing roles on them and if the cluster is not using parcels, the hosts must have a CDH version matching that of the cluster version. &lt;p&gt; Available since API v3.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void applyHostTemplateTest() throws Exception {
        String clusterName = null;
        String hostTemplateName = null;
        ApiHostRefList body = null;
        Boolean runConfigRules = null;
        Boolean startRoles = null;
        ApiCommand response = api.applyHostTemplate(clusterName, hostTemplateName, body, runConfigRules, startRoles);

        // TODO: test validations
    }
    /**
     * Creates new host templates.
     *
     * Creates new host templates. &lt;p&gt; Host template names must be unique across clusters. &lt;p&gt; Available since API v3.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void createHostTemplatesTest() throws Exception {
        String clusterName = null;
        ApiHostTemplateList body = null;
        ApiHostTemplateList response = api.createHostTemplates(clusterName, body);

        // TODO: test validations
    }
    /**
     * Deletes a host template.
     *
     * Deletes a host template. &lt;p&gt; Available since API v3.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void deleteHostTemplateTest() throws Exception {
        String clusterName = null;
        String hostTemplateName = null;
        ApiHostTemplate response = api.deleteHostTemplate(clusterName, hostTemplateName);

        // TODO: test validations
    }
    /**
     * Retrieves information about a host template.
     *
     * Retrieves information about a host template. &lt;p&gt; Available since API v3.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void readHostTemplateTest() throws Exception {
        String clusterName = null;
        String hostTemplateName = null;
        ApiHostTemplate response = api.readHostTemplate(clusterName, hostTemplateName);

        // TODO: test validations
    }
    /**
     * Lists all host templates in a cluster.
     *
     * Lists all host templates in a cluster. &lt;p&gt; Available since API v3.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void readHostTemplatesTest() throws Exception {
        String clusterName = null;
        ApiHostTemplateList response = api.readHostTemplates(clusterName);

        // TODO: test validations
    }
    /**
     * Reapplies a host template on all the hosts associated with the host template.
     *
     * Reapplies a host template on all the hosts associated with the host template. This will run apply host template command on the all the hosts using the host template  . &lt;p&gt; Set deleteRoles to true to delete the roles on the associated hosts if RCG is missing from host template. Check host tags with name as _cldr_cm_host_template_name to find out hosts using with the host template. &lt;p&gt; Available since API v46.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void reapplyHostTemplateOnHostsTest() throws Exception {
        String clusterName = null;
        String hostTemplateName = null;
        Boolean deleteRoles = null;
        Boolean startRoles = null;
        ApiCommand response = api.reapplyHostTemplateOnHosts(clusterName, hostTemplateName, deleteRoles, startRoles);

        // TODO: test validations
    }
    /**
     * Updates an existing host template.
     *
     * Updates an existing host template. &lt;p&gt; Can be used to update the role config groups in a host template or rename it. &lt;p&gt; Available since API v3.
     *
     * @throws Exception
     *          if the Api call fails
     */
    @Test
    public void updateHostTemplateTest() throws Exception {
        String clusterName = null;
        String hostTemplateName = null;
        ApiHostTemplate body = null;
        ApiHostTemplate response = api.updateHostTemplate(clusterName, hostTemplateName, body);

        // TODO: test validations
    }
}
