golden

package
v1.71.0 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

README

golden

The package golden provides utilities for reading and writing files with metrics, traces and logs in JSON format. The package is expected to be used with pkg/pdatatest module.

Generating an expected result file

The easiest way to capture the expected result in a file is golden.WriteMetrics or golden.WriteLogs.

When writing a new test:

  1. Write the test as if the expected file exists.
  2. Follow the steps below for updating an existing test.

When updating an existing test:

  1. Add a call to golden.WriteMetrics or golden.WriteLogs or in the appropriate place.
  2. Run the test once.
  3. Remove the call to golden.WriteMetrics or golden.WriteLogs.

NOTE: golden.WriteMetrics will always mark the test as failed. This behavior is necessary to ensure the function is removed after the golden file is written.

func TestScraper(t *testing.T) {
	cfg := createDefaultConfig().(*Config)
	require.NoError(t, component.ValidateConfig(cfg))

	scraper := newScraper(componenttest.NewNopReceiverCreateSettings(), cfg)

	err := scraper.start(context.Background(), componenttest.NewNopHost())
	require.NoError(t, err)

	actualMetrics, err := scraper.scrape(context.Background())
	require.NoError(t, err)

	expectedFile := filepath.Join("testdata", "scraper", "expected.json")

	golden.WriteMetrics(t, expectedFile, actualMetrics) // This line is temporary! TODO remove this!!

	expectedMetrics, err := golden.ReadMetrics(expectedFile)
	require.NoError(t, err)

	require.NoError(t, pmetrictest.CompareMetrics(expectedMetrics, actualMetrics))
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ReadLogs

func ReadLogs(filePath string) (plog.Logs, error)

ReadLogs reads a plog.Logs from the specified file

func ReadMetrics

func ReadMetrics(filePath string) (pmetric.Metrics, error)

ReadMetrics reads a pmetric.Metrics from the specified file

func ReadTraces

func ReadTraces(filePath string) (ptrace.Traces, error)

ReadTraces reads a ptrace.Traces from the specified file

func WriteLogs

func WriteLogs(t *testing.T, filePath string, metrics plog.Logs) error

WriteLogs writes a plog.Logs to the specified file

func WriteMetrics

func WriteMetrics(t *testing.T, filePath string, metrics pmetric.Metrics) error

WriteMetrics writes a pmetric.Metrics to the specified file

func WriteTraces

func WriteTraces(t *testing.T, filePath string, traces ptrace.Traces) error

Types

This section is empty.

Jump to

Keyboard shortcuts

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