/*
 * Lethean Blockchain API
 * OpenAPI for Lethean Blockchain
 *
 * The version of the OpenAPI document: 6.0.1
 * 
 *
 * 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.lthn.api;

import org.lthn.ApiException;
import org.openapitools.client.model.BlockDetailsModel;
import org.openapitools.client.model.BlockTemplateModel;
import org.openapitools.client.model.BlockTemplateRequestModel;
import org.openapitools.client.model.HeightModel;
import org.openapitools.client.model.SubmitBlockRequestModel;
import org.openapitools.client.model.SubmitBlockResponseModel;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * API tests for BlockApi
 */
@Disabled
public class BlockApiTest {

    private final BlockApi api = new BlockApi();

    /**
     * Create a block template for mining
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void createBlockTemplateTest() throws ApiException {
        BlockTemplateRequestModel blockTemplateRequestModel = null;
        BlockTemplateModel response = api.createBlockTemplate(blockTemplateRequestModel);
        // TODO: test validations
    }

    /**
     * Get a block by its hash or height (ID)
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getBlockTest() throws ApiException {
        String identifier = null;
        BlockDetailsModel response = api.getBlock(identifier);
        // TODO: test validations
    }

    /**
     * Get one or more blocks, with optional pagination.
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getBlocksTest() throws ApiException {
        List<BlockDetailsModel> response = api.getBlocks();
        // TODO: test validations
    }

    /**
     * Get the current blockchain height
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getHeightTest() throws ApiException {
        HeightModel response = api.getHeight();
        // TODO: test validations
    }

    /**
     * Submit a new block to the network
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void submitBlockTest() throws ApiException {
        SubmitBlockRequestModel submitBlockRequestModel = null;
        SubmitBlockResponseModel response = api.submitBlock(submitBlockRequestModel);
        // TODO: test validations
    }

}
