Skip to content

Commit

Permalink
NR-171145: fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
rogercoll committed Oct 19, 2023
1 parent b51248a commit 9216e15
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 25 deletions.
25 changes: 12 additions & 13 deletions pkg/entity/register/worker_test.go
Expand Up @@ -11,7 +11,6 @@ import (
"testing"
"time"

"github.com/newrelic/infrastructure-agent/internal/instrumentation"
"github.com/newrelic/infrastructure-agent/pkg/backend/backoff"
log "github.com/sirupsen/logrus"
"github.com/sirupsen/logrus/hooks/test"
Expand Down Expand Up @@ -190,7 +189,7 @@ func TestWorker_Run_SendsWhenBatchLimitIsReached(t *testing.T) {
collector: make([][]string, 0),
}

w := NewWorker(agentIdentity, client, backoff.NewDefaultBackoff(), reqsToRegisterQueue, registeredQueue, config, instrumentation.NoopMeasure)
w := NewWorker(agentIdentity, client, backoff.NewDefaultBackoff(), reqsToRegisterQueue, registeredQueue, config)

ctx, cancel := context.WithCancel(context.Background())
defer cancel()
Expand Down Expand Up @@ -235,7 +234,7 @@ func TestWorker_Run_EntityGraterThanMaxByteSize(t *testing.T) {
ids: []entity.ID{1},
}

w := NewWorker(agentIdentity, client, backoff.NewDefaultBackoff(), reqsToRegisterQueue, registeredQueue, config, instrumentation.NoopMeasure)
w := NewWorker(agentIdentity, client, backoff.NewDefaultBackoff(), reqsToRegisterQueue, registeredQueue, config)

ctx, cancel := context.WithCancel(context.Background())
defer cancel()
Expand Down Expand Up @@ -285,14 +284,14 @@ func TestWorker_registerEntitiesWithRetry_OnError_RetryBackoff(t *testing.T) {
MaxBatchDuration: 50 * time.Millisecond,
MaxRetryBo: 0,
}
w := NewWorker(agentIdentity, client, backoff, reqsToRegisterQueue, reqsRegisteredQueue, config, instrumentation.NoopMeasure)
worker := NewWorker(agentIdentity, client, backoff, reqsToRegisterQueue, reqsRegisteredQueue, config)

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

result := make(chan []identityapi.RegisterEntityResponse, 1)
go func() {
result <- w.registerEntitiesWithRetry(ctx, []entity.Fields{{Name: "test"}})
result <- worker.registerEntitiesWithRetry(ctx, []entity.Fields{{Name: "test"}})
}()

select {
Expand Down Expand Up @@ -342,14 +341,14 @@ func TestWorker_registerEntitiesWithRetry_OnError_Discard(t *testing.T) {
MaxBatchDuration: 50 * time.Millisecond,
MaxRetryBo: 0,
}
w := NewWorker(agentIdentity, client, backoff, reqsToRegisterQueue, reqsRegisteredQueue, config, instrumentation.NoopMeasure)
worker := NewWorker(agentIdentity, client, backoff, reqsToRegisterQueue, reqsRegisteredQueue, config)

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

response := make(chan []identityapi.RegisterEntityResponse, 1)
go func() {
response <- w.registerEntitiesWithRetry(ctx, []entity.Fields{{Name: "test"}})
response <- worker.registerEntitiesWithRetry(ctx, []entity.Fields{{Name: "test"}})
}()

select {
Expand Down Expand Up @@ -393,14 +392,14 @@ func TestWorker_registerEntitiesWithRetry_Success(t *testing.T) {
MaxBatchDuration: 50 * time.Millisecond,
MaxRetryBo: 0,
}
w := NewWorker(agentIdentity, client, backoff, reqsToRegisterQueue, reqsRegisteredQueue, config, instrumentation.NoopMeasure)
worker := NewWorker(agentIdentity, client, backoff, reqsToRegisterQueue, reqsRegisteredQueue, config)

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

response := make(chan []identityapi.RegisterEntityResponse, 1)
go func() {
response <- w.registerEntitiesWithRetry(ctx, []entity.Fields{{Name: "test"}})
response <- worker.registerEntitiesWithRetry(ctx, []entity.Fields{{Name: "test"}})
}()
select {
case actual := <-response:
Expand Down Expand Up @@ -439,7 +438,7 @@ func TestWorker_send_Logging_VerboseEnabled(t *testing.T) {
config := WorkerConfig{
VerboseLogLevel: 1,
}
w := NewWorker(agentIdentity, client, backoff.NewDefaultBackoff(), reqsToRegisterQueue, reqsRegisteredQueue, config, instrumentation.NoopMeasure)
worker := NewWorker(agentIdentity, client, backoff.NewDefaultBackoff(), reqsToRegisterQueue, reqsRegisteredQueue, config)

batch := map[entity.Key]fwrequest.EntityFwRequest{
entity.Key("error"): {
Expand Down Expand Up @@ -476,7 +475,7 @@ func TestWorker_send_Logging_VerboseEnabled(t *testing.T) {
log.SetOutput(ioutil.Discard)

batchSizeBytes := 10000
w.send(ctx, batch, &batchSizeBytes)
worker.send(ctx, batch, &batchSizeBytes)

searchLogEntries := func(expectedMessages []string, level log.Level) (found bool) {
for _, expectedMsg := range expectedMessages {
Expand Down Expand Up @@ -526,7 +525,7 @@ func TestWorker_send_Logging_VerboseDisabled(t *testing.T) {
config := WorkerConfig{
VerboseLogLevel: 0,
}
w := NewWorker(agentIdentity, client, backoff.NewDefaultBackoff(), reqsToRegisterQueue, reqsRegisteredQueue, config, instrumentation.NoopMeasure)
worker := NewWorker(agentIdentity, client, backoff.NewDefaultBackoff(), reqsToRegisterQueue, reqsRegisteredQueue, config)

batch := map[entity.Key]fwrequest.EntityFwRequest{
entity.Key("error"): {
Expand Down Expand Up @@ -563,7 +562,7 @@ func TestWorker_send_Logging_VerboseDisabled(t *testing.T) {
log.SetOutput(ioutil.Discard)

batchSizeBytes := 10000
w.send(ctx, batch, &batchSizeBytes)
worker.send(ctx, batch, &batchSizeBytes)

assert.Empty(t, hook.AllEntries())
}
15 changes: 7 additions & 8 deletions pkg/integrations/v4/dm/emitter_test.go
Expand Up @@ -7,14 +7,13 @@ import (
"encoding/json"
"errors"
"fmt"
"github.com/newrelic/infrastructure-agent/internal/agent/types"
"io/ioutil"
"os"
"sync"
"testing"
"time"

"github.com/newrelic/infrastructure-agent/internal/instrumentation"
"github.com/newrelic/infrastructure-agent/internal/agent/types"

"github.com/sirupsen/logrus"
logTest "github.com/sirupsen/logrus/hooks/test"
Expand Down Expand Up @@ -187,7 +186,7 @@ func TestEmitter_Send_usingIDCache(t *testing.T) {
ffRetriever.ShouldGetFeatureFlag("dm_register_deprecated", testCase.FFEnabled, testCase.FFExists)

registerClient := &identityapi.RegisterClientMock{}
emtr := NewEmitter(aCtx, dmSender, registerClient, instrumentation.NoopMeasure, ffRetriever)
emtr := NewEmitter(aCtx, dmSender, registerClient, ffRetriever)
emtrStruct := emtr.(*emitter) // nolint:forcetypeassert

emtrStruct.idCache.Put(entity.Key(fmt.Sprintf("%s:%s", data.DataSets[0].Entity.Type, data.DataSets[0].Entity.Name)), firstEntity.ID)
Expand Down Expand Up @@ -232,7 +231,7 @@ func TestEmitter_Send_ignoreEntity(t *testing.T) {
ffRetriever := &feature_flags.FeatureFlagRetrieverMock{}

registerClient := &identityapi.RegisterClientMock{}
emtr := NewEmitter(aCtx, dmSender, registerClient, instrumentation.NoopMeasure, ffRetriever)
emtr := NewEmitter(aCtx, dmSender, registerClient, ffRetriever)

dmSender.wg.Add(getMetricsSend(data))

Expand Down Expand Up @@ -315,7 +314,7 @@ func TestEmitter_Send(t *testing.T) {

ffRetriever := &feature_flags.FeatureFlagRetrieverMock{}
registerClient := &identityapi.RegisterClientMock{}
emtr := NewEmitter(aCtx, metricSender, registerClient, instrumentation.NoopMeasure, ffRetriever)
emtr := NewEmitter(aCtx, metricSender, registerClient, ffRetriever)

// avoid waiting for more data to create register submission batch
emtrStruct := emtr.(*emitter) // nolint:forcetypeassert
Expand Down Expand Up @@ -375,7 +374,7 @@ func TestEmitter_ShouldNotSendDataWhenDeprecatedRegisterFFIsEnabled(t *testing.T

ffRetriever := &feature_flags.FeatureFlagRetrieverMock{}
registerClient := &identityapi.RegisterClientMock{}
emtr := NewEmitter(aCtx, ms, registerClient, instrumentation.NoopMeasure, ffRetriever)
emtr := NewEmitter(aCtx, ms, registerClient, ffRetriever)

// avoid waiting for more data to create register submission batch
emtrStruct := emtr.(*emitter) // nolint:forcetypeassert
Expand Down Expand Up @@ -434,7 +433,7 @@ func TestEmitter_ShouldRegisterFFDoesNotExistOrIsDisabled(t *testing.T) {
ent := testCase.integrationPayload.DataSets[0].Entity
registerClient.ShouldRegisterBatchEntities(identity.ID, []entity.Fields{ent}, []identityapi.RegisterEntityResponse{{ID: identity.ID, Name: ent.Name}})

emtr := NewEmitter(aCtx, metricSender, registerClient, instrumentation.NoopMeasure, ffRetriever)
emtr := NewEmitter(aCtx, metricSender, registerClient, ffRetriever)

// avoid waiting for more data to create register submission batch
emtrStruct := emtr.(*emitter) // nolint:forcetypeassert
Expand Down Expand Up @@ -476,7 +475,7 @@ func TestEmitter_Send_failedToSubmitMetrics_dropAndLog(t *testing.T) {
ffRetriever.ShouldNotGetFeatureFlag("dm_register_deprecated")

registerClient := &identityapi.RegisterClientMock{}
emtr := NewEmitter(aCtx, ms, registerClient, instrumentation.NoopMeasure, ffRetriever).(*emitter) // nolint:forcetypeassert
emtr := NewEmitter(aCtx, ms, registerClient, ffRetriever).(*emitter) // nolint:forcetypeassert

Check failure on line 478 in pkg/integrations/v4/dm/emitter_test.go

View workflow job for this annotation

GitHub Actions / linter-linux / Run Linter

directive `// nolint:forcetypeassert` should be written without leading space as `//nolint:forcetypeassert` (nolintlint)

Check failure on line 478 in pkg/integrations/v4/dm/emitter_test.go

View workflow job for this annotation

GitHub Actions / linter-macos / Lint tests

directive `// nolint:forcetypeassert` should be written without leading space as `//nolint:forcetypeassert` (nolintlint)

Check failure on line 478 in pkg/integrations/v4/dm/emitter_test.go

View workflow job for this annotation

GitHub Actions / linter-windows / Lint tests

directive `// nolint:forcetypeassert` should be written without leading space as `//nolint:forcetypeassert` (nolintlint)
emtr.idCache.Put(entity.Key(fmt.Sprintf("%s:%s", data.DataSets[0].Entity.Type, data.DataSets[0].Entity.Name)), identity.ID)
emtr.Send(fwrequest.NewFwRequest(integration.Definition{Name: "nri-test", ExecutorConfig: executor.Config{User: "root"}}, nil, nil, data))

Expand Down
13 changes: 11 additions & 2 deletions pkg/metrics/containerd_sampler_mock_test.go
Expand Up @@ -18,7 +18,8 @@ import (
"github.com/containerd/containerd/errdefs"
"github.com/containerd/containerd/images"
"github.com/containerd/containerd/oci"
prototypes "github.com/gogo/protobuf/types"
"github.com/containerd/containerd/platforms"
"github.com/containerd/typeurl/v2"
"github.com/opencontainers/go-digest"
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
"github.com/opencontainers/runtime-spec/specs-go"
Expand Down Expand Up @@ -158,7 +159,7 @@ func (m *MockContainerdContainer) SetLabels(_ context.Context, _ map[string]stri
return nil, errUnimplemented
}

func (m *MockContainerdContainer) Extensions(_ context.Context) (map[string]prototypes.Any, error) {
func (m *MockContainerdContainer) Extensions(_ context.Context) (map[string]typeurl.Any, error) {
return nil, errUnimplemented
}

Expand Down Expand Up @@ -280,6 +281,14 @@ func (m *MockContainerdImage) Name() string {
return "image1"
}

func (m *MockContainerdImage) Platform() platforms.MatchComparer { //nolint:ireturn
return nil
}

func (m *MockContainerdImage) Spec(ctx context.Context) (ocispec.Image, error) {

Check failure on line 288 in pkg/metrics/containerd_sampler_mock_test.go

View workflow job for this annotation

GitHub Actions / linter-linux / Run Linter

unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)

Check failure on line 288 in pkg/metrics/containerd_sampler_mock_test.go

View workflow job for this annotation

GitHub Actions / linter-macos / Lint tests

unused-parameter: parameter 'ctx' seems to be unused, consider removing or renaming it as _ (revive)
return ocispec.Image{}, nil

Check failure on line 289 in pkg/metrics/containerd_sampler_mock_test.go

View workflow job for this annotation

GitHub Actions / linter-linux / Run Linter

Created, Author, Architecture, Variant, OS, OSVersion, OSFeatures, Config, RootFS, History are missing in Image (exhaustruct)

Check failure on line 289 in pkg/metrics/containerd_sampler_mock_test.go

View workflow job for this annotation

GitHub Actions / linter-macos / Lint tests

Created, Author, Architecture, Variant, OS, OSVersion, OSFeatures, Config, RootFS, History are missing in Image (exhaustruct)
}

func (m *MockContainerdImage) Target() ocispec.Descriptor {
return ocispec.Descriptor{
Digest: digest.Digest("sha256:1234567890"),
Expand Down
3 changes: 1 addition & 2 deletions test/cfgprotocol/agent/emulator.go
Expand Up @@ -15,7 +15,6 @@ import (
"github.com/newrelic/infrastructure-agent/internal/agent"
"github.com/newrelic/infrastructure-agent/internal/agent/cmdchannel/fflag"
"github.com/newrelic/infrastructure-agent/internal/feature_flags"
"github.com/newrelic/infrastructure-agent/internal/instrumentation"
"github.com/newrelic/infrastructure-agent/internal/integrations/v4/files"
"github.com/newrelic/infrastructure-agent/internal/integrations/v4/integration"
"github.com/newrelic/infrastructure-agent/internal/integrations/v4/v3legacy"
Expand Down Expand Up @@ -112,7 +111,7 @@ func (ae *Emulator) RunAgent() error {
configEntryQ := make(chan configrequest.Entry, 100)

ffRetriever := &feature_flags.FeatureFlagRetrieverMock{}
dmEmitter := dm.NewEmitter(ae.agent.GetContext(), dmSender, nil, instrumentation.NoopMeasure, ffRetriever)
dmEmitter := dm.NewEmitter(ae.agent.GetContext(), dmSender, nil, ffRetriever)

// track stoppable integrations
tracker := track.NewTracker(dmEmitter)
Expand Down

0 comments on commit 9216e15

Please sign in to comment.