/*
 * Daytona
 * Daytona AI platform API Docs
 *
 * The version of the OpenAPI document: 1.0
 * Contact: support@daytona.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package io.daytona.api.client.api;

import io.daytona.api.client.ApiException;
import java.math.BigDecimal;
import io.daytona.api.client.model.CreateSnapshot;
import io.daytona.api.client.model.PaginatedSnapshots;
import io.daytona.api.client.model.SnapshotDto;
import io.daytona.api.client.model.Url;
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 SnapshotsApi
 */
@Disabled
public class SnapshotsApiTest {

    private final SnapshotsApi api = new SnapshotsApi();

    /**
     * Activate a snapshot
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void activateSnapshotTest() throws ApiException {
        String id = null;
        String xDaytonaOrganizationID = null;
        SnapshotDto response = api.activateSnapshot(id, xDaytonaOrganizationID);
        // TODO: test validations
    }

    /**
     * Create a new snapshot
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void createSnapshotTest() throws ApiException {
        CreateSnapshot createSnapshot = null;
        String xDaytonaOrganizationID = null;
        SnapshotDto response = api.createSnapshot(createSnapshot, xDaytonaOrganizationID);
        // TODO: test validations
    }

    /**
     * Deactivate a snapshot
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void deactivateSnapshotTest() throws ApiException {
        String id = null;
        String xDaytonaOrganizationID = null;
        api.deactivateSnapshot(id, xDaytonaOrganizationID);
        // TODO: test validations
    }

    /**
     * List all snapshots
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getAllSnapshotsTest() throws ApiException {
        String xDaytonaOrganizationID = null;
        BigDecimal page = null;
        BigDecimal limit = null;
        String name = null;
        String sort = null;
        String order = null;
        PaginatedSnapshots response = api.getAllSnapshots(xDaytonaOrganizationID, page, limit, name, sort, order);
        // TODO: test validations
    }

    /**
     * Get snapshot by ID or name
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getSnapshotTest() throws ApiException {
        String id = null;
        String xDaytonaOrganizationID = null;
        SnapshotDto response = api.getSnapshot(id, xDaytonaOrganizationID);
        // TODO: test validations
    }

    /**
     * Get snapshot build logs
     *
     * This endpoint is deprecated. Use &#x60;getSnapshotBuildLogsUrl&#x60; instead.
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getSnapshotBuildLogsTest() throws ApiException {
        String id = null;
        String xDaytonaOrganizationID = null;
        Boolean follow = null;
        api.getSnapshotBuildLogs(id, xDaytonaOrganizationID, follow);
        // TODO: test validations
    }

    /**
     * Get snapshot build logs URL
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getSnapshotBuildLogsUrlTest() throws ApiException {
        String id = null;
        String xDaytonaOrganizationID = null;
        Url response = api.getSnapshotBuildLogsUrl(id, xDaytonaOrganizationID);
        // TODO: test validations
    }

    /**
     * Delete snapshot
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void removeSnapshotTest() throws ApiException {
        String id = null;
        String xDaytonaOrganizationID = null;
        api.removeSnapshot(id, xDaytonaOrganizationID);
        // TODO: test validations
    }

}
