package events_test import ( "testing" "github.com/alcionai/clues" "github.com/stretchr/testify/require" "github.com/stretchr/testify/suite" "github.com/alcionai/corso/src/internal/events" "github.com/alcionai/corso/src/internal/tester" "github.com/alcionai/corso/src/pkg/account" "github.com/alcionai/corso/src/pkg/control" "github.com/alcionai/corso/src/pkg/credentials" "github.com/alcionai/corso/src/pkg/storage" ) type EventsIntegrationSuite struct { tester.Suite } func TestMetricsIntegrationSuite(t *testing.T) { suite.Run(t, &EventsIntegrationSuite{ Suite: tester.NewIntegrationSuite(t, nil), }) } func (suite *EventsIntegrationSuite) TestNewBus() { t := suite.T() ctx, flush := tester.NewContext(t) defer flush() s, err := storage.NewStorage( storage.ProviderS3, storage.S3Config{ Bucket: "bckt", Prefix: "prfx", }) require.NoError(t, err, clues.ToCore(err)) a, err := account.NewAccount( account.ProviderM365, account.M365Config{ M365: credentials.M365{ AzureClientID: "id", AzureClientSecret: "secret", }, AzureTenantID: "tid", }) require.NoError(t, err, clues.ToCore(err)) b, err := events.NewBus(ctx, s, a.ID(), control.DefaultOptions()) require.NotEmpty(t, b) require.NoError(t, err, clues.ToCore(err)) err = b.Close() require.NoError(t, err, clues.ToCore(err)) b2, err := events.NewBus(ctx, s, a.ID(), control.Options{DisableMetrics: true}) require.Empty(t, b2) require.NoError(t, err, clues.ToCore(err)) err = b2.Close() require.NoError(t, err, clues.ToCore(err)) }