Skip to content

Commit 3f34a69

Browse files
authored
[service bus] Update tests to use secrets safely (Azure#33431)
Updates the SB tests as follows: - Currently the connection string is expected to be loaded from a .env saved on disk. This PR changes this by accessing the connection strings safely using ARM requests authenticated using Entra ID - Updates connection-string-based tests to be skipped if the connection string is not available Additionally, it deletes a sample that was using a SAS key which is a risky auth method that we should no longer advertise. It also refreshes the samples. Live tests run: https://dev.azure.com/azure-sdk/internal/_build/results?buildId=4666221&view=results
1 parent e2ee334 commit 3f34a69

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+573
-735
lines changed

common/config/rush/pnpm-lock.yaml

Lines changed: 25 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/servicebus/service-bus/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"build:samples": "echo Obsolete.",
3737
"build:test": "echo skipped. actual commands inlined in browser test scripts",
3838
"check-format": "dev-tool run vendored prettier --list-different --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
39-
"clean": "dev-tool run vendored rimraf --glob dist dist-* types *.tgz *.log coverage coverage-browser .nyc_output",
39+
"clean": "dev-tool run vendored rimraf --glob dist dist-* types *.tgz *.log coverage coverage-browser .nyc_output *.tsbuildinfo",
4040
"execute:samples": "dev-tool samples run samples-dev",
4141
"extract-api": "dev-tool run build-package && dev-tool run extract-api",
4242
"format": "dev-tool run vendored prettier --write --config ../../../.prettierrc.json --ignore-path ../../../.prettierignore \"samples/**/*.{ts,js}\" \"src/**/*.ts\" \"test/**/*.ts\" \"samples-dev/**/*.ts\" \"*.{js,json}\"",
@@ -109,6 +109,7 @@
109109
"@azure-tools/test-recorder": "^4.1.0",
110110
"@azure-tools/test-utils-vitest": "^1.0.0",
111111
"@azure-tools/vite-plugin-browser-test-map": "^1.0.0",
112+
"@azure/arm-servicebus": "^6.1.0",
112113
"@azure/dev-tool": "^1.0.0",
113114
"@azure/eslint-plugin-azure-sdk": "^3.0.0",
114115
"@azure/identity": "^4.7.0",

sdk/servicebus/service-bus/samples-dev/usingNamedKeyCredential.ts

Lines changed: 0 additions & 44 deletions
This file was deleted.

sdk/servicebus/service-bus/samples/v7/javascript/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ These sample programs show how to use the JavaScript client libraries for Azure
1818
| [topicSubscriptionWithRuleOperationsSample.js][topicsubscriptionwithruleoperationssample] | Demonstrates how to filter messages in Service Bus |
1919
| [receiveMessagesLoop.js][receivemessagesloop] | Demonstrates how to receive Service Bus messages in a loop |
2020
| [receiveMessagesStreaming.js][receivemessagesstreaming] | Demonstrates how to receive Service Bus messages in a stream |
21-
| [usingNamedKeyCredential.js][usingnamedkeycredential] | This sample demonstrates how to authenticate using AzureNamedKeyCredential |
2221
| [browseMessages.js][browsemessages] | Demonstrates how to browse a Service Bus message |
2322
| [deleteMessages.js][deletemessages] | Demonstrates deleting messages from a queue. |
2423
| [session.js][session] | Demonstrates how to send/receive messages to/from session enabled queues/subscriptions in Service Bus |
@@ -78,7 +77,6 @@ Take a look at our [API Documentation][apiref] for more information about the AP
7877
[topicsubscriptionwithruleoperationssample]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/samples/v7/javascript/topicSubscriptionWithRuleOperationsSample.js
7978
[receivemessagesloop]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/samples/v7/javascript/receiveMessagesLoop.js
8079
[receivemessagesstreaming]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/samples/v7/javascript/receiveMessagesStreaming.js
81-
[usingnamedkeycredential]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/samples/v7/javascript/usingNamedKeyCredential.js
8280
[browsemessages]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/samples/v7/javascript/browseMessages.js
8381
[deletemessages]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/samples/v7/javascript/deleteMessages.js
8482
[session]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/servicebus/service-bus/samples/v7/javascript/session.js

sdk/servicebus/service-bus/samples/v7/javascript/advanced/administrationClient.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ const { ServiceBusAdministrationClient } = require("@azure/service-bus");
1313
const { DefaultAzureCredential } = require("@azure/identity");
1414

1515
// Load the .env file if it exists
16-
require("dotenv").config();
17-
16+
require("dotenv/config");
1817
// Define connection string and related Service Bus entity names here
1918
const fqdn = process.env.SERVICEBUS_FQDN || "<your-servicebus-namespace>.servicebus.windows.net";
2019
const queueName = process.env.QUEUE_NAME || "<queue name>";

sdk/servicebus/service-bus/samples/v7/javascript/advanced/deferral.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ const { ServiceBusClient, delay } = require("@azure/service-bus");
1717
const { DefaultAzureCredential } = require("@azure/identity");
1818

1919
// Load the .env file if it exists
20-
require("dotenv").config();
21-
20+
require("dotenv/config");
2221
// Define connection string and related Service Bus entity names here
2322
const fqdn = process.env.SERVICEBUS_FQDN || "<your-servicebus-namespace>.servicebus.windows.net";
2423
const queueName = process.env.QUEUE_NAME || "<queue name>";

sdk/servicebus/service-bus/samples/v7/javascript/advanced/listingEntities.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ const { ServiceBusAdministrationClient } = require("@azure/service-bus");
1212
const { DefaultAzureCredential } = require("@azure/identity");
1313

1414
// Load the .env file if it exists
15-
require("dotenv").config();
16-
15+
require("dotenv/config");
1716
// Define connection string and related Service Bus entity names here
1817
const fqdn = process.env.SERVICEBUS_FQDN || "<your-servicebus-namespace>.servicebus.windows.net";
1918

sdk/servicebus/service-bus/samples/v7/javascript/advanced/movingMessagesToDLQ.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ const { ServiceBusClient } = require("@azure/service-bus");
1515
const { DefaultAzureCredential } = require("@azure/identity");
1616

1717
// Load the .env file if it exists
18-
require("dotenv").config();
19-
18+
require("dotenv/config");
2019
// Define connection string and related Service Bus entity names here
2120
const fqdn = process.env.SERVICEBUS_FQDN || "<your-servicebus-namespace>.servicebus.windows.net";
2221
const queueName = process.env.QUEUE_NAME || "<queue name>";

sdk/servicebus/service-bus/samples/v7/javascript/advanced/processMessageFromDLQ.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@ const { ServiceBusClient } = require("@azure/service-bus");
1616
const { DefaultAzureCredential } = require("@azure/identity");
1717

1818
// Load the .env file if it exists
19-
require("dotenv").config();
20-
19+
require("dotenv/config");
2120
// Define connection string and related Service Bus entity names here
2221
const fqdn = process.env.SERVICEBUS_FQDN || "<your-servicebus-namespace>.servicebus.windows.net";
2322
const queueName = process.env.QUEUE_NAME || "<queue name>";

sdk/servicebus/service-bus/samples/v7/javascript/advanced/ruleManager.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
const { ServiceBusAdministrationClient, ServiceBusClient } = require("@azure/service-bus");
1313
const { DefaultAzureCredential } = require("@azure/identity");
1414

15-
require("dotenv").config();
15+
require("dotenv/config");
1616

1717
async function main() {
1818
// Define connection string and related Service Bus entity names here
@@ -89,7 +89,7 @@ async function main() {
8989

9090
console.log("Deleting topic...");
9191
await serviceBusAdminClient.deleteTopic(topicName);
92-
client.close();
92+
await client.close();
9393
}
9494

9595
main().catch((err) => {

sdk/servicebus/service-bus/samples/v7/javascript/advanced/sessionRoundRobin.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
const { ServiceBusClient, delay, isServiceBusError } = require("@azure/service-bus");
1414
const { DefaultAzureCredential } = require("@azure/identity");
1515

16-
require("dotenv").config();
17-
16+
require("dotenv/config");
1817
const fqdn = process.env.SERVICEBUS_FQDN || "<your-servicebus-namespace>.servicebus.windows.net";
1918

2019
// NOTE: this sample uses a session enabled queue but would also work a session enabled subscription.

sdk/servicebus/service-bus/samples/v7/javascript/advanced/sessionState.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ const { ServiceBusClient } = require("@azure/service-bus");
2525
const { DefaultAzureCredential } = require("@azure/identity");
2626

2727
// Load the .env file if it exists
28-
require("dotenv").config();
29-
28+
require("dotenv/config");
3029
// Define connection string and related Service Bus entity names here
3130
const fqdn = process.env.SERVICEBUS_FQDN || "<your-servicebus-namespace>.servicebus.windows.net";
3231
const userEventsQueueName = process.env.QUEUE_NAME_WITH_SESSIONS || "<queue name>";

0 commit comments

Comments
 (0)