// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
//   protoc-gen-ts_proto  v1.181.1
//   protoc               v3.12.4
// source: test/Test.proto

/* eslint-disable */
import { type Metadata } from "../common/Metadata.js";
import { type Assert } from "./common/Assert.js";
import { type RefAndEndpoint } from "./common/RefAndEndpoint.js";
import { type Variable } from "./common/Variable.js";

/** Copyright Super iPaaS Integration LLC, an IBM Company 2024 */

/** The API testing related information for testing API is captured in the message */
export interface Test {
  kind?: string | undefined;
  metadata?: Metadata | undefined;
  spec?: Test_Spec | undefined;
  kindEnum?: Test_KindEnums | undefined;
  apiVersion?: string | undefined;
}

/** Kind id supported for Test sequence */
export enum Test_KindEnums {
  Test = "Test",
}

export interface Test_Environment {
  $ref?: string | undefined;
  variables?: Variable[] | undefined;
}

export interface Test_Headers {
  key?: string | undefined;
  value?: string | undefined;
  description?: string | undefined;
}

export interface Test_Auth {
  noauth?: boolean | undefined;
  bearerToken?: string | undefined;
  basicAuth?: Test_Auth_BasicAuth | undefined;
}

export interface Test_Auth_BasicAuth {
  username?: string | undefined;
  password?: string | undefined;
}

export interface Test_Raw {
  json?: string | undefined;
  js?: string | undefined;
  html?: string | undefined;
  xml?: string | undefined;
}

export interface Test_UrlEncodedFormData {
  key?: string | undefined;
  value?: string | undefined;
  type?: string | undefined;
}

export interface Test_Payload {
  raw?: Test_Raw | undefined;
  urlEncodedFormData?: Test_UrlEncodedFormData[] | undefined;
  formData?: Test_FormData[] | undefined;
}

export interface Test_Settings {
  sslVerification?: boolean | undefined;
  encodeURL?: boolean | undefined;
}

export interface Test_Assertions {
  $ref?: string | undefined;
  expressions?: Assert[] | undefined;
}

export interface Test_Parameters {
  key?: string | undefined;
  value?: string | undefined;
  description?: string | undefined;
}

export interface Test_FormData {
  key?: string | undefined;
  type?: string | undefined;
  value?: string | undefined;
}

export interface Test_Request {
  method?: string | undefined;
  resource?: string | undefined;
  headers?: Test_Headers[] | undefined;
  auth?: Test_Auth | undefined;
  payload?: Test_Payload | undefined;
  settings?: Test_Settings | undefined;
  assertions?: Test_Assertions | undefined;
  parameters?: Test_Parameters[] | undefined;
}

export interface Test_Spec {
  api?: RefAndEndpoint | undefined;
  environment?: Test_Environment | undefined;
  request?: Test_Request[] | undefined;
}
