dash0test

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 2, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package dash0test provides testing utilities for the Dash0 API client.

Index

Constants

View Source
const (
	// TestAuthToken is a valid test auth token for use in tests.
	TestAuthToken = "auth_test_token"

	// TestDataset is a test dataset name for use in tests.
	TestDataset = "test-dataset"
)

Variables

This section is empty.

Functions

func MockServer

func MockServer(t *testing.T, method, path string, statusCode int, response interface{}) *httptest.Server

MockServer creates a test server that responds with the given data. It validates that requests match the expected method and path.

Example:

server := dash0test.MockServer(t, "GET", "/api/dashboards", http.StatusOK, []dash0.Dashboard{})
defer server.Close()

client, _ := dash0.NewClient(dash0.WithApiUrl(server.URL), dash0.WithAuthToken(dash0test.TestAuthToken))

func MockServerFunc

func MockServerFunc(handler http.HandlerFunc) *httptest.Server

MockServerFunc creates a test server with a custom handler function. Use this when you need more control over the response behavior.

Example:

server := dash0test.MockServerFunc(func(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("x-trace-id", "test-trace-id")
    w.WriteHeader(http.StatusOK)
    json.NewEncoder(w).Encode(myResponse)
})
defer server.Close()

Types

type MockClient

type MockClient struct {
	// Dashboards
	ListDashboardsFunc     func(ctx context.Context, dataset *string) ([]*dash0.DashboardApiListItem, error)
	GetDashboardFunc       func(ctx context.Context, originOrID string, dataset *string) (*dash0.DashboardDefinition, error)
	CreateDashboardFunc    func(ctx context.Context, dashboard *dash0.DashboardDefinition, dataset *string) (*dash0.DashboardDefinition, error)
	UpdateDashboardFunc    func(ctx context.Context, originOrID string, dashboard *dash0.DashboardDefinition, dataset *string) (*dash0.DashboardDefinition, error)
	DeleteDashboardFunc    func(ctx context.Context, originOrID string, dataset *string) error
	ListDashboardsIterFunc func(ctx context.Context, dataset *string) *dash0.Iter[dash0.DashboardApiListItem]

	// Check Rules
	ListCheckRulesFunc     func(ctx context.Context, dataset *string) ([]*dash0.PrometheusAlertRuleApiListItem, error)
	GetCheckRuleFunc       func(ctx context.Context, originOrID string, dataset *string) (*dash0.PrometheusAlertRule, error)
	CreateCheckRuleFunc    func(ctx context.Context, rule *dash0.PrometheusAlertRule, dataset *string) (*dash0.PrometheusAlertRule, error)
	UpdateCheckRuleFunc    func(ctx context.Context, originOrID string, rule *dash0.PrometheusAlertRule, dataset *string) (*dash0.PrometheusAlertRule, error)
	DeleteCheckRuleFunc    func(ctx context.Context, originOrID string, dataset *string) error
	ListCheckRulesIterFunc func(ctx context.Context, dataset *string) *dash0.Iter[dash0.PrometheusAlertRuleApiListItem]

	// Synthetic Checks
	ListSyntheticChecksFunc     func(ctx context.Context, dataset *string) ([]*dash0.SyntheticChecksApiListItem, error)
	GetSyntheticCheckFunc       func(ctx context.Context, originOrID string, dataset *string) (*dash0.SyntheticCheckDefinition, error)
	CreateSyntheticCheckFunc    func(ctx context.Context, check *dash0.SyntheticCheckDefinition, dataset *string) (*dash0.SyntheticCheckDefinition, error)
	UpdateSyntheticCheckFunc    func(ctx context.Context, originOrID string, check *dash0.SyntheticCheckDefinition, dataset *string) (*dash0.SyntheticCheckDefinition, error)
	DeleteSyntheticCheckFunc    func(ctx context.Context, originOrID string, dataset *string) error
	ListSyntheticChecksIterFunc func(ctx context.Context, dataset *string) *dash0.Iter[dash0.SyntheticChecksApiListItem]

	// Views
	ListViewsFunc     func(ctx context.Context, dataset *string) ([]*dash0.ViewApiListItem, error)
	GetViewFunc       func(ctx context.Context, originOrID string, dataset *string) (*dash0.ViewDefinition, error)
	CreateViewFunc    func(ctx context.Context, view *dash0.ViewDefinition, dataset *string) (*dash0.ViewDefinition, error)
	UpdateViewFunc    func(ctx context.Context, originOrID string, view *dash0.ViewDefinition, dataset *string) (*dash0.ViewDefinition, error)
	DeleteViewFunc    func(ctx context.Context, originOrID string, dataset *string) error
	ListViewsIterFunc func(ctx context.Context, dataset *string) *dash0.Iter[dash0.ViewApiListItem]

	// Sampling Rules
	ListSamplingRulesFunc     func(ctx context.Context, dataset *string) ([]*dash0.SamplingDefinition, error)
	GetSamplingRuleFunc       func(ctx context.Context, originOrID string, dataset *string) (*dash0.SamplingDefinition, error)
	CreateSamplingRuleFunc    func(ctx context.Context, rule *dash0.SamplingDefinition, dataset *string) (*dash0.SamplingDefinition, error)
	UpdateSamplingRuleFunc    func(ctx context.Context, originOrID string, rule *dash0.SamplingDefinition, dataset *string) (*dash0.SamplingDefinition, error)
	DeleteSamplingRuleFunc    func(ctx context.Context, originOrID string, dataset *string) error
	ListSamplingRulesIterFunc func(ctx context.Context, dataset *string) *dash0.Iter[dash0.SamplingDefinition]

	// Spans
	GetSpansFunc     func(ctx context.Context, request *dash0.GetSpansRequest) (*dash0.GetSpansResponse, error)
	GetSpansIterFunc func(ctx context.Context, request *dash0.GetSpansRequest) *dash0.Iter[dash0.ResourceSpans]

	// Logs
	GetLogRecordsFunc     func(ctx context.Context, request *dash0.GetLogRecordsRequest) (*dash0.GetLogRecordsResponse, error)
	GetLogRecordsIterFunc func(ctx context.Context, request *dash0.GetLogRecordsRequest) *dash0.Iter[dash0.ResourceLogs]

	// Import
	ImportCheckRuleFunc      func(ctx context.Context, rule *dash0.PostApiImportCheckRuleJSONRequestBody, dataset *string) (*dash0.PrometheusAlertRule, error)
	ImportDashboardFunc      func(ctx context.Context, dashboard *dash0.PostApiImportDashboardJSONRequestBody, dataset *string) (*dash0.DashboardDefinition, error)
	ImportSyntheticCheckFunc func(ctx context.Context, check *dash0.PostApiImportSyntheticCheckJSONRequestBody, dataset *string) (*dash0.SyntheticCheckDefinition, error)
	ImportViewFunc           func(ctx context.Context, view *dash0.PostApiImportViewJSONRequestBody, dataset *string) (*dash0.ViewDefinition, error)

	// Inner
	InnerFunc func() *dash0.ClientWithResponses
}

MockClient is a configurable mock implementation of dash0.Client. Set the function fields to customize behavior for each test.

Example:

mock := &dash0test.MockClient{
    ListDashboardsFunc: func(ctx context.Context, dataset *string) ([]*dash0.DashboardApiListItem, error) {
        return []*dash0.DashboardApiListItem{{Id: dash0.Ptr("test-id")}}, nil
    },
}
svc := NewMyService(mock) // accepts dash0.Client interface

func (*MockClient) CreateCheckRule

func (m *MockClient) CreateCheckRule(ctx context.Context, rule *dash0.PrometheusAlertRule, dataset *string) (*dash0.PrometheusAlertRule, error)

func (*MockClient) CreateDashboard

func (m *MockClient) CreateDashboard(ctx context.Context, dashboard *dash0.DashboardDefinition, dataset *string) (*dash0.DashboardDefinition, error)

func (*MockClient) CreateSamplingRule added in v1.1.0

func (m *MockClient) CreateSamplingRule(ctx context.Context, rule *dash0.SamplingDefinition, dataset *string) (*dash0.SamplingDefinition, error)

func (*MockClient) CreateSyntheticCheck

func (m *MockClient) CreateSyntheticCheck(ctx context.Context, check *dash0.SyntheticCheckDefinition, dataset *string) (*dash0.SyntheticCheckDefinition, error)

func (*MockClient) CreateView

func (m *MockClient) CreateView(ctx context.Context, view *dash0.ViewDefinition, dataset *string) (*dash0.ViewDefinition, error)

func (*MockClient) DeleteCheckRule

func (m *MockClient) DeleteCheckRule(ctx context.Context, originOrID string, dataset *string) error

func (*MockClient) DeleteDashboard

func (m *MockClient) DeleteDashboard(ctx context.Context, originOrID string, dataset *string) error

func (*MockClient) DeleteSamplingRule added in v1.1.0

func (m *MockClient) DeleteSamplingRule(ctx context.Context, originOrID string, dataset *string) error

func (*MockClient) DeleteSyntheticCheck

func (m *MockClient) DeleteSyntheticCheck(ctx context.Context, originOrID string, dataset *string) error

func (*MockClient) DeleteView

func (m *MockClient) DeleteView(ctx context.Context, originOrID string, dataset *string) error

func (*MockClient) GetCheckRule

func (m *MockClient) GetCheckRule(ctx context.Context, originOrID string, dataset *string) (*dash0.PrometheusAlertRule, error)

func (*MockClient) GetDashboard

func (m *MockClient) GetDashboard(ctx context.Context, originOrID string, dataset *string) (*dash0.DashboardDefinition, error)

func (*MockClient) GetLogRecords

func (*MockClient) GetLogRecordsIter

func (m *MockClient) GetLogRecordsIter(ctx context.Context, request *dash0.GetLogRecordsRequest) *dash0.Iter[dash0.ResourceLogs]

func (*MockClient) GetSamplingRule added in v1.1.0

func (m *MockClient) GetSamplingRule(ctx context.Context, originOrID string, dataset *string) (*dash0.SamplingDefinition, error)

func (*MockClient) GetSpans

func (m *MockClient) GetSpans(ctx context.Context, request *dash0.GetSpansRequest) (*dash0.GetSpansResponse, error)

func (*MockClient) GetSpansIter

func (m *MockClient) GetSpansIter(ctx context.Context, request *dash0.GetSpansRequest) *dash0.Iter[dash0.ResourceSpans]

func (*MockClient) GetSyntheticCheck

func (m *MockClient) GetSyntheticCheck(ctx context.Context, originOrID string, dataset *string) (*dash0.SyntheticCheckDefinition, error)

func (*MockClient) GetView

func (m *MockClient) GetView(ctx context.Context, originOrID string, dataset *string) (*dash0.ViewDefinition, error)

func (*MockClient) ImportCheckRule

func (*MockClient) ImportDashboard

func (*MockClient) ImportSyntheticCheck

func (*MockClient) ImportView

func (*MockClient) Inner

func (m *MockClient) Inner() *dash0.ClientWithResponses

func (*MockClient) ListCheckRules

func (m *MockClient) ListCheckRules(ctx context.Context, dataset *string) ([]*dash0.PrometheusAlertRuleApiListItem, error)

func (*MockClient) ListCheckRulesIter

func (m *MockClient) ListCheckRulesIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.PrometheusAlertRuleApiListItem]

func (*MockClient) ListDashboards

func (m *MockClient) ListDashboards(ctx context.Context, dataset *string) ([]*dash0.DashboardApiListItem, error)

func (*MockClient) ListDashboardsIter

func (m *MockClient) ListDashboardsIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.DashboardApiListItem]

func (*MockClient) ListSamplingRules added in v1.1.0

func (m *MockClient) ListSamplingRules(ctx context.Context, dataset *string) ([]*dash0.SamplingDefinition, error)

func (*MockClient) ListSamplingRulesIter added in v1.1.0

func (m *MockClient) ListSamplingRulesIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.SamplingDefinition]

func (*MockClient) ListSyntheticChecks

func (m *MockClient) ListSyntheticChecks(ctx context.Context, dataset *string) ([]*dash0.SyntheticChecksApiListItem, error)

func (*MockClient) ListSyntheticChecksIter

func (m *MockClient) ListSyntheticChecksIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.SyntheticChecksApiListItem]

func (*MockClient) ListViews

func (m *MockClient) ListViews(ctx context.Context, dataset *string) ([]*dash0.ViewApiListItem, error)

func (*MockClient) ListViewsIter

func (m *MockClient) ListViewsIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.ViewApiListItem]

func (*MockClient) UpdateCheckRule

func (m *MockClient) UpdateCheckRule(ctx context.Context, originOrID string, rule *dash0.PrometheusAlertRule, dataset *string) (*dash0.PrometheusAlertRule, error)

func (*MockClient) UpdateDashboard

func (m *MockClient) UpdateDashboard(ctx context.Context, originOrID string, dashboard *dash0.DashboardDefinition, dataset *string) (*dash0.DashboardDefinition, error)

func (*MockClient) UpdateSamplingRule added in v1.1.0

func (m *MockClient) UpdateSamplingRule(ctx context.Context, originOrID string, rule *dash0.SamplingDefinition, dataset *string) (*dash0.SamplingDefinition, error)

func (*MockClient) UpdateSyntheticCheck

func (m *MockClient) UpdateSyntheticCheck(ctx context.Context, originOrID string, check *dash0.SyntheticCheckDefinition, dataset *string) (*dash0.SyntheticCheckDefinition, error)

func (*MockClient) UpdateView

func (m *MockClient) UpdateView(ctx context.Context, originOrID string, view *dash0.ViewDefinition, dataset *string) (*dash0.ViewDefinition, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL