/*
 * 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.Job;
import io.daytona.api.client.model.JobStatus;
import io.daytona.api.client.model.PaginatedJobs;
import io.daytona.api.client.model.PollJobsResponse;
import io.daytona.api.client.model.UpdateJobStatus;
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 JobsApi
 */
@Disabled
public class JobsApiTest {

    private final JobsApi api = new JobsApi();

    /**
     * Get job details
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void getJobTest() throws ApiException {
        String jobId = null;
        Job response = api.getJob(jobId);
        // TODO: test validations
    }

    /**
     * List jobs for the runner
     *
     * Returns a paginated list of jobs for the runner, optionally filtered by status.
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void listJobsTest() throws ApiException {
        BigDecimal page = null;
        BigDecimal limit = null;
        JobStatus status = null;
        BigDecimal offset = null;
        PaginatedJobs response = api.listJobs(page, limit, status, offset);
        // TODO: test validations
    }

    /**
     * Long poll for jobs
     *
     * Long poll endpoint for runners to fetch pending jobs. Returns immediately if jobs are available, otherwise waits up to timeout seconds.
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void pollJobsTest() throws ApiException {
        BigDecimal timeout = null;
        BigDecimal limit = null;
        PollJobsResponse response = api.pollJobs(timeout, limit);
        // TODO: test validations
    }

    /**
     * Update job status
     *
     * @throws ApiException if the Api call fails
     */
    @Test
    public void updateJobStatusTest() throws ApiException {
        String jobId = null;
        UpdateJobStatus updateJobStatus = null;
        Job response = api.updateJobStatus(jobId, updateJobStatus);
        // TODO: test validations
    }

}
