/*
 * Swagger of Opencellsoft Api
 * @#Introduction
 *
 * The version of the OpenAPI document: 7.3.1-SNAPSHOT
 * Contact: contact@opencellsoft.fr
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package org.openapitools.client.api;

import org.openapitools.client.ApiException;
import org.openapitools.client.model.ActionStatus;
import org.openapitools.client.model.BomOfferDto;
import org.openapitools.client.model.BpmProductDto;
import org.openapitools.client.model.BsmServiceDto;
import org.openapitools.client.model.InlineResponseDefault;
import org.threeten.bp.OffsetDateTime;
import org.openapitools.client.model.ProductChargeTemplateDto;
import org.openapitools.client.model.ProductTemplateDto;
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 CatalogApi
 */
@Ignore
public class CatalogApiTest {

    private final CatalogApi api = new CatalogApi();

    
    /**
     *  Delete a single productChargeTemplate by its code  
     *
     *  Delete a single productChargeTemplate by its code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void dELETECatalogProductChargeTemplateCode1Test() throws ApiException {
        String code = null;
        InlineResponseDefault response = api.dELETECatalogProductChargeTemplateCode1(code);

        // TODO: test validations
    }
    
    /**
     *  Delete a single productTemplate by its code and validity dates
     *
     *  Delete a single productTemplate by its code and validity dates. If no validity dates are provided, a product template valid on a current date will be deleted.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void dELETECatalogProductTemplateCode1Test() throws ApiException {
        String code = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        InlineResponseDefault response = api.dELETECatalogProductTemplateCode1(code, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Get a list of categories  
     *
     *  Get a list of categories  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogCategory1Test() throws ApiException {
        InlineResponseDefault response = api.gETCatalogCategory1();

        // TODO: test validations
    }
    
    /**
     *  Get a single category by its code  
     *
     *  Get a single category by its code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogCategoryCode1Test() throws ApiException {
        String code = null;
        InlineResponseDefault response = api.gETCatalogCategoryCode1(code);

        // TODO: test validations
    }
    
    /**
     *  Get a single productChargeTemplate by its code  
     *
     *  Get a single productChargeTemplate by its code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogProductChargeTemplateCode1Test() throws ApiException {
        String code = null;
        InlineResponseDefault response = api.gETCatalogProductChargeTemplateCode1(code);

        // TODO: test validations
    }
    
    /**
     *  List all productChargeTemplates  
     *
     *  List all productChargeTemplates  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogProductChargeTemplateList1Test() throws ApiException {
        InlineResponseDefault response = api.gETCatalogProductChargeTemplateList1();

        // TODO: test validations
    }
    
    /**
     *  Get a list of product offerings optionally filtering by some criteria  
     *
     *  Get a list of product offerings optionally filtering by some criteria  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogProductOffering1Test() throws ApiException {
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        InlineResponseDefault response = api.gETCatalogProductOffering1(validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Get details of a single Product template and validity dates
     *
     *  Get details of a single Product template and validity dates. If no validity dates are provided, an Product template valid on a current date will be returned.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogProductOfferingId1Test() throws ApiException {
        String id = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        InlineResponseDefault response = api.gETCatalogProductOfferingId1(id, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Get a list of product specifications optionally filtering by some criteria  
     *
     *  Get a list of product specifications optionally filtering by some criteria  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogProductSpecification1Test() throws ApiException {
        InlineResponseDefault response = api.gETCatalogProductSpecification1();

        // TODO: test validations
    }
    
    /**
     *  Get details of a single product  
     *
     *  Get details of a single product  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogProductSpecificationId1Test() throws ApiException {
        String id = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        InlineResponseDefault response = api.gETCatalogProductSpecificationId1(id, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Get a single productTemplate by its code and validity dates
     *
     *  Get a single productTemplate by its code and validity dates. If no validity dates are provided, a product template valid on a current date will be deleted.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogProductTemplateCode1Test() throws ApiException {
        String code = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        InlineResponseDefault response = api.gETCatalogProductTemplateCode1(code, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  List all product templates optionally filtering by code and validity dates
     *
     *  List all product templates optionally filtering by code and validity dates. If neither date is provided, validity dates will not be considered. If only validFrom is provided, a search will return products valid on a given date. If only validTo date is provided, a search will return products valid from today to a given date.  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETCatalogProductTemplateList1Test() throws ApiException {
        String code = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        InlineResponseDefault response = api.gETCatalogProductTemplateList1(code, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Get version of application  
     *
     *  Get version of application  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void gETIBaseVersion96Test() throws ApiException {
        ActionStatus response = api.gETIBaseVersion96();

        // TODO: test validations
    }
    
    /**
     *  Create offer from BOM definition  
     *
     *  Create offer from BOM definition  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogCreateOfferFromBOM1Test() throws ApiException {
        BomOfferDto bomOfferDto = null;
        InlineResponseDefault response = api.pOSTCatalogCreateOfferFromBOM1(bomOfferDto);

        // TODO: test validations
    }
    
    /**
     *  Create product from BPM definition  
     *
     *  Create product from BPM definition  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogCreateProductFromBPM1Test() throws ApiException {
        BpmProductDto bpmProductDto = null;
        InlineResponseDefault response = api.pOSTCatalogCreateProductFromBPM1(bpmProductDto);

        // TODO: test validations
    }
    
    /**
     *  Create service from BSM definition  
     *
     *  Create service from BSM definition  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogCreateServiceFromBSM1Test() throws ApiException {
        BsmServiceDto bsmServiceDto = null;
        InlineResponseDefault response = api.pOSTCatalogCreateServiceFromBSM1(bsmServiceDto);

        // TODO: test validations
    }
    
    /**
     *  Create product charge template  
     *
     *  Create product charge template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogProductChargeTemplate1Test() throws ApiException {
        ProductChargeTemplateDto productChargeTemplateDto = null;
        InlineResponseDefault response = api.pOSTCatalogProductChargeTemplate1(productChargeTemplateDto);

        // TODO: test validations
    }
    
    /**
     *  Disable a Product charge template with a given code  
     *
     *  Disable a Product charge template with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogProductChargeTemplateCodeDisable1Test() throws ApiException {
        String code = null;
        InlineResponseDefault response = api.pOSTCatalogProductChargeTemplateCodeDisable1(code);

        // TODO: test validations
    }
    
    /**
     *  Enable a Product charge template with a given code  
     *
     *  Enable a Product charge template with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogProductChargeTemplateCodeEnable1Test() throws ApiException {
        String code = null;
        InlineResponseDefault response = api.pOSTCatalogProductChargeTemplateCodeEnable1(code);

        // TODO: test validations
    }
    
    /**
     *  Create or update product charge template  
     *
     *  Create or update product charge template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogProductChargeTemplateCreateOrUpdate1Test() throws ApiException {
        ProductChargeTemplateDto productChargeTemplateDto = null;
        InlineResponseDefault response = api.pOSTCatalogProductChargeTemplateCreateOrUpdate1(productChargeTemplateDto);

        // TODO: test validations
    }
    
    /**
     *  Create product template  
     *
     *  Create product template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogProductTemplate1Test() throws ApiException {
        ProductTemplateDto productTemplateDto = null;
        InlineResponseDefault response = api.pOSTCatalogProductTemplate1(productTemplateDto);

        // TODO: test validations
    }
    
    /**
     *  Disable a Product template with a given code  
     *
     *  Disable a Product template with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogProductTemplateCodeDisable1Test() throws ApiException {
        String code = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        InlineResponseDefault response = api.pOSTCatalogProductTemplateCodeDisable1(code, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Enable a Product template with a given code  
     *
     *  Enable a Product template with a given code  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogProductTemplateCodeEnable1Test() throws ApiException {
        String code = null;
        OffsetDateTime validFrom = null;
        OffsetDateTime validTo = null;
        InlineResponseDefault response = api.pOSTCatalogProductTemplateCodeEnable1(code, validFrom, validTo);

        // TODO: test validations
    }
    
    /**
     *  Create or update product template  
     *
     *  Create or update product template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pOSTCatalogProductTemplateCreateOrUpdate1Test() throws ApiException {
        ProductTemplateDto productTemplateDto = null;
        InlineResponseDefault response = api.pOSTCatalogProductTemplateCreateOrUpdate1(productTemplateDto);

        // TODO: test validations
    }
    
    /**
     *  Update product charge template  
     *
     *  Update product charge template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTCatalogProductChargeTemplate1Test() throws ApiException {
        ProductChargeTemplateDto productChargeTemplateDto = null;
        InlineResponseDefault response = api.pUTCatalogProductChargeTemplate1(productChargeTemplateDto);

        // TODO: test validations
    }
    
    /**
     *  Update product template  
     *
     *  Update product template  
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void pUTCatalogProductTemplate1Test() throws ApiException {
        ProductTemplateDto productTemplateDto = null;
        InlineResponseDefault response = api.pUTCatalogProductTemplate1(productTemplateDto);

        // TODO: test validations
    }
    
    /**
     * 
     *
     * 
     *
     * @throws ApiException
     *          if the Api call fails
     */
    @Test
    public void user95Test() throws ApiException {
        ActionStatus response = api.user95();

        // TODO: test validations
    }
    
}
