|
9 | 9 |
|
10 | 10 | "github.com/stretchr/testify/assert"
|
11 | 11 | "github.com/stretchr/testify/require"
|
| 12 | + "go.opentelemetry.io/collector/pdata/plog" |
| 13 | + "go.opentelemetry.io/collector/pdata/pmetric" |
| 14 | + "go.opentelemetry.io/collector/pdata/ptrace" |
12 | 15 | "go.opentelemetry.io/collector/receiver/receivertest"
|
13 | 16 | )
|
14 | 17 |
|
@@ -53,6 +56,25 @@ func Test_CreateTraceReceiver(t *testing.T) {
|
53 | 56 | assert.NotNil(t, recv)
|
54 | 57 | }
|
55 | 58 |
|
| 59 | +func TestWithTracesUnmarshalers(t *testing.T) { |
| 60 | + unmarshaler := &customTracesUnmarshaler{} |
| 61 | + f := NewFactory(withTracesUnmarshalers(unmarshaler)) |
| 62 | + cfg := createDefaultConfig().(*Config) |
| 63 | + |
| 64 | + t.Run("custom_encoding", func(t *testing.T) { |
| 65 | + cfg.Encoding = unmarshaler.Encoding() |
| 66 | + receiver, err := f.CreateTracesReceiver(context.Background(), receivertest.NewNopCreateSettings(), cfg, nil) |
| 67 | + require.NoError(t, err) |
| 68 | + require.NotNil(t, receiver) |
| 69 | + }) |
| 70 | + t.Run("default_encoding", func(t *testing.T) { |
| 71 | + cfg.Encoding = defaultEncoding |
| 72 | + receiver, err := f.CreateTracesReceiver(context.Background(), receivertest.NewNopCreateSettings(), cfg, nil) |
| 73 | + require.NoError(t, err) |
| 74 | + assert.NotNil(t, receiver) |
| 75 | + }) |
| 76 | +} |
| 77 | + |
56 | 78 | // metrics
|
57 | 79 | func TestCreateMetricsReceiver_err_addr(t *testing.T) {
|
58 | 80 | cfg := createDefaultConfig().(*Config)
|
@@ -83,6 +105,25 @@ func Test_CreateMetricsReceiver(t *testing.T) {
|
83 | 105 | assert.NotNil(t, recv)
|
84 | 106 | }
|
85 | 107 |
|
| 108 | +func TestWithMetricsUnmarshalers(t *testing.T) { |
| 109 | + unmarshaler := &customMetricsUnmarshaler{} |
| 110 | + f := NewFactory(withMetricsUnmarshalers(unmarshaler)) |
| 111 | + cfg := createDefaultConfig().(*Config) |
| 112 | + |
| 113 | + t.Run("custom_encoding", func(t *testing.T) { |
| 114 | + cfg.Encoding = unmarshaler.Encoding() |
| 115 | + receiver, err := f.CreateMetricsReceiver(context.Background(), receivertest.NewNopCreateSettings(), cfg, nil) |
| 116 | + require.NoError(t, err) |
| 117 | + require.NotNil(t, receiver) |
| 118 | + }) |
| 119 | + t.Run("default_encoding", func(t *testing.T) { |
| 120 | + cfg.Encoding = defaultEncoding |
| 121 | + receiver, err := f.CreateMetricsReceiver(context.Background(), receivertest.NewNopCreateSettings(), cfg, nil) |
| 122 | + require.NoError(t, err) |
| 123 | + assert.NotNil(t, receiver) |
| 124 | + }) |
| 125 | +} |
| 126 | + |
86 | 127 | // logs
|
87 | 128 | func TestCreateLogsReceiver_err_addr(t *testing.T) {
|
88 | 129 | cfg := createDefaultConfig().(*Config)
|
@@ -113,3 +154,55 @@ func Test_CreateLogsReceiver(t *testing.T) {
|
113 | 154 | require.NoError(t, err)
|
114 | 155 | assert.NotNil(t, recv)
|
115 | 156 | }
|
| 157 | + |
| 158 | +func TestWithLogsUnmarshalers(t *testing.T) { |
| 159 | + unmarshaler := &customLogsUnmarshaler{} |
| 160 | + f := NewFactory(withLogsUnmarshalers(unmarshaler)) |
| 161 | + cfg := createDefaultConfig().(*Config) |
| 162 | + |
| 163 | + t.Run("custom_encoding", func(t *testing.T) { |
| 164 | + cfg.Encoding = unmarshaler.Encoding() |
| 165 | + exporter, err := f.CreateLogsReceiver(context.Background(), receivertest.NewNopCreateSettings(), cfg, nil) |
| 166 | + require.NoError(t, err) |
| 167 | + require.NotNil(t, exporter) |
| 168 | + }) |
| 169 | + t.Run("default_encoding", func(t *testing.T) { |
| 170 | + cfg.Encoding = defaultEncoding |
| 171 | + exporter, err := f.CreateLogsReceiver(context.Background(), receivertest.NewNopCreateSettings(), cfg, nil) |
| 172 | + require.NoError(t, err) |
| 173 | + assert.NotNil(t, exporter) |
| 174 | + }) |
| 175 | +} |
| 176 | + |
| 177 | +type customTracesUnmarshaler struct { |
| 178 | +} |
| 179 | + |
| 180 | +type customMetricsUnmarshaler struct { |
| 181 | +} |
| 182 | + |
| 183 | +type customLogsUnmarshaler struct { |
| 184 | +} |
| 185 | + |
| 186 | +func (c customTracesUnmarshaler) Unmarshal([]byte) (ptrace.Traces, error) { |
| 187 | + panic("implement me") |
| 188 | +} |
| 189 | + |
| 190 | +func (c customTracesUnmarshaler) Encoding() string { |
| 191 | + return "custom" |
| 192 | +} |
| 193 | + |
| 194 | +func (c customMetricsUnmarshaler) Unmarshal([]byte) (pmetric.Metrics, error) { |
| 195 | + panic("implement me") |
| 196 | +} |
| 197 | + |
| 198 | +func (c customMetricsUnmarshaler) Encoding() string { |
| 199 | + return "custom" |
| 200 | +} |
| 201 | + |
| 202 | +func (c customLogsUnmarshaler) Unmarshal([]byte) (plog.Logs, error) { |
| 203 | + panic("implement me") |
| 204 | +} |
| 205 | + |
| 206 | +func (c customLogsUnmarshaler) Encoding() string { |
| 207 | + return "custom" |
| 208 | +} |
0 commit comments