Aludel.Evals.TestCaseImporter (aludel v0.4.2)

Copy Markdown View Source

Imports suite test cases from CSV and JSON payloads.

Supported formats:

  • JSON: array of objects with input, expected, and assertion keys
  • CSV: header row with input,expected,assertion and optional notes

Summary

Functions

Parses CSV import payload and returns test case attributes plus row-level errors.

Parses JSON import payload and returns test case attributes plus row-level errors.

Types

import_row_error()

@type import_row_error() :: %{
  row: non_neg_integer(),
  message: String.t(),
  payload: term()
}

import_summary()

@type import_summary() :: %{
  created: non_neg_integer(),
  rejected: non_neg_integer(),
  test_cases: [map()]
}

Functions

parse_csv(payload)

@spec parse_csv(binary()) ::
  {:ok, %{errors: [import_row_error()], summary: import_summary()}}
  | {:error, String.t()}

Parses CSV import payload and returns test case attributes plus row-level errors.

parse_json(payload)

@spec parse_json(binary()) ::
  {:ok, %{errors: [import_row_error()], summary: import_summary()}}
  | {:error, String.t()}

Parses JSON import payload and returns test case attributes plus row-level errors.