Path: blob/main/pkg/integrations/v2/app_agent_receiver/traces_test.go
5371 views
package app_agent_receiver12import (3"context"4"errors"5"testing"67"github.com/stretchr/testify/require"8"go.opentelemetry.io/collector/consumer"9"go.opentelemetry.io/collector/pdata/ptrace"10)1112type mockTracesConsumer struct {13consumed []ptrace.Traces14}1516func (c *mockTracesConsumer) Capabilities() consumer.Capabilities {17return consumer.Capabilities{MutatesData: false}18}1920func (c *mockTracesConsumer) ConsumeTraces(ctx context.Context, td ptrace.Traces) error {21c.consumed = append(c.consumed, td)22return nil23}2425func Test_exportTraces_success(t *testing.T) {26ctx := context.Background()27tracesConsumer := &mockTracesConsumer{}28exporter := NewTracesExporter(func() (consumer.Traces, error) { return tracesConsumer, nil })29payload := loadTestPayload(t)30err := exporter.Export(ctx, payload)31require.NoError(t, err)32require.Len(t, tracesConsumer.consumed, 1)33}3435func Test_exportTraces_noTracesInpayload(t *testing.T) {36ctx := context.Background()37tracesConsumer := &mockTracesConsumer{consumed: nil}38exporter := NewTracesExporter(func() (consumer.Traces, error) { return tracesConsumer, nil })39payload := loadTestPayload(t)40payload.Traces = nil41err := exporter.Export(ctx, payload)42require.NoError(t, err)43require.Len(t, tracesConsumer.consumed, 0)44}4546func Test_exportTraces_noConsumer(t *testing.T) {47ctx := context.Background()48exporter := NewTracesExporter(func() (consumer.Traces, error) { return nil, errors.New("it dont work") })49payload := loadTestPayload(t)50err := exporter.Export(ctx, payload)51require.Error(t, err, "it don't work")52}535455