Skip to content

Commit f891768

Browse files
[azservicebus,azeventhubs] Fix lint issues that are breaking pipelines. (Azure#23125)
* Fixing some great errors that gocritic found (ie: why aren't you just using the normal swap assignment) or "you sure you need to append to a slice?") * Swapping both azservicebus and azeventhubs to use Charles's test credential to bulletproof our stuff for live testing.
1 parent c98cd4d commit f891768

19 files changed

+80
-87
lines changed

sdk/messaging/azeventhubs/checkpoints/blob_store_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
1414
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
15-
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
15+
"github.com/Azure/azure-sdk-for-go/sdk/internal/test/credential"
1616
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs"
1717
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/checkpoints"
1818
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/test"
@@ -354,7 +354,7 @@ func newBlobStoreTestData(t *testing.T) blobStoreTestData {
354354

355355
containerName := strconv.FormatInt(nano, 10)
356356

357-
cred, err := azidentity.NewDefaultAzureCredential(nil)
357+
cred, err := credential.New(nil)
358358
require.NoError(t, err)
359359

360360
containerURL := test.URLJoinPaths(storageEndpoint, containerName)

sdk/messaging/azeventhubs/consumer_client_internal_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
"testing"
1313
"time"
1414

15-
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
15+
"github.com/Azure/azure-sdk-for-go/sdk/internal/test/credential"
1616
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal"
1717
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/amqpwrap"
1818
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/test"
@@ -25,15 +25,15 @@ func TestConsumerClient_Recovery(t *testing.T) {
2525
// Uncomment to see the entire recovery playbook run.
2626
test.EnableStdoutLogging()
2727

28-
dac, err := azidentity.NewDefaultAzureCredential(nil)
28+
tokenCred, err := credential.New(nil)
2929
require.NoError(t, err)
3030

3131
// Overview:
3232
// 1. Send one event per partition
3333
// 2. Receive one event per partition. This'll ensure the links are live.
3434
// 3. Grub into the client to get access to it's connection and shut it off.
3535
// 4. Try again, everything should recover.
36-
producerClient, err := NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, dac, nil)
36+
producerClient, err := NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, tokenCred, nil)
3737
require.NoError(t, err)
3838

3939
ehProps, err := producerClient.GetEventHubProperties(context.Background(), nil)
@@ -98,7 +98,7 @@ func TestConsumerClient_Recovery(t *testing.T) {
9898

9999
// now we'll receive an event (so we know each partition client is alive)
100100
// each partition actually has two offsets.
101-
consumerClient, err := NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, DefaultConsumerGroup, dac, nil)
101+
consumerClient, err := NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, DefaultConsumerGroup, tokenCred, nil)
102102
require.NoError(t, err)
103103

104104
partitionClients := make([]*PartitionClient, len(sendResults))
@@ -174,15 +174,15 @@ func TestConsumerClient_RecoveryLink(t *testing.T) {
174174
// Uncomment to see the entire recovery playbook run.
175175
test.EnableStdoutLogging()
176176

177-
dac, err := azidentity.NewDefaultAzureCredential(nil)
177+
tokenCred, err := credential.New(nil)
178178
require.NoError(t, err)
179179

180180
// Overview:
181181
// 1. Send one event per partition
182182
// 2. Receive one event per partition. This'll ensure the links are live.
183183
// 3. Grub into the client to get access to it's connection and shut it off.
184184
// 4. Try again, everything should recover.
185-
producerClient, err := NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, dac, nil)
185+
producerClient, err := NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, tokenCred, nil)
186186
require.NoError(t, err)
187187

188188
ehProps, err := producerClient.GetEventHubProperties(context.Background(), nil)
@@ -236,7 +236,7 @@ func TestConsumerClient_RecoveryLink(t *testing.T) {
236236

237237
// now we'll receive an event (so we know each partition client is alive)
238238
// each partition actually has two offsets.
239-
consumerClient, err := NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, DefaultConsumerGroup, dac, nil)
239+
consumerClient, err := NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, DefaultConsumerGroup, tokenCred, nil)
240240
require.NoError(t, err)
241241

242242
partitionClients := make([]*PartitionClient, len(sendResults))

sdk/messaging/azeventhubs/consumer_client_test.go

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ import (
1212
"testing"
1313
"time"
1414

15+
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
1516
"github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
1617
"github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud"
1718
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
18-
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
19+
"github.com/Azure/azure-sdk-for-go/sdk/internal/test/credential"
1920
"github.com/Azure/azure-sdk-for-go/sdk/internal/uuid"
2021
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs"
2122
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/test"
@@ -85,19 +86,19 @@ func TestConsumerClient_UsingWebSockets(t *testing.T) {
8586
func TestConsumerClient_DefaultAzureCredential(t *testing.T) {
8687
testParams := test.GetConnectionParamsForTest(t)
8788

88-
dac, err := azidentity.NewDefaultAzureCredential(nil)
89+
tokenCred, err := credential.New(nil)
8990
require.NoError(t, err)
9091

9192
t.Run("EventHubProperties and PartitionProperties", func(t *testing.T) {
92-
consumerClient, err := azeventhubs.NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, azeventhubs.DefaultConsumerGroup, dac, nil)
93+
consumerClient, err := azeventhubs.NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, azeventhubs.DefaultConsumerGroup, tokenCred, nil)
9394
require.NoError(t, err)
9495

9596
defer func() {
9697
err := consumerClient.Close(context.Background())
9798
require.NoError(t, err)
9899
}()
99100

100-
producerClient, err := azeventhubs.NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, dac, nil)
101+
producerClient, err := azeventhubs.NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, tokenCred, nil)
101102
require.NoError(t, err)
102103

103104
defer func() {
@@ -123,7 +124,7 @@ func TestConsumerClient_DefaultAzureCredential(t *testing.T) {
123124
})
124125

125126
t.Run("send and receive", func(t *testing.T) {
126-
producerClient, err := azeventhubs.NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, dac, nil)
127+
producerClient, err := azeventhubs.NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, tokenCred, nil)
127128
require.NoError(t, err)
128129

129130
defer func() {
@@ -134,7 +135,7 @@ func TestConsumerClient_DefaultAzureCredential(t *testing.T) {
134135
firstPartition, err := producerClient.GetPartitionProperties(context.Background(), "0", nil)
135136
require.NoError(t, err)
136137

137-
consumerClient, err := azeventhubs.NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, azeventhubs.DefaultConsumerGroup, dac, nil)
138+
consumerClient, err := azeventhubs.NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, azeventhubs.DefaultConsumerGroup, tokenCred, nil)
138139
require.NoError(t, err)
139140

140141
defer func() {
@@ -184,15 +185,15 @@ func TestConsumerClient_DefaultAzureCredential(t *testing.T) {
184185
})
185186

186187
t.Run("EventHubProperties and PartitionProperties after send", func(t *testing.T) {
187-
consumerClient, err := azeventhubs.NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, azeventhubs.DefaultConsumerGroup, dac, nil)
188+
consumerClient, err := azeventhubs.NewConsumerClient(testParams.EventHubNamespace, testParams.EventHubName, azeventhubs.DefaultConsumerGroup, tokenCred, nil)
188189
require.NoError(t, err)
189190

190191
defer func() {
191192
err := consumerClient.Close(context.Background())
192193
require.NoError(t, err)
193194
}()
194195

195-
producerClient, err := azeventhubs.NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, dac, nil)
196+
producerClient, err := azeventhubs.NewProducerClient(testParams.EventHubNamespace, testParams.EventHubName, tokenCred, nil)
196197
require.NoError(t, err)
197198

198199
defer func() {
@@ -499,7 +500,7 @@ func TestConsumerClient_Detaches(t *testing.T) {
499500

500501
test.EnableStdoutLogging()
501502

502-
dac, err := azidentity.NewDefaultAzureCredential(nil)
503+
tokenCred, err := credential.New(nil)
503504
require.NoError(t, err)
504505

505506
// create our event hub
@@ -520,17 +521,17 @@ func TestConsumerClient_Detaches(t *testing.T) {
520521
return producerClient.SendEventDataBatch(context.Background(), batch, nil)
521522
}
522523

523-
enableOrDisableEventHub(t, testParams, dac, true)
524+
enableOrDisableEventHub(t, testParams, tokenCred, true)
524525
t.Logf("Sending events, connection should be fine")
525526
err = sendEvent("TestConsumerClient_Detaches: connection should be fine")
526527
require.NoError(t, err)
527528

528-
enableOrDisableEventHub(t, testParams, dac, false)
529+
enableOrDisableEventHub(t, testParams, tokenCred, false)
529530
t.Logf("Sending events, expected to fail since entity is disabled")
530531
err = sendEvent("TestConsumerClient_Detaches: expected to fail since entity is disabled")
531532
require.Error(t, err, "fails, entity has become disabled")
532533

533-
enableOrDisableEventHub(t, testParams, dac, true)
534+
enableOrDisableEventHub(t, testParams, tokenCred, true)
534535
t.Logf("Sending events, should reconnect")
535536
err = sendEvent("TestConsumerClient_Detaches: should reconnect")
536537
require.NoError(t, err, "reattach happens")
@@ -540,7 +541,7 @@ func TestConsumerClient_Detaches(t *testing.T) {
540541
//
541542
// This is useful when testing attach/detach type scenarios where you want the service to force links
542543
// to detach.
543-
func enableOrDisableEventHub(t *testing.T, testParams test.ConnectionParamsForTest, dac *azidentity.DefaultAzureCredential, active bool) {
544+
func enableOrDisableEventHub(t *testing.T, testParams test.ConnectionParamsForTest, dac azcore.TokenCredential, active bool) {
544545
clientOptions := &arm.ClientOptions{}
545546

546547
switch os.Getenv("AZEVENTHUBS_ENVIRONMENT") {

sdk/messaging/azeventhubs/example_consuming_with_checkpoints_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ func Example_consumingEventsWithCheckpoints() {
4949

5050
if err != nil {
5151
// TODO: Update the following line with your application specific error handling logic
52-
log.Fatalf("ERROR: %s", err)
52+
log.Printf("ERROR: %s", err)
53+
return
5354
}
5455

5556
defer consumerClient.Close(context.TODO())
@@ -63,7 +64,8 @@ func Example_consumingEventsWithCheckpoints() {
6364

6465
if err != nil {
6566
// TODO: Update the following line with your application specific error handling logic
66-
log.Fatalf("ERROR: %s", err)
67+
log.Printf("ERROR: %s", err)
68+
return
6769
}
6870

6971
// Run in the background, launching goroutines to process each partition
@@ -79,7 +81,8 @@ func Example_consumingEventsWithCheckpoints() {
7981

8082
if err := processor.Run(processorCtx); err != nil {
8183
// TODO: Update the following line with your application specific error handling logic
82-
log.Fatalf("ERROR: %s", err)
84+
log.Printf("ERROR: %s", err)
85+
return
8386
}
8487
}
8588

sdk/messaging/azeventhubs/internal/eh/stress/tests/batch_stress_tester.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func BatchStressTester(ctx context.Context) error {
126126
closeOrPanic(producerClient)
127127

128128
if err != nil {
129-
log.Fatalf("Failed to send events to partition %s: %s", params.partitionID, err)
129+
return fmt.Errorf("Failed to send events to partition %s: %s", params.partitionID, err)
130130
}
131131

132132
log.Printf("Starting receive tests for partition %s", params.partitionID)
@@ -142,12 +142,12 @@ func BatchStressTester(ctx context.Context) error {
142142

143143
// warm up the connection
144144
if _, err := consumerClient.GetEventHubProperties(ctx, nil); err != nil {
145-
log.Fatalf("Failed to warm up connection for consumer client: %s", err.Error())
145+
return fmt.Errorf("Failed to warm up connection for consumer client: %s", err.Error())
146146
}
147147

148148
for i := int64(0); i < params.rounds; i++ {
149149
if err := consumeForBatchTester(context.Background(), i, consumerClient, sp, params, testData); err != nil {
150-
log.Fatalf("Failed running round %d: %s", i, err.Error())
150+
return fmt.Errorf("Failed running round %d: %s", i, err.Error())
151151
}
152152
}
153153

sdk/messaging/azeventhubs/internal/eh/stress/tests/shared.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import (
1616

1717
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
1818
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
19-
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
2019
azlog "github.com/Azure/azure-sdk-for-go/sdk/internal/log"
20+
"github.com/Azure/azure-sdk-for-go/sdk/internal/test/credential"
2121
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs"
2222
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/checkpoints"
2323
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/test"
@@ -109,7 +109,7 @@ func newStressTestData(name string, baggage map[string]string) (*stressTestData,
109109

110110
td.TC = telemetryClient{tc}
111111

112-
td.Cred, err = azidentity.NewDefaultAzureCredential(nil)
112+
td.Cred, err = credential.New(nil)
113113

114114
if err != nil {
115115
return nil, err

sdk/messaging/azeventhubs/internal/links_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"time"
1212

1313
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
14-
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
14+
"github.com/Azure/azure-sdk-for-go/sdk/internal/test/credential"
1515
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/amqpwrap"
1616
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/exported"
1717
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/test"
@@ -331,7 +331,7 @@ func requireNewLinkNewConn(t *testing.T, oldLWID LinkWithID[AMQPSenderCloser], n
331331

332332
func newLinksForTest(t *testing.T) (*Namespace, *Links[amqpwrap.AMQPSenderCloser]) {
333333
testParams := test.GetConnectionParamsForTest(t)
334-
cred, err := azidentity.NewDefaultAzureCredential(nil)
334+
cred, err := credential.New(nil)
335335
require.NoError(t, err)
336336

337337
ns, err := NewNamespace(NamespaceWithTokenCredential(testParams.EventHubNamespace, cred))

sdk/messaging/azeventhubs/internal/rpc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ func NewRPCLink(ctx context.Context, args RPCLinkArgs) (amqpwrap.RPCLink, error)
102102

103103
link := &rpcLink{
104104
session: session,
105-
clientAddress: strings.Replace("$", "", args.Address, -1) + replyPostfix + id,
105+
clientAddress: strings.ReplaceAll("$", "", args.Address) + replyPostfix + id,
106106
id: id,
107107

108108
uuidNewV4: uuid.New,

sdk/messaging/azeventhubs/internal/test/test_helpers.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ import (
1616
"time"
1717

1818
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
19-
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
2019
azlog "github.com/Azure/azure-sdk-for-go/sdk/internal/log"
20+
"github.com/Azure/azure-sdk-for-go/sdk/internal/test/credential"
2121
"github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/internal/exported"
2222
"github.com/joho/godotenv"
2323
"github.com/stretchr/testify/require"
@@ -136,7 +136,7 @@ func GetConnectionParamsForTest(t *testing.T) ConnectionParamsForTest {
136136
"RESOURCE_GROUP",
137137
})
138138

139-
cred, err := azidentity.NewDefaultAzureCredential(nil)
139+
cred, err := credential.New(nil)
140140
require.NoError(t, err)
141141

142142
return ConnectionParamsForTest{

sdk/messaging/azeventhubs/main_test.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import (
1111
"testing"
1212
"time"
1313

14-
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
1514
"github.com/Azure/azure-sdk-for-go/sdk/internal/recording"
15+
"github.com/Azure/azure-sdk-for-go/sdk/internal/test/credential"
1616
"github.com/Azure/azure-sdk-for-go/sdk/storage/azblob"
1717
"github.com/joho/godotenv"
1818
)
@@ -27,29 +27,33 @@ func testMain(m *testing.M) int {
2727
// if one of our vars isn't defined just assume that they're supposed to come from an .env file
2828
if os.Getenv("CHECKPOINTSTORE_STORAGE_ENDPOINT") == "" {
2929
if err := godotenv.Load(); err != nil {
30-
log.Fatalf("Failed to load .env file when running live tests: %s", err.Error())
30+
log.Printf("Failed to load .env file when running live tests: %s", err.Error())
31+
return 1
3132
}
3233
}
3334

3435
// create a test storage container so our examples can run.
35-
defaultAzureCred, err := azidentity.NewDefaultAzureCredential(nil)
36+
tokenCred, err := credential.New(nil)
3637

3738
if err != nil {
38-
log.Fatalf("Failed to create DAC: %s", err)
39+
log.Printf("Failed to create DAC: %s", err)
40+
return 1
3941
}
4042

41-
blobClient, err := azblob.NewClient(os.Getenv("CHECKPOINTSTORE_STORAGE_ENDPOINT"), defaultAzureCred, nil)
43+
blobClient, err := azblob.NewClient(os.Getenv("CHECKPOINTSTORE_STORAGE_ENDPOINT"), tokenCred, nil)
4244

4345
if err != nil {
44-
log.Fatalf("Failed to create blob client: %s", err)
46+
log.Printf("Failed to create blob client: %s", err)
47+
return 1
4548
}
4649

4750
containerName := fmt.Sprintf("container-%x", time.Now().UnixNano())
4851

4952
defer func() { _, _ = blobClient.ServiceClient().DeleteContainer(context.Background(), containerName, nil) }()
5053

5154
if _, err := blobClient.ServiceClient().CreateContainer(context.Background(), containerName, nil); err != nil {
52-
log.Fatalf("Failed to create blob container for examples: %s", err)
55+
log.Printf("Failed to create blob container for examples: %s", err)
56+
return 1
5357
}
5458

5559
log.Printf("Example checkpoint container created: %s", containerName)

0 commit comments

Comments
 (0)