Documentation
¶
Index ¶
- Constants
- func FetchAllTraceTests(ctx context.Context, client *TuskClient, auth AuthOptions, serviceID string, ...) ([]*backend.TraceTest, error)
- func FetchDriftRunTraceTests(ctx context.Context, client *TuskClient, auth AuthOptions, driftRunID string, ...) ([]*backend.TraceTest, error)
- func GetBaseURL() string
- func SetupCloud(ctx context.Context, requireServiceID bool) (*TuskClient, AuthOptions, *config.Config, error)
- type AuthOptions
- type Deviation
- type FetchAllTraceTestsOptions
- type MockInteraction
- type RecordedRequest
- type RecordedResponse
- type RetryConfig
- type TestRecording
- type TestResult
- type TuskClient
- func (c *TuskClient) CreateApiKey(ctx context.Context, in *backend.CreateApiKeyRequest, auth AuthOptions) (*backend.CreateApiKeyResponse, error)
- func (c *TuskClient) CreateDriftRun(ctx context.Context, in *backend.CreateDriftRunRequest, auth AuthOptions) (string, error)
- func (c *TuskClient) CreateObservableService(ctx context.Context, in *backend.CreateObservableServiceRequest, ...) (*backend.CreateObservableServiceResponse, error)
- func (c *TuskClient) ExportSpans(ctx context.Context, in *backend.ExportSpansRequest, auth AuthOptions) (*backend.ExportSpansResponse, error)
- func (c *TuskClient) GetAllTraceTests(ctx context.Context, in *backend.GetAllTraceTestsRequest, auth AuthOptions) (*backend.GetAllTraceTestsResponseSuccess, error)
- func (c *TuskClient) GetAuthInfo(ctx context.Context, in *backend.GetAuthInfoRequest, auth AuthOptions) (*backend.GetAuthInfoResponse, error)
- func (c *TuskClient) GetDriftRunTraceTests(ctx context.Context, in *backend.GetDriftRunTraceTestsRequest, ...) (*backend.GetDriftRunTraceTestsResponseSuccess, error)
- func (c *TuskClient) GetGlobalSpans(ctx context.Context, in *backend.GetGlobalSpansRequest, auth AuthOptions) (*backend.GetGlobalSpansResponseSuccess, error)
- func (c *TuskClient) GetObservableServiceInfo(ctx context.Context, in *backend.GetObservableServiceInfoRequest, ...) (*backend.GetObservableServiceInfoResponseSuccess, error)
- func (c *TuskClient) GetPreAppStartSpans(ctx context.Context, in *backend.GetPreAppStartSpansRequest, auth AuthOptions) (*backend.GetPreAppStartSpansResponseSuccess, error)
- func (c *TuskClient) GetTraceTest(ctx context.Context, in *backend.GetTraceTestRequest, auth AuthOptions) (*backend.GetTraceTestResponseSuccess, error)
- func (c *TuskClient) GetValidationTraceTests(ctx context.Context, in *backend.GetValidationTraceTestsRequest, ...) (*backend.GetValidationTraceTestsResponseSuccess, error)
- func (c *TuskClient) UpdateDriftRunCIStatus(ctx context.Context, in *backend.UpdateDriftRunCIStatusRequest, ...) error
- func (c *TuskClient) UploadTraceTestResults(ctx context.Context, in *backend.UploadTraceTestResultsRequest, ...) error
- func (c *TuskClient) VerifyRepoAccess(ctx context.Context, in *backend.VerifyRepoAccessRequest, auth AuthOptions) (*backend.VerifyRepoAccessResponse, error)
Constants ¶
const ( // DefaultBaseURL is the default Tusk Cloud API URL DefaultBaseURL = "https://api.usetusk.ai" TestRunServiceAPIPath = "/api/drift/test_run_service" ClientServiceAPIPath = "/api/drift/client_service" SpanExportServiceAPIPath = "/api/drift/tusk.drift.backend.v1.SpanExportService" )
Variables ¶
This section is empty.
Functions ¶
func FetchAllTraceTests ¶ added in v0.1.43
func FetchAllTraceTests( ctx context.Context, client *TuskClient, auth AuthOptions, serviceID string, opts *FetchAllTraceTestsOptions, ) ([]*backend.TraceTest, error)
FetchAllTraceTests fetches all trace tests from the cloud with a progress bar. This is the shared implementation used by both `tusk list -c` and `tusk run -c`.
func FetchDriftRunTraceTests ¶ added in v0.1.43
func FetchDriftRunTraceTests( ctx context.Context, client *TuskClient, auth AuthOptions, driftRunID string, opts *FetchAllTraceTestsOptions, ) ([]*backend.TraceTest, error)
FetchDriftRunTraceTests fetches trace tests for a specific drift run with a progress bar.
func GetBaseURL ¶ added in v0.1.23
func GetBaseURL() string
GetBaseURL returns the API base URL with the following priority: 1. TUSK_CLOUD_API_URL environment variable 2. tusk_api.url from .tusk/config.yaml 3. Default URL (https://api.usetusk.ai)
func SetupCloud ¶
func SetupCloud(ctx context.Context, requireServiceID bool) (*TuskClient, AuthOptions, *config.Config, error)
Types ¶
type AuthOptions ¶
type FetchAllTraceTestsOptions ¶ added in v0.1.43
type FetchAllTraceTestsOptions struct {
// Message to show in the progress bar
Message string
// PageSize for pagination (default 25)
PageSize int32
}
FetchAllTraceTestsOptions configures the fetch behavior
type MockInteraction ¶
type MockInteraction struct {
Service string `json:"service"`
Request RecordedRequest `json:"request"`
Response RecordedResponse `json:"response"`
Order int `json:"order"`
Timestamp time.Time `json:"timestamp"`
}
type RecordedRequest ¶
type RecordedResponse ¶
type RetryConfig ¶ added in v0.1.14
type RetryConfig struct {
MaxRetries int
BaseBackoff time.Duration
MaxBackoff time.Duration
JitterMin float64
JitterMax float64
}
func DefaultRetryConfig ¶ added in v0.1.14
func DefaultRetryConfig(maxRetries int) RetryConfig
DefaultRetryConfig returns normal retry configuration
func FastRetryConfig ¶ added in v0.1.14
func FastRetryConfig(maxRetries int) RetryConfig
FastRetryConfig returns retry configuration for testing
type TestRecording ¶
type TestRecording struct {
ID string `json:"id"`
ServiceID string `json:"service_id"`
TraceID string `json:"trace_id"`
Method string `json:"method"`
Path string `json:"path"`
Request RecordedRequest `json:"request"`
Response RecordedResponse `json:"response"`
Mocks []MockInteraction `json:"mocks"`
Timestamp time.Time `json:"timestamp"`
Metadata map[string]any `json:"metadata"`
}
type TestResult ¶
type TestResult struct {
TestID string `json:"test_id"`
ServiceID string `json:"service_id"`
Passed bool `json:"passed"`
Duration int `json:"duration_ms"`
Deviations []Deviation `json:"deviations,omitempty"`
Error string `json:"error,omitempty"`
ExecutedAt time.Time `json:"executed_at"`
Environment string `json:"environment"`
}
type TuskClient ¶
type TuskClient struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(baseURL, apiKey string) *TuskClient
func (*TuskClient) CreateApiKey ¶ added in v0.1.19
func (c *TuskClient) CreateApiKey(ctx context.Context, in *backend.CreateApiKeyRequest, auth AuthOptions) (*backend.CreateApiKeyResponse, error)
func (*TuskClient) CreateDriftRun ¶
func (c *TuskClient) CreateDriftRun(ctx context.Context, in *backend.CreateDriftRunRequest, auth AuthOptions) (string, error)
func (*TuskClient) CreateObservableService ¶ added in v0.1.19
func (c *TuskClient) CreateObservableService(ctx context.Context, in *backend.CreateObservableServiceRequest, auth AuthOptions) (*backend.CreateObservableServiceResponse, error)
func (*TuskClient) ExportSpans ¶ added in v0.1.46
func (c *TuskClient) ExportSpans(ctx context.Context, in *backend.ExportSpansRequest, auth AuthOptions) (*backend.ExportSpansResponse, error)
ExportSpans uploads spans to Tusk Cloud
func (*TuskClient) GetAllTraceTests ¶
func (c *TuskClient) GetAllTraceTests(ctx context.Context, in *backend.GetAllTraceTestsRequest, auth AuthOptions) (*backend.GetAllTraceTestsResponseSuccess, error)
func (*TuskClient) GetAuthInfo ¶ added in v0.1.17
func (c *TuskClient) GetAuthInfo(ctx context.Context, in *backend.GetAuthInfoRequest, auth AuthOptions) (*backend.GetAuthInfoResponse, error)
func (*TuskClient) GetDriftRunTraceTests ¶
func (c *TuskClient) GetDriftRunTraceTests(ctx context.Context, in *backend.GetDriftRunTraceTestsRequest, auth AuthOptions) (*backend.GetDriftRunTraceTestsResponseSuccess, error)
func (*TuskClient) GetGlobalSpans ¶
func (c *TuskClient) GetGlobalSpans(ctx context.Context, in *backend.GetGlobalSpansRequest, auth AuthOptions) (*backend.GetGlobalSpansResponseSuccess, error)
func (*TuskClient) GetObservableServiceInfo ¶ added in v0.1.31
func (c *TuskClient) GetObservableServiceInfo(ctx context.Context, in *backend.GetObservableServiceInfoRequest, auth AuthOptions) (*backend.GetObservableServiceInfoResponseSuccess, error)
GetObservableServiceInfo fetches observable service info including default branch
func (*TuskClient) GetPreAppStartSpans ¶
func (c *TuskClient) GetPreAppStartSpans(ctx context.Context, in *backend.GetPreAppStartSpansRequest, auth AuthOptions) (*backend.GetPreAppStartSpansResponseSuccess, error)
func (*TuskClient) GetTraceTest ¶
func (c *TuskClient) GetTraceTest(ctx context.Context, in *backend.GetTraceTestRequest, auth AuthOptions) (*backend.GetTraceTestResponseSuccess, error)
func (*TuskClient) GetValidationTraceTests ¶ added in v0.1.31
func (c *TuskClient) GetValidationTraceTests(ctx context.Context, in *backend.GetValidationTraceTestsRequest, auth AuthOptions) (*backend.GetValidationTraceTestsResponseSuccess, error)
GetValidationTraceTests fetches traces for validation (both DRAFT and IN_SUITE)
func (*TuskClient) UpdateDriftRunCIStatus ¶
func (c *TuskClient) UpdateDriftRunCIStatus(ctx context.Context, in *backend.UpdateDriftRunCIStatusRequest, auth AuthOptions) error
func (*TuskClient) UploadTraceTestResults ¶
func (c *TuskClient) UploadTraceTestResults(ctx context.Context, in *backend.UploadTraceTestResultsRequest, auth AuthOptions) error
func (*TuskClient) VerifyRepoAccess ¶ added in v0.1.19
func (c *TuskClient) VerifyRepoAccess(ctx context.Context, in *backend.VerifyRepoAccessRequest, auth AuthOptions) (*backend.VerifyRepoAccessResponse, error)