Skip to content

Commit

Permalink
Refactor TestScrapeV2 to support different configs
Browse files Browse the repository at this point in the history
  • Loading branch information
marcsanmi committed Jun 26, 2023
1 parent 5efda2c commit 9ecafb5
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions receiver/dockerstatsreceiver/receiver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -335,3 +335,36 @@ func dockerMockServer(urlToFile *map[string]string) (*httptest.Server, error) {
_, _ = rw.Write(data)
})), nil
}

type testConfigBuilder struct {
config *Config
}

func newTestConfigBuilder() *testConfigBuilder {
return &testConfigBuilder{config: createDefaultConfig().(*Config)}
}

func (cb *testConfigBuilder) withEndpoint(endpoint string) *testConfigBuilder {
cb.config.Endpoint = endpoint
return cb
}

func (cb *testConfigBuilder) withMetrics(ms metadata.MetricsSettings) *testConfigBuilder {
cb.config.MetricsBuilderConfig.Metrics = ms
return cb
}

func (cb *testConfigBuilder) withResourceAttributes(ras metadata.ResourceAttributesSettings) *testConfigBuilder {
cb.config.MetricsBuilderConfig.ResourceAttributes = ras
return cb
}

func (cb *testConfigBuilder) withDefaultLabels() *testConfigBuilder {
cb.config.EnvVarsToMetricLabels = map[string]string{"ENV_VAR": "env-var-metric-label"}
cb.config.ContainerLabelsToMetricLabels = map[string]string{"container.label": "container-metric-label"}
return cb
}

func (cb *testConfigBuilder) build() *Config {
return cb.config
}

0 comments on commit 9ecafb5

Please sign in to comment.