Files
Chao WengandGitHub 7d7cac5ce3 Add component.Type parameter to NewNopSettings And deprecate NewNopSettingsWithType (#12452)
<!--Ex. Fixing a bug - Describe the bug and how this fixes the issue.
Ex. Adding a feature - Explain what this achieves.-->
#### Description
Add `component.Type` parameter to `NewNopSettings` And deprecate
`NewNopSettingsWithType` cc @mx-psi

<!-- Issue number if applicable -->
#### Link to tracking issue
Relevant to #12305 

<!--Describe what testing was performed and which tests were added.-->
#### Testing
Updated

<!--Describe the documentation added.-->
#### Documentation
Added

<!--Please delete paragraphs that you did not use before submitting.-->
2025-02-21 11:17:45 +00:00

57 lines
1.7 KiB
Go

// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package otlpreceiver
import (
"bytes"
"net/http"
"net/http/httptest"
"testing"
"go.opentelemetry.io/collector/component/componenttest"
"go.opentelemetry.io/collector/consumer/consumertest"
"go.opentelemetry.io/collector/receiver/otlpreceiver/internal/logs"
"go.opentelemetry.io/collector/receiver/otlpreceiver/internal/metrics"
"go.opentelemetry.io/collector/receiver/otlpreceiver/internal/trace"
"go.opentelemetry.io/collector/receiver/receivertest"
)
func FuzzReceiverHandlers(f *testing.F) {
f.Fuzz(func(_ *testing.T, data []byte, pb bool, handler int) {
req, err := http.NewRequest(http.MethodPost, "", bytes.NewReader(data))
if err != nil {
return
}
if pb {
req.Header.Add("Content-Type", pbContentType)
} else {
req.Header.Add("Content-Type", jsonContentType)
}
set := receivertest.NewNopSettings(receivertest.NopType)
set.TelemetrySettings = componenttest.NewNopTelemetrySettings()
set.ID = otlpReceiverID
cfg := createDefaultConfig().(*Config)
r, err := newOtlpReceiver(cfg, &set)
if err != nil {
panic(err)
}
r.nextTraces = consumertest.NewNop()
r.nextLogs = consumertest.NewNop()
r.nextMetrics = consumertest.NewNop()
r.nextProfiles = consumertest.NewNop()
resp := httptest.NewRecorder()
switch handler % 3 {
case 0:
httpTracesReceiver := trace.New(r.nextTraces, r.obsrepHTTP)
handleTraces(resp, req, httpTracesReceiver)
case 1:
httpMetricsReceiver := metrics.New(r.nextMetrics, r.obsrepHTTP)
handleMetrics(resp, req, httpMetricsReceiver)
case 2:
httpLogsReceiver := logs.New(r.nextLogs, r.obsrepHTTP)
handleLogs(resp, req, httpLogsReceiver)
}
})
}