[chore] Remove duplicate MockHost, add constructor (#12688)

Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
This commit is contained in:
Bogdan Drutu 2025-03-20 22:39:22 -07:00 committed by GitHub
parent eb876d32ef
commit 65d2fabc14
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 32 additions and 42 deletions

View File

@ -7,13 +7,14 @@ import (
"go.opentelemetry.io/collector/component"
)
var _ component.Host = (*MockHost)(nil)
type MockHost struct {
component.Host
Ext map[component.ID]component.Component
func NewHost(ext map[component.ID]component.Component) component.Host {
return &mockHost{ext: ext}
}
func (nh *MockHost) GetExtensions() map[component.ID]component.Component {
return nh.Ext
type mockHost struct {
ext map[component.ID]component.Component
}
func (nh *mockHost) GetExtensions() map[component.ID]component.Component {
return nh.ext
}

View File

@ -23,6 +23,6 @@ func TestMockHost(t *testing.T) {
ext := map[component.ID]component.Component{
component.MustNewID("test"): &nopExtension{},
}
host := &MockHost{Ext: ext}
assert.Equal(t, ext, host.Ext)
host := NewHost(ext)
assert.Equal(t, ext, host.GetExtensions())
}

View File

@ -140,10 +140,9 @@ func TestQueueBatcherPersistenceEnabled(t *testing.T) {
be, err := NewQueueSender(qSet, qCfg, exporterbatcher.Config{}, "", newNoopExportSender())
require.NoError(t, err)
extensions := map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
storageID: storagetest.NewMockStorageExtension(nil),
}
host := &hosttest.MockHost{Ext: extensions}
})
// we start correctly with a file storage extension
require.NoError(t, be.Start(context.Background(), host))
@ -164,10 +163,9 @@ func TestQueueBatcherPersistenceEnabledStorageError(t *testing.T) {
be, err := NewQueueSender(qSet, qCfg, exporterbatcher.Config{}, "", newNoopExportSender())
require.NoError(t, err)
extensions := map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
storageID: storagetest.NewMockStorageExtension(storageError),
}
host := &hosttest.MockHost{Ext: extensions}
})
// we fail to start if we get an error creating the storage client
require.Error(t, be.Start(context.Background(), host), "could not get storage client")
@ -194,10 +192,9 @@ func TestQueueBatcherPersistentEnabled_NoDataLossOnShutdown(t *testing.T) {
be, err := NewQueueSender(qSet, qCfg, exporterbatcher.Config{}, "", rs)
require.NoError(t, err)
extensions := map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
storageID: storagetest.NewMockStorageExtension(nil),
}
host := &hosttest.MockHost{Ext: extensions}
})
require.NoError(t, be.Start(context.Background(), host))

View File

@ -21,6 +21,7 @@ import (
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/exporter/exporterhelper/internal/experr"
"go.opentelemetry.io/collector/exporter/exporterhelper/internal/hosttest"
"go.opentelemetry.io/collector/exporter/exporterhelper/internal/storagetest"
"go.opentelemetry.io/collector/exporter/exportertest"
"go.opentelemetry.io/collector/extension/extensiontest"
@ -51,15 +52,6 @@ func (uint64Encoding) Unmarshal(bytes []byte) (uint64, error) {
return binary.LittleEndian.Uint64(bytes), nil
}
type mockHost struct {
component.Host
ext map[component.ID]component.Component
}
func (nh *mockHost) GetExtensions() map[component.ID]component.Component {
return nh.ext
}
func newFakeBoundedStorageClient(maxSizeInBytes int) *fakeBoundedStorageClient {
return &fakeBoundedStorageClient{
st: map[string][]byte{},
@ -233,9 +225,9 @@ func createAndStartTestPersistentQueue(t *testing.T, sizer sizer[uint64], capaci
ac := newAsyncQueue(pq, numConsumers, func(ctx context.Context, item uint64, done Done) {
done.OnDone(consumeFunc(ctx, item))
})
host := &mockHost{ext: map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
{}: storagetest.NewMockStorageExtension(nil),
}}
})
require.NoError(t, ac.Start(context.Background(), host))
t.Cleanup(func() {
assert.NoError(t, ac.Shutdown(context.Background()))
@ -275,7 +267,7 @@ func createTestPersistentQueueWithCapacityLimiter(tb testing.TB, ext storage.Ext
encoding: uint64Encoding{},
set: exportertest.NewNopSettings(exportertest.NopType),
}).(*persistentQueue[uint64])
require.NoError(tb, pq.Start(context.Background(), &mockHost{ext: map[component.ID]component.Component{{}: ext}}))
require.NoError(tb, pq.Start(context.Background(), hosttest.NewHost(map[component.ID]component.Component{{}: ext})))
return pq
}
@ -427,9 +419,9 @@ func TestPersistentBlockingQueue(t *testing.T) {
consumed.Add(1)
done.OnDone(nil)
})
host := &mockHost{ext: map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
{}: storagetest.NewMockStorageExtension(nil),
}}
})
require.NoError(t, ac.Start(context.Background(), host))
td := uint64(10)
@ -498,7 +490,7 @@ func TestToStorageClient(t *testing.T) {
for i := 0; i < tt.numStorages; i++ {
extensions[component.MustNewIDWithName("file_storage", strconv.Itoa(i))] = storagetest.NewMockStorageExtension(tt.getClientError)
}
host := &mockHost{ext: extensions}
host := hosttest.NewHost(extensions)
ownerID := component.MustNewID("foo_exporter")
// execute
@ -528,7 +520,7 @@ func TestInvalidStorageExtensionType(t *testing.T) {
extensions := map[component.ID]component.Component{
storageID: extension,
}
host := &mockHost{ext: extensions}
host := hosttest.NewHost(extensions)
ownerID := component.MustNewID("foo_exporter")
// execute

View File

@ -179,9 +179,9 @@ func TestLogs_WithPersistentQueue(t *testing.T) {
te, err := NewLogs(context.Background(), set, &fakeLogsConfig, ts.ConsumeLogs, WithRetry(rCfg), WithQueue(qCfg))
require.NoError(t, err)
host := &hosttest.MockHost{Ext: map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
storageID: storagetest.NewMockStorageExtension(nil),
}}
})
require.NoError(t, te.Start(context.Background(), host))
t.Cleanup(func() { require.NoError(t, te.Shutdown(context.Background())) })

View File

@ -179,9 +179,9 @@ func TestMetrics_WithPersistentQueue(t *testing.T) {
te, err := NewMetrics(context.Background(), set, &fakeMetricsConfig, ms.ConsumeMetrics, WithRetry(rCfg), WithQueue(qCfg))
require.NoError(t, err)
host := &hosttest.MockHost{Ext: map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
storageID: storagetest.NewMockStorageExtension(nil),
}}
})
require.NoError(t, te.Start(context.Background(), host))
t.Cleanup(func() { require.NoError(t, te.Shutdown(context.Background())) })

View File

@ -177,9 +177,9 @@ func TestTraces_WithPersistentQueue(t *testing.T) {
te, err := NewTraces(context.Background(), set, &fakeTracesConfig, ts.ConsumeTraces, WithRetry(rCfg), WithQueue(qCfg))
require.NoError(t, err)
host := &hosttest.MockHost{Ext: map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
storageID: storagetest.NewMockStorageExtension(nil),
}}
})
require.NoError(t, te.Start(context.Background(), host))
t.Cleanup(func() { require.NoError(t, te.Shutdown(context.Background())) })

View File

@ -177,9 +177,9 @@ func TestProfilesExporter_WithPersistentQueue(t *testing.T) {
te, err := NewProfilesExporter(context.Background(), set, &fakeProfilesExporterConfig, ts.ConsumeProfiles, exporterhelper.WithRetry(rCfg), exporterhelper.WithQueue(qCfg))
require.NoError(t, err)
host := &hosttest.MockHost{Ext: map[component.ID]component.Component{
host := hosttest.NewHost(map[component.ID]component.Component{
storageID: storagetest.NewMockStorageExtension(nil),
}}
})
require.NoError(t, te.Start(context.Background(), host))
t.Cleanup(func() { require.NoError(t, te.Shutdown(context.Background())) })