diff --git a/api/tests.yaml b/api/tests.yaml
index 3a15a0d8da..3d63faed86 100644
--- a/api/tests.yaml
+++ b/api/tests.yaml
@@ -177,6 +177,8 @@ components:
type: string
value:
type: string
+ error:
+ type: string
metadata:
type: object
diff --git a/cli/openapi/model_test_run_outputs_inner.go b/cli/openapi/model_test_run_outputs_inner.go
index 1731166f15..37a3a82331 100644
--- a/cli/openapi/model_test_run_outputs_inner.go
+++ b/cli/openapi/model_test_run_outputs_inner.go
@@ -22,6 +22,7 @@ type TestRunOutputsInner struct {
Name *string `json:"name,omitempty"`
SpanId *string `json:"spanId,omitempty"`
Value *string `json:"value,omitempty"`
+ Error *string `json:"error,omitempty"`
}
// NewTestRunOutputsInner instantiates a new TestRunOutputsInner object
@@ -137,6 +138,38 @@ func (o *TestRunOutputsInner) SetValue(v string) {
o.Value = &v
}
+// GetError returns the Error field value if set, zero value otherwise.
+func (o *TestRunOutputsInner) GetError() string {
+ if o == nil || isNil(o.Error) {
+ var ret string
+ return ret
+ }
+ return *o.Error
+}
+
+// GetErrorOk returns a tuple with the Error field value if set, nil otherwise
+// and a boolean to check if the value has been set.
+func (o *TestRunOutputsInner) GetErrorOk() (*string, bool) {
+ if o == nil || isNil(o.Error) {
+ return nil, false
+ }
+ return o.Error, true
+}
+
+// HasError returns a boolean if a field has been set.
+func (o *TestRunOutputsInner) HasError() bool {
+ if o != nil && !isNil(o.Error) {
+ return true
+ }
+
+ return false
+}
+
+// SetError gets a reference to the given string and assigns it to the Error field.
+func (o *TestRunOutputsInner) SetError(v string) {
+ o.Error = &v
+}
+
func (o TestRunOutputsInner) MarshalJSON() ([]byte, error) {
toSerialize, err := o.ToMap()
if err != nil {
@@ -156,6 +189,9 @@ func (o TestRunOutputsInner) ToMap() (map[string]interface{}, error) {
if !isNil(o.Value) {
toSerialize["value"] = o.Value
}
+ if !isNil(o.Error) {
+ toSerialize["error"] = o.Error
+ }
return toSerialize, nil
}
diff --git a/server/executor/assertion_runner.go b/server/executor/assertion_runner.go
index 870f4ed5ac..ab57d0eb98 100644
--- a/server/executor/assertion_runner.go
+++ b/server/executor/assertion_runner.go
@@ -253,7 +253,7 @@ func (e *defaultAssertionRunner) validateOutputResolution(ctx context.Context, r
return nil
}
- anotherErr := e.eventEmitter.Emit(ctx, events.TestOutputGenerationWarning(request.Test.ID, request.Run.ID, outputName))
+ anotherErr := e.eventEmitter.Emit(ctx, events.TestOutputGenerationWarning(request.Test.ID, request.Run.ID, outputModel.Error, outputName))
if anotherErr != nil {
log.Printf("[AssertionRunner] Test %s Run %d: fail to emit TestOutputGenerationWarning event: %s\n", request.Test.ID, request.Run.ID, anotherErr.Error())
}
diff --git a/server/executor/outputs_processor.go b/server/executor/outputs_processor.go
index c4317b2b61..833e720b42 100644
--- a/server/executor/outputs_processor.go
+++ b/server/executor/outputs_processor.go
@@ -59,6 +59,21 @@ func outputProcessor(ctx context.Context, outputs maps.Ordered[string, model.Out
}
err = parsed.ForEach(func(key string, out parsedOutput) error {
+ if out.err != nil {
+ res, err = res.Add(key, model.RunOutput{
+ Value: "",
+ SpanID: "",
+ Name: key,
+ Resolved: false,
+ Error: out.err,
+ })
+ if err != nil {
+ return fmt.Errorf(`cannot process output "%s": %w`, key, err)
+ }
+
+ return nil
+ }
+
spans := out.selector.Filter(tr)
stores := append([]expression.DataStore{expression.MetaAttributesDataStore{SelectedSpans: spans}}, ds...)
@@ -66,6 +81,7 @@ func outputProcessor(ctx context.Context, outputs maps.Ordered[string, model.Out
value := ""
spanId := ""
resolved := false
+ var outputError error = nil
spans.
ForEach(func(_ int, span model.Span) bool {
value = extractAttr(span, stores, out.expr)
@@ -77,6 +93,7 @@ func outputProcessor(ctx context.Context, outputs maps.Ordered[string, model.Out
OrEmpty(func() {
value = extractAttr(model.Span{}, stores, out.expr)
resolved = false
+ outputError = fmt.Errorf(`cannot find matching spans for output "%s"`, key)
})
res, err = res.Add(key, model.RunOutput{
@@ -84,6 +101,7 @@ func outputProcessor(ctx context.Context, outputs maps.Ordered[string, model.Out
SpanID: spanId,
Name: key,
Resolved: resolved,
+ Error: outputError,
})
if err != nil {
return fmt.Errorf(`cannot process output "%s": %w`, key, err)
@@ -112,25 +130,31 @@ func extractAttr(span model.Span, ds []expression.DataStore, expr expression.Exp
type parsedOutput struct {
selector selectors.Selector
expr expression.Expr
+ err error
}
func parseOutputs(outputs maps.Ordered[string, model.Output]) (maps.Ordered[string, parsedOutput], error) {
var parsed maps.Ordered[string, parsedOutput]
parseErr := outputs.ForEach(func(key string, out model.Output) error {
+ var selector selectors.Selector
+ var expr expression.Expr
+ var outputErr error = nil
+
expr, err := expression.Parse(out.Value)
if err != nil {
- return fmt.Errorf(`cannot parse output "%s" value "%s": %w`, key, out.Value, err)
+ outputErr = fmt.Errorf(`cannot parse output "%s" value "%s": %w`, key, out.Value, err)
}
- selector, err := selectors.New(string(out.Selector))
+ selector, err = selectors.New(string(out.Selector))
if err != nil {
- return fmt.Errorf(`cannot parse output "%s" selector "%s": %w`, key, string(out.Selector), err)
+ outputErr = fmt.Errorf(`cannot parse output "%s" selector "%s": %w`, key, string(out.Selector), err)
}
parsed, _ = parsed.Add(key, parsedOutput{
selector: selector,
expr: expr,
+ err: outputErr,
})
return nil
})
diff --git a/server/http/mappings/tests.go b/server/http/mappings/tests.go
index 404e9755e8..94805f4e04 100644
--- a/server/http/mappings/tests.go
+++ b/server/http/mappings/tests.go
@@ -325,6 +325,7 @@ func (m OpenAPI) RunOutputs(in maps.Ordered[string, model.RunOutput]) []openapi.
Name: key,
Value: val.Value,
SpanId: val.SpanID,
+ Error: errToString(val.Error),
})
return nil
})
@@ -496,6 +497,7 @@ func (m Model) RunOutputs(in []openapi.TestRunOutputsInner) maps.Ordered[string,
Value: output.Value,
Name: output.Name,
SpanID: output.SpanId,
+ Error: fmt.Errorf(output.Error),
})
}
diff --git a/server/model/events/events.go b/server/model/events/events.go
index 3713b2cc7f..bbd7100923 100644
--- a/server/model/events/events.go
+++ b/server/model/events/events.go
@@ -307,14 +307,14 @@ func TraceStoppedInfo(testID id.ID, runID int) model.TestRunEvent {
}
}
-func TestOutputGenerationWarning(testID id.ID, runID int, output string) model.TestRunEvent {
+func TestOutputGenerationWarning(testID id.ID, runID int, err error, output string) model.TestRunEvent {
return model.TestRunEvent{
TestID: testID,
RunID: runID,
Stage: model.StageTest,
Type: "OUTPUT_GENERATION_WARNING",
Title: fmt.Sprintf(`Output '%s' not generated`, output),
- Description: fmt.Sprintf(`The value for the output '%s' could not be generated`, output),
+ Description: fmt.Sprintf(`The output '%s' returned an error. Error: %s`, output, err.Error()),
CreatedAt: time.Now(),
DataStoreConnection: model.ConnectionResult{},
Polling: model.PollingInfo{},
diff --git a/server/model/json.go b/server/model/json.go
index 155a6ca89b..735feaf667 100644
--- a/server/model/json.go
+++ b/server/model/json.go
@@ -10,6 +10,45 @@ import (
"go.opentelemetry.io/otel/trace"
)
+func (ro RunOutput) MarshalJSON() ([]byte, error) {
+ return json.Marshal(&struct {
+ Name string
+ Value string
+ SpanID string
+ Resolved bool
+ Error string
+ }{
+ Name: ro.Name,
+ Value: ro.Value,
+ SpanID: ro.SpanID,
+ Resolved: ro.Resolved,
+ Error: errToString(ro.Error),
+ })
+}
+
+func (ro *RunOutput) UnmarshalJSON(data []byte) error {
+ aux := struct {
+ Name string
+ Value string
+ SpanID string
+ Resolved bool
+ Error string
+ }{}
+ if err := json.Unmarshal(data, &aux); err != nil {
+ return err
+ }
+
+ ro.Name = aux.Name
+ ro.Value = aux.Value
+ ro.SpanID = aux.SpanID
+ ro.Resolved = aux.Resolved
+ if err := stringToErr(aux.Error); err != nil {
+ ro.Error = err
+ }
+
+ return nil
+}
+
func (sar SpanAssertionResult) MarshalJSON() ([]byte, error) {
sid := ""
if sar.SpanID != nil {
diff --git a/server/model/tests.go b/server/model/tests.go
index bf965a6b2a..ac8c3fcb80 100644
--- a/server/model/tests.go
+++ b/server/model/tests.go
@@ -123,6 +123,7 @@ type (
Value string
SpanID string
Resolved bool
+ Error error
}
AssertionResult struct {
diff --git a/server/openapi/model_test_run_outputs_inner.go b/server/openapi/model_test_run_outputs_inner.go
index e40cc35e4b..dcea4786db 100644
--- a/server/openapi/model_test_run_outputs_inner.go
+++ b/server/openapi/model_test_run_outputs_inner.go
@@ -15,6 +15,8 @@ type TestRunOutputsInner struct {
SpanId string `json:"spanId,omitempty"`
Value string `json:"value,omitempty"`
+
+ Error string `json:"error,omitempty"`
}
// AssertTestRunOutputsInnerRequired checks if the required fields are not zero-ed
diff --git a/web/src/components/TestOutput/TestOutput.styled.ts b/web/src/components/TestOutput/TestOutput.styled.ts
index da9c841699..f199a544f7 100644
--- a/web/src/components/TestOutput/TestOutput.styled.ts
+++ b/web/src/components/TestOutput/TestOutput.styled.ts
@@ -1,4 +1,4 @@
-import {MoreOutlined} from '@ant-design/icons';
+import {InfoCircleFilled, MoreOutlined} from '@ant-design/icons';
import {Typography} from 'antd';
import styled from 'styled-components';
@@ -60,3 +60,7 @@ export const ActionsContainer = styled.div`
display: flex;
justify-content: flex-end;
`;
+
+export const IconWarning = styled(InfoCircleFilled)`
+ color: ${({theme}) => theme.color.warningYellow};
+`;
diff --git a/web/src/components/TestOutput/TestOutput.tsx b/web/src/components/TestOutput/TestOutput.tsx
index e7af644b3d..d04efcd33f 100644
--- a/web/src/components/TestOutput/TestOutput.tsx
+++ b/web/src/components/TestOutput/TestOutput.tsx
@@ -1,4 +1,4 @@
-import {Tag} from 'antd';
+import {Tag, Tooltip} from 'antd';
import {useCallback} from 'react';
import AttributeValue from 'components/AttributeValue';
import {useTestOutput} from 'providers/TestOutput/TestOutput.provider';
@@ -18,7 +18,7 @@ interface IProps {
const TestOutput = ({
index,
- output: {id, name, isDeleted, isDraft, spanId, selector, value, valueRun, valueRunDraft},
+ output: {id, name, isDeleted, isDraft, spanId, selector, value, valueRun, valueRunDraft, error},
output,
onEdit,
onDelete,
@@ -75,6 +75,11 @@ const TestOutput = ({
>
)}
+ {error && (
+
+
+
+ )}
diff --git a/web/src/models/TestOutput.model.ts b/web/src/models/TestOutput.model.ts
index 431b574395..5b6ad3c6f7 100644
--- a/web/src/models/TestOutput.model.ts
+++ b/web/src/models/TestOutput.model.ts
@@ -11,6 +11,7 @@ type TestOutput = {
valueRunDraft: string;
id: number;
spanId: string;
+ error: string;
};
function TestOutput({name = '', selector = {}, value = ''}: TRawTestOutput, id = -1): TestOutput {
@@ -24,6 +25,7 @@ function TestOutput({name = '', selector = {}, value = ''}: TRawTestOutput, id =
valueRun: '',
valueRunDraft: '',
spanId: '',
+ error: '',
};
}
diff --git a/web/src/models/TestRunOutput.model.ts b/web/src/models/TestRunOutput.model.ts
index 8954a5bfc4..23fd2ba9e5 100644
--- a/web/src/models/TestRunOutput.model.ts
+++ b/web/src/models/TestRunOutput.model.ts
@@ -4,14 +4,16 @@ export type TRawTestRunOutput = {
name?: string;
value?: string;
spanId?: string;
+ error?: string;
};
type TestRunOutput = Model;
-const TestRunOutput = ({name = '', value = '', spanId = ''}: TRawTestRunOutput): TestRunOutput => {
+const TestRunOutput = ({name = '', value = '', spanId = '', error = ''}: TRawTestRunOutput): TestRunOutput => {
return {
name,
value,
spanId,
+ error,
};
};
diff --git a/web/src/redux/testOutputs/slice.ts b/web/src/redux/testOutputs/slice.ts
index 65ce7feae7..ad0802888d 100644
--- a/web/src/redux/testOutputs/slice.ts
+++ b/web/src/redux/testOutputs/slice.ts
@@ -48,6 +48,7 @@ const testOutputsSlice = createSlice({
...output,
valueRun: runOutputs[index]?.value ?? '',
spanId: runOutputs[index]?.spanId ?? '',
+ error: runOutputs[index]?.error ?? '',
}));
},
},
diff --git a/web/src/types/Generated.types.ts b/web/src/types/Generated.types.ts
index e67498b458..5e9ad02fe9 100644
--- a/web/src/types/Generated.types.ts
+++ b/web/src/types/Generated.types.ts
@@ -239,20 +239,7 @@ export interface operations {
};
/** get transactions */
getTransactions: {
- parameters: {
- query: {
- /** indicates how many transactions can be returned by each page */
- take?: number;
- /** indicates how many transactions will be skipped when paginating */
- skip?: number;
- /** query to search transactions, based on transaction name and description */
- query?: string;
- /** indicates the sort field for the transactions */
- sortBy?: "created" | "name" | "last_run";
- /** indicates the sort direction for the transactions */
- sortDirection?: "asc" | "desc";
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -288,11 +275,7 @@ export interface operations {
};
/** get transaction */
getTransaction: {
- parameters: {
- path: {
- transactionId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -306,11 +289,7 @@ export interface operations {
};
/** update transaction action */
updateTransaction: {
- parameters: {
- path: {
- transactionId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
204: never;
@@ -325,11 +304,7 @@ export interface operations {
};
/** delete a transaction */
deleteTransaction: {
- parameters: {
- path: {
- transactionId: string;
- };
- };
+ parameters: {};
responses: {
/** OK */
204: never;
@@ -337,12 +312,7 @@ export interface operations {
};
/** get a transaction specific version */
getTransactionVersion: {
- parameters: {
- path: {
- transactionId: string;
- version: number;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -356,12 +326,7 @@ export interface operations {
};
/** Get the transaction as an YAML file */
getTransactionVersionDefinitionFile: {
- parameters: {
- path: {
- transactionId: string;
- version: number;
- };
- };
+ parameters: {};
responses: {
/** OK */
200: {
@@ -373,17 +338,7 @@ export interface operations {
};
/** Get all runs from a particular transaction */
getTransactionRuns: {
- parameters: {
- path: {
- transactionId: string;
- };
- query: {
- /** indicates how many results can be returned by each page */
- take?: number;
- /** indicates how many results will be skipped when paginating */
- skip?: number;
- };
- };
+ parameters: {};
responses: {
/** OK */
200: {
@@ -395,11 +350,7 @@ export interface operations {
};
/** run a particular transaction */
runTransaction: {
- parameters: {
- path: {
- transactionId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -416,12 +367,7 @@ export interface operations {
};
/** Get a specific run from a particular transaction */
getTransactionRun: {
- parameters: {
- path: {
- transactionId: string;
- runId: number;
- };
- };
+ parameters: {};
responses: {
/** OK */
200: {
@@ -435,12 +381,7 @@ export interface operations {
};
/** Delete a specific run from a particular transaction */
deleteTransactionRun: {
- parameters: {
- path: {
- transactionId: string;
- runId: number;
- };
- };
+ parameters: {};
responses: {
/** OK */
204: never;
@@ -450,20 +391,7 @@ export interface operations {
};
/** get tests */
getTests: {
- parameters: {
- query: {
- /** indicates how many tests can be returned by each page */
- take?: number;
- /** indicates how many tests will be skipped when paginating */
- skip?: number;
- /** query to search tests, based on test name and description */
- query?: string;
- /** indicates the sort field for the tests */
- sortBy?: "created" | "name" | "last_run";
- /** indicates the sort direction for the tests */
- sortDirection?: "asc" | "desc";
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -499,11 +427,7 @@ export interface operations {
};
/** get test */
getTest: {
- parameters: {
- path: {
- testId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -517,11 +441,7 @@ export interface operations {
};
/** update test action */
updateTest: {
- parameters: {
- path: {
- testId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
204: never;
@@ -536,11 +456,7 @@ export interface operations {
};
/** delete a test */
deleteTest: {
- parameters: {
- path: {
- testId: string;
- };
- };
+ parameters: {};
responses: {
/** OK */
204: never;
@@ -548,17 +464,7 @@ export interface operations {
};
/** get the runs from a particular test */
getTestRuns: {
- parameters: {
- path: {
- testId: string;
- };
- query: {
- /** indicates how many results can be returned by each page */
- take?: number;
- /** indicates how many results will be skipped when paginating */
- skip?: number;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -574,11 +480,7 @@ export interface operations {
};
/** run a particular test */
runTest: {
- parameters: {
- path: {
- testId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -601,15 +503,7 @@ export interface operations {
};
/** get the spans ids that would be selected by a specific selector query */
getTestResultSelectedSpans: {
- parameters: {
- path: {
- testId: string;
- runId: string;
- };
- query: {
- query?: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -621,12 +515,7 @@ export interface operations {
};
/** use this method to test a definition against an actual trace without creating a new version or persisting anything */
dryRunAssertion: {
- parameters: {
- path: {
- testId: string;
- runId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -643,12 +532,7 @@ export interface operations {
};
/** rerun a test run */
rerunTestRun: {
- parameters: {
- path: {
- testId: string;
- runId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -660,12 +544,7 @@ export interface operations {
};
/** get test run results in JUnit xml format */
getRunResultJUnit: {
- parameters: {
- path: {
- testId: string;
- runId: string;
- };
- };
+ parameters: {};
responses: {
/** JUnit formatted file */
200: {
@@ -677,12 +556,7 @@ export interface operations {
};
/** export test and test run information for debugging */
exportTestRun: {
- parameters: {
- path: {
- testId: string;
- runId: string;
- };
- };
+ parameters: {};
responses: {
/** successfuly exported test and test run information */
200: {
@@ -710,12 +584,7 @@ export interface operations {
};
/** get a particular test Run */
getTestRun: {
- parameters: {
- path: {
- testId: string;
- runId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -727,12 +596,7 @@ export interface operations {
};
/** delete a test run */
deleteTestRun: {
- parameters: {
- path: {
- testId: string;
- runId: string;
- };
- };
+ parameters: {};
responses: {
/** OK */
204: never;
@@ -740,11 +604,7 @@ export interface operations {
};
/** Gets definition for a test */
getTestSpecs: {
- parameters: {
- path: {
- testId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
201: {
@@ -756,12 +616,7 @@ export interface operations {
};
/** get a test specific version */
getTestVersion: {
- parameters: {
- path: {
- testId: string;
- version: number;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -775,12 +630,7 @@ export interface operations {
};
/** Get the test definition as an YAML file */
getTestVersionDefinitionFile: {
- parameters: {
- path: {
- testId: string;
- version: number;
- };
- };
+ parameters: {};
responses: {
/** OK */
200: {
@@ -792,12 +642,7 @@ export interface operations {
};
/** stops the execution of a test run */
stopTestRun: {
- parameters: {
- path: {
- testId: string;
- runId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: unknown;
@@ -807,12 +652,7 @@ export interface operations {
};
/** get events from a test run */
getTestRunEvents: {
- parameters: {
- path: {
- testId: string;
- runId: number;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -824,20 +664,7 @@ export interface operations {
};
/** Get Environments */
getEnvironments: {
- parameters: {
- query: {
- /** indicates how many environments can be returned by each page */
- take?: number;
- /** indicates how many environments will be skipped when paginating */
- skip?: number;
- /** query to search environments, based on environments name and description */
- query?: string;
- /** indicates the sort field for the environments */
- sortBy?: "created" | "name";
- /** indicates the sort direction for the environments */
- sortDirection?: "asc" | "desc";
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -954,20 +781,7 @@ export interface operations {
};
/** get resources */
getResources: {
- parameters: {
- query: {
- /** indicates how many transactions can be returned by each page */
- take?: number;
- /** indicates how many transactions will be skipped when paginating */
- skip?: number;
- /** query to search transactions, based on transaction name and description */
- query?: string;
- /** indicates the sort field for the transactions */
- sortBy?: "created" | "name" | "last_run";
- /** indicates the sort direction for the transactions */
- sortDirection?: "asc" | "desc";
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -999,12 +813,7 @@ export interface operations {
};
/** Get Tracetest configuration */
getConfiguration: {
- parameters: {
- path: {
- /** ID of the configuration resource used on Tracetest. It should be set as 'current'. */
- configId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1019,12 +828,7 @@ export interface operations {
};
/** Update Tracetest configuration */
updateConfiguration: {
- parameters: {
- path: {
- /** ID of the configuration resource used on Tracetest. It should be set as 'current'. */
- configId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1045,12 +849,7 @@ export interface operations {
};
/** Get a polling profile used on Tracetest to configure how to fetch traces in a test. */
getPollingProfile: {
- parameters: {
- path: {
- /** ID of a polling profile used on Tracetest to configure how to fetch traces in a test. It should be set as 'current'. */
- pollingProfileId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1067,12 +866,7 @@ export interface operations {
};
/** Update a polling profile used on Tracetest to configure how to fetch traces in a test. */
updatePollingProfile: {
- parameters: {
- path: {
- /** ID of a polling profile used on Tracetest to configure how to fetch traces in a test. It should be set as 'current'. */
- pollingProfileId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1097,18 +891,7 @@ export interface operations {
};
/** List demonstrations used on Tracetest as quick start examples. */
listDemos: {
- parameters: {
- query: {
- /** Indicates the maximum number of demos that can be returned on this call. */
- take?: number;
- /** Indicates how many demos will be skipped when paginating. */
- skip?: number;
- /** Indicates the sort field for on which all demos will be sorted. */
- sortBy?: "type" | "enabled";
- /** Indicates the sort direction for the demos (ascending or descending). */
- sortDirection?: "asc" | "desc";
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1151,12 +934,7 @@ export interface operations {
};
/** Get a demonstration used on Tracetest as quick start examples. */
getDemo: {
- parameters: {
- path: {
- /** ID of a demonstration used on Tracetest as quick start examples. */
- demoId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1173,12 +951,7 @@ export interface operations {
};
/** Update a demonstration used on Tracetest as quick start examples. */
updateDemo: {
- parameters: {
- path: {
- /** ID of a demonstration used on Tracetest as quick start examples. */
- demoId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1203,12 +976,7 @@ export interface operations {
};
/** Delete a demonstration used on Tracetest as quick start examples. */
deleteDemo: {
- parameters: {
- path: {
- /** ID of a demonstration used on Tracetest as quick start examples. */
- demoId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
204: never;
@@ -1222,20 +990,7 @@ export interface operations {
};
/** Get all Data Stores */
getDataStores: {
- parameters: {
- query: {
- /** indicates how many data stores can be returned by each page */
- take?: number;
- /** indicates how many data stores will be skipped when paginating */
- skip?: number;
- /** query to search data stores, based on data store name */
- query?: string;
- /** indicates the sort field for the data stores */
- sortBy?: "created" | "name";
- /** indicates the sort direction for the data stores */
- sortDirection?: "asc" | "desc";
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1271,11 +1026,7 @@ export interface operations {
};
/** Get a Data Store */
getDataStore: {
- parameters: {
- path: {
- dataStoreId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
200: {
@@ -1289,11 +1040,7 @@ export interface operations {
};
/** Update a Data Store */
updateDataStore: {
- parameters: {
- path: {
- dataStoreId: string;
- };
- };
+ parameters: {};
responses: {
/** successful operation */
204: never;
@@ -1308,11 +1055,7 @@ export interface operations {
};
/** Delete a Data Store */
deleteDataStore: {
- parameters: {
- path: {
- dataStoreId: string;
- };
- };
+ parameters: {};
responses: {
/** OK */
204: never;
@@ -1320,11 +1063,7 @@ export interface operations {
};
/** Get the data store as an YAML file */
getDataStoreDefinitionFile: {
- parameters: {
- path: {
- dataStoreId: string;
- };
- };
+ parameters: {};
responses: {
/** OK */
200: {
@@ -1705,6 +1444,44 @@ export interface external {
};
operations: {};
};
+ "parameters.yaml": {
+ paths: {};
+ components: {
+ parameters: {
+ /** @description id of the test */
+ testId: string;
+ /** @description id of the run */
+ runId: number;
+ /** @description version of the test */
+ version: number;
+ /** @description id of the transaction */
+ transactionId: string;
+ /** @description indicates how many resources can be returned by each page */
+ take: number;
+ /** @description indicates how many resources will be skipped when paginating */
+ skip: number;
+ /** @description query to search resources */
+ query: string;
+ /** @description indicates the sort field for the resources */
+ runnableResourceSortBy: "created" | "name" | "last_run";
+ /** @description indicates the sort field for the resources */
+ sortBy: "created" | "name";
+ /** @description indicates the sort field for the resources */
+ switchableResourceSortBy: "type" | "enabled";
+ /** @description indicates the sort direction for the resources */
+ sortDirection: "asc" | "desc";
+ /** @description ID of the configuration resource used on Tracetest. It should be set as 'current' */
+ configId: string;
+ /** @description ID of a demonstration used on Tracetest as quick start examples */
+ demoId: string;
+ /** @description ID of a polling profile used on Tracetest to configure how to fetch traces in a test. It should be set as 'current' */
+ pollingProfileId: string;
+ /** @description ID of a datastore used on Tracetest to configure how to fetch traces in a test */
+ dataStoreId: string;
+ };
+ };
+ operations: {};
+ };
"resources.yaml": {
paths: {};
components: {
@@ -1843,6 +1620,7 @@ export interface external {
name?: string;
spanId?: string;
value?: string;
+ error?: string;
}[];
metadata?: { [key: string]: string };
transactionId?: string;