Versions in this module Expand all Collapse all v0 v0.1.1 Apr 22, 2026 v0.1.0 Apr 14, 2026 Changes in this version + var EmbedPgsqlSchema embed.FS + var EmbedSqliteSchema embed.FS + var TaskRunFlagCleanup uint32 = 0x01 + var TaskRunFlagRunning uint32 = 0x04 + var TaskRunFlagSkipped uint32 = 0x08 + var TaskRunFlagStarted uint32 = 0x02 + var TaskRunFlagTimeout uint32 = 0x10 + type AITokenUsage struct + CompletionTokens int64 + CreatedAt time.Time + Date time.Time + ID int64 + Model string + PromptTokens int64 + Requests int64 + TestName string + TotalTokens int64 + type AIUsageStats struct + TotalCompletionTokens int64 + TotalPromptTokens int64 + TotalRequests int64 + TotalTokens int64 + type AssertoorState struct + Key string + Value string + type Database struct + func NewDatabase(logger logrus.FieldLogger) *Database + func (db *Database) ApplySchema(version int64) error + func (db *Database) CleanupUncleanTestRuns(tx *sqlx.Tx) error + func (db *Database) CloseDB() error + func (db *Database) DeleteTestConfig(tx *sqlx.Tx, testID string) error + func (db *Database) DeleteTestRun(tx *sqlx.Tx, runID uint64) error + func (db *Database) EngineQuery(queryMap map[EngineType]string) string + func (db *Database) GetAllTaskResultHeaders(runID uint64) ([]TaskResultHeader, error) + func (db *Database) GetAssertoorState(key string, returnValue interface{}) (interface{}, error) + func (db *Database) GetLastLogIndex(runID, taskID uint64) (uint64, error) + func (db *Database) GetTaskLogs(runID, taskID, fromIdx, limit uint64) ([]*TaskLog, error) + func (db *Database) GetTaskResultByIndex(runID, taskID uint64, resultType string, index int) (*TaskResult, error) + func (db *Database) GetTaskResultByName(runID, taskID uint64, resultType, name string) (*TaskResult, error) + func (db *Database) GetTaskResults(runID, taskID uint64, summaryType string) ([]TaskResult, error) + func (db *Database) GetTaskStateByTaskID(runID, taskID uint64) (*TaskState, error) + func (db *Database) GetTaskStateIndex(runID uint64) ([]*TaskStateIndex, error) + func (db *Database) GetTestConfig(testID string) (*TestConfig, error) + func (db *Database) GetTestConfigs() ([]*TestConfig, error) + func (db *Database) GetTestRunByRunID(runID uint64) (*TestRun, error) + func (db *Database) GetTestRunRange(testID string, firstRunID, offset, limit uint64) ([]*TestRun, uint64, error) + func (db *Database) GetTestRunStats() ([]*TestRunStats, error) + func (db *Database) GetUsageByDateRange(startDate, endDate time.Time) (*AIUsageStats, error) + func (db *Database) GetUsageByTestName(testName string, startDate, endDate time.Time) (*AIUsageStats, error) + func (db *Database) InitDB(config *DatabaseConfig) error + func (db *Database) InsertTaskLog(tx *sqlx.Tx, log *TaskLog) error + func (db *Database) InsertTaskState(tx *sqlx.Tx, state *TaskState) error + func (db *Database) InsertTestConfig(tx *sqlx.Tx, config *TestConfig) error + func (db *Database) InsertTestRun(tx *sqlx.Tx, run *TestRun) error + func (db *Database) RecordTokenUsage(tx *sqlx.Tx, date time.Time, testName, model string, ...) error + func (db *Database) RunTransaction(handler func(tx *sqlx.Tx) error) error + func (db *Database) SetAssertoorState(tx *sqlx.Tx, key string, value interface{}) error + func (db *Database) UpdateTaskStateStatus(tx *sqlx.Tx, state *TaskState, updateFields []string) error + func (db *Database) UpdateTestRunStatus(tx *sqlx.Tx, run *TestRun) error + func (db *Database) UpsertTaskResult(tx *sqlx.Tx, result *TaskResult) error + type DatabaseConfig struct + Engine string + Pgsql *PgsqlDatabaseConfig + Sqlite *SqliteDatabaseConfig + type EngineType int + const EngineAny + const EnginePgsql + const EngineSqlite + type PgsqlDatabaseConfig struct + Database string + Host string + MaxIdleConns int + MaxOpenConns int + Password string + Port string + Username string + type SqliteDatabaseConfig struct + File string + MaxIdleConns int + MaxOpenConns int + type TaskLog struct + LogFields string + LogIndex uint64 + LogLevel uint32 + LogMessage string + LogTime int64 + RunID uint64 + TaskID uint64 + type TaskResult struct + Data []byte + Index uint64 + Name string + RunID uint64 + Size uint64 + TaskID uint64 + Type string + type TaskResultHeader struct + Index uint64 + Name string + Size uint64 + TaskID uint64 + Type string + type TaskState struct + IfCond string + Name string + ParentTask uint64 + RefID string + RunFlags uint32 + RunID uint64 + ScopeOwner uint64 + StartTime int64 + StopTime int64 + TaskConfig string + TaskError string + TaskID uint64 + TaskResult int + TaskStatus string + Timeout int64 + Title string + type TaskStateIndex struct + ParentTask uint64 + RunFlags uint32 + TaskID uint64 + type TestConfig struct + Config string + ConfigVars string + Name string + ScheduleCronYaml string + ScheduleStartup bool + Source string + TestID string + Timeout int + YamlSource string + type TestRun struct + Config string + Name string + RunID uint64 + Source string + StartTime int64 + Status string + StopTime int64 + TestID string + Timeout int32 + type TestRunStats struct + Count int + LastRun uint64 + TestID string