Documentation
¶
Overview ¶
Package dash0test provides testing utilities for the Dash0 API client.
Index ¶
- Constants
- func MockServer(t *testing.T, method, path string, statusCode int, response interface{}) *httptest.Server
- func MockServerFunc(handler http.HandlerFunc) *httptest.Server
- type MockClient
- func (m *MockClient) CreateCheckRule(ctx context.Context, rule *dash0.PrometheusAlertRule, dataset *string) (*dash0.PrometheusAlertRule, error)
- func (m *MockClient) CreateDashboard(ctx context.Context, dashboard *dash0.DashboardDefinition, dataset *string) (*dash0.DashboardDefinition, error)
- func (m *MockClient) CreateSamplingRule(ctx context.Context, rule *dash0.SamplingDefinition, dataset *string) (*dash0.SamplingDefinition, error)
- func (m *MockClient) CreateSyntheticCheck(ctx context.Context, check *dash0.SyntheticCheckDefinition, dataset *string) (*dash0.SyntheticCheckDefinition, error)
- func (m *MockClient) CreateView(ctx context.Context, view *dash0.ViewDefinition, dataset *string) (*dash0.ViewDefinition, error)
- func (m *MockClient) DeleteCheckRule(ctx context.Context, originOrID string, dataset *string) error
- func (m *MockClient) DeleteDashboard(ctx context.Context, originOrID string, dataset *string) error
- func (m *MockClient) DeleteSamplingRule(ctx context.Context, originOrID string, dataset *string) error
- func (m *MockClient) DeleteSyntheticCheck(ctx context.Context, originOrID string, dataset *string) error
- func (m *MockClient) DeleteView(ctx context.Context, originOrID string, dataset *string) error
- func (m *MockClient) GetCheckRule(ctx context.Context, originOrID string, dataset *string) (*dash0.PrometheusAlertRule, error)
- func (m *MockClient) GetDashboard(ctx context.Context, originOrID string, dataset *string) (*dash0.DashboardDefinition, error)
- func (m *MockClient) GetLogRecords(ctx context.Context, request *dash0.GetLogRecordsRequest) (*dash0.GetLogRecordsResponse, error)
- func (m *MockClient) GetLogRecordsIter(ctx context.Context, request *dash0.GetLogRecordsRequest) *dash0.Iter[dash0.ResourceLogs]
- func (m *MockClient) GetSamplingRule(ctx context.Context, originOrID string, dataset *string) (*dash0.SamplingDefinition, error)
- func (m *MockClient) GetSpans(ctx context.Context, request *dash0.GetSpansRequest) (*dash0.GetSpansResponse, error)
- func (m *MockClient) GetSpansIter(ctx context.Context, request *dash0.GetSpansRequest) *dash0.Iter[dash0.ResourceSpans]
- func (m *MockClient) GetSyntheticCheck(ctx context.Context, originOrID string, dataset *string) (*dash0.SyntheticCheckDefinition, error)
- func (m *MockClient) GetView(ctx context.Context, originOrID string, dataset *string) (*dash0.ViewDefinition, error)
- func (m *MockClient) ImportCheckRule(ctx context.Context, rule *dash0.PostApiImportCheckRuleJSONRequestBody, ...) (*dash0.PrometheusAlertRule, error)
- func (m *MockClient) ImportDashboard(ctx context.Context, dashboard *dash0.PostApiImportDashboardJSONRequestBody, ...) (*dash0.DashboardDefinition, error)
- func (m *MockClient) ImportSyntheticCheck(ctx context.Context, check *dash0.PostApiImportSyntheticCheckJSONRequestBody, ...) (*dash0.SyntheticCheckDefinition, error)
- func (m *MockClient) ImportView(ctx context.Context, view *dash0.PostApiImportViewJSONRequestBody, ...) (*dash0.ViewDefinition, error)
- func (m *MockClient) Inner() *dash0.ClientWithResponses
- func (m *MockClient) ListCheckRules(ctx context.Context, dataset *string) ([]*dash0.PrometheusAlertRuleApiListItem, error)
- func (m *MockClient) ListCheckRulesIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.PrometheusAlertRuleApiListItem]
- func (m *MockClient) ListDashboards(ctx context.Context, dataset *string) ([]*dash0.DashboardApiListItem, error)
- func (m *MockClient) ListDashboardsIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.DashboardApiListItem]
- func (m *MockClient) ListSamplingRules(ctx context.Context, dataset *string) ([]*dash0.SamplingDefinition, error)
- func (m *MockClient) ListSamplingRulesIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.SamplingDefinition]
- func (m *MockClient) ListSyntheticChecks(ctx context.Context, dataset *string) ([]*dash0.SyntheticChecksApiListItem, error)
- func (m *MockClient) ListSyntheticChecksIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.SyntheticChecksApiListItem]
- func (m *MockClient) ListViews(ctx context.Context, dataset *string) ([]*dash0.ViewApiListItem, error)
- func (m *MockClient) ListViewsIter(ctx context.Context, dataset *string) *dash0.Iter[dash0.ViewApiListItem]
- func (m *MockClient) UpdateCheckRule(ctx context.Context, originOrID string, rule *dash0.PrometheusAlertRule, ...) (*dash0.PrometheusAlertRule, error)
- func (m *MockClient) UpdateDashboard(ctx context.Context, originOrID string, dashboard *dash0.DashboardDefinition, ...) (*dash0.DashboardDefinition, error)
- func (m *MockClient) UpdateSamplingRule(ctx context.Context, originOrID string, rule *dash0.SamplingDefinition, ...) (*dash0.SamplingDefinition, error)
- func (m *MockClient) UpdateSyntheticCheck(ctx context.Context, originOrID string, check *dash0.SyntheticCheckDefinition, ...) (*dash0.SyntheticCheckDefinition, error)
- func (m *MockClient) UpdateView(ctx context.Context, originOrID string, view *dash0.ViewDefinition, ...) (*dash0.ViewDefinition, error)
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 (*MockClient) DeleteDashboard ¶
func (*MockClient) DeleteSamplingRule ¶ added in v1.1.0
func (*MockClient) DeleteSyntheticCheck ¶
func (*MockClient) DeleteView ¶
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 (m *MockClient) GetLogRecords(ctx context.Context, request *dash0.GetLogRecordsRequest) (*dash0.GetLogRecordsResponse, error)
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 (m *MockClient) ImportCheckRule(ctx context.Context, rule *dash0.PostApiImportCheckRuleJSONRequestBody, dataset *string) (*dash0.PrometheusAlertRule, error)
func (*MockClient) ImportDashboard ¶
func (m *MockClient) ImportDashboard(ctx context.Context, dashboard *dash0.PostApiImportDashboardJSONRequestBody, dataset *string) (*dash0.DashboardDefinition, error)
func (*MockClient) ImportSyntheticCheck ¶
func (m *MockClient) ImportSyntheticCheck(ctx context.Context, check *dash0.PostApiImportSyntheticCheckJSONRequestBody, dataset *string) (*dash0.SyntheticCheckDefinition, error)
func (*MockClient) ImportView ¶
func (m *MockClient) ImportView(ctx context.Context, view *dash0.PostApiImportViewJSONRequestBody, dataset *string) (*dash0.ViewDefinition, error)
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)
Click to show internal directories.
Click to hide internal directories.