diff --git a/sdk/appconfiguration/app-configuration/test/auth.spec.ts b/sdk/appconfiguration/app-configuration/test/auth.spec.ts index d70b275cebb2..774a1cb4be88 100644 --- a/sdk/appconfiguration/app-configuration/test/auth.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/auth.spec.ts @@ -15,8 +15,8 @@ describe("Authentication", () => { credsAndEndpoint = getTokenAuthenticationCredential() || this.skip(); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("invalid connection string gives a decent error message", () => { diff --git a/sdk/appconfiguration/app-configuration/test/etags.spec.ts b/sdk/appconfiguration/app-configuration/test/etags.spec.ts index 2f903741f4cb..b5f392d760e8 100644 --- a/sdk/appconfiguration/app-configuration/test/etags.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/etags.spec.ts @@ -28,7 +28,7 @@ describe("etags", () => { afterEach(async function() { await deleteKeyCompletely([key], client); - recorder.stop(); + await recorder.stop(); }); // etag usage is 'opt-in' via the onlyIfChanged/onlyIfUnchanged options for certain calls diff --git a/sdk/appconfiguration/app-configuration/test/index.readonlytests.spec.ts b/sdk/appconfiguration/app-configuration/test/index.readonlytests.spec.ts index 9500c3a455e7..b1ba3e010de7 100644 --- a/sdk/appconfiguration/app-configuration/test/index.readonlytests.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/index.readonlytests.spec.ts @@ -28,7 +28,7 @@ describe("AppConfigurationClient (set|clear)ReadOnly", () => { afterEach(async function() { await deleteKeyCompletely([testConfigSetting.key], client); - recorder.stop(); + await recorder.stop(); }); it("basic", async function() { diff --git a/sdk/appconfiguration/app-configuration/test/index.spec.ts b/sdk/appconfiguration/app-configuration/test/index.spec.ts index 83b99bcf3267..6f33a6b07d76 100644 --- a/sdk/appconfiguration/app-configuration/test/index.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/index.spec.ts @@ -24,8 +24,8 @@ describe("AppConfigurationClient", () => { client = createAppConfigurationClientForTests() || this.skip(); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); describe("simple usages", () => { diff --git a/sdk/appconfiguration/app-configuration/test/internal/http.spec.ts b/sdk/appconfiguration/app-configuration/test/internal/http.spec.ts index 234dd1244e7d..a7cf9165bcd7 100644 --- a/sdk/appconfiguration/app-configuration/test/internal/http.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/internal/http.spec.ts @@ -108,8 +108,8 @@ describe("http request related tests", function() { client = createAppConfigurationClientForTests() || this.skip(); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("custom client request ID", async () => { diff --git a/sdk/appconfiguration/app-configuration/test/throwOrNotThrow.spec.ts b/sdk/appconfiguration/app-configuration/test/throwOrNotThrow.spec.ts index c83ee5bc006e..8cbd12ca2523 100644 --- a/sdk/appconfiguration/app-configuration/test/throwOrNotThrow.spec.ts +++ b/sdk/appconfiguration/app-configuration/test/throwOrNotThrow.spec.ts @@ -22,8 +22,8 @@ describe("Various error cases", () => { client = createAppConfigurationClientForTests() || this.skip(); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); describe("throws", () => { diff --git a/sdk/formrecognizer/ai-form-recognizer/test/browser/formrecognizerclient.spec.ts b/sdk/formrecognizer/ai-form-recognizer/test/browser/formrecognizerclient.spec.ts index 1400f751f571..4009f8440e47 100644 --- a/sdk/formrecognizer/ai-form-recognizer/test/browser/formrecognizerclient.spec.ts +++ b/sdk/formrecognizer/ai-form-recognizer/test/browser/formrecognizerclient.spec.ts @@ -16,9 +16,9 @@ describe("FormRecognizerClient browser only", () => { ({ recorder, client } = createRecordedRecognizerClient(this, apiKey)); }); - afterEach(function() { + afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/formrecognizer/ai-form-recognizer/test/browser/formtrainingclient.spec.ts b/sdk/formrecognizer/ai-form-recognizer/test/browser/formtrainingclient.spec.ts index 524daa217c27..f3363ba65a05 100644 --- a/sdk/formrecognizer/ai-form-recognizer/test/browser/formtrainingclient.spec.ts +++ b/sdk/formrecognizer/ai-form-recognizer/test/browser/formtrainingclient.spec.ts @@ -33,9 +33,9 @@ describe("FormTrainingClient browser only", () => { ); }); - afterEach(function() { + afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } }); @@ -214,9 +214,9 @@ describe("FormRecognizerClient custom form recognition browser only", () => { ({ recorder, client: recognizerClient } = createRecordedRecognizerClient(this, apiKey)); }); - afterEach(function() { + afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } }); it("recognizes form url unlabeled model", async () => { diff --git a/sdk/formrecognizer/ai-form-recognizer/test/node/formrecognizerclient.spec.ts b/sdk/formrecognizer/ai-form-recognizer/test/node/formrecognizerclient.spec.ts index 4bec0ebcc6ac..fa7ce1ecbb10 100644 --- a/sdk/formrecognizer/ai-form-recognizer/test/node/formrecognizerclient.spec.ts +++ b/sdk/formrecognizer/ai-form-recognizer/test/node/formrecognizerclient.spec.ts @@ -19,9 +19,9 @@ describe("FormRecognizerClient NodeJS only", () => { ({ recorder, client } = createRecordedRecognizerClient(this, apiKey)); }); - afterEach(function() { + afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } }); @@ -157,9 +157,9 @@ describe("[AAD] FormRecognizerClient NodeJS only", () => { ({ recorder, client } = createRecordedRecognizerClient(this)); }); - afterEach(function() { + afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/formrecognizer/ai-form-recognizer/test/node/formtrainingclient.spec.ts b/sdk/formrecognizer/ai-form-recognizer/test/node/formtrainingclient.spec.ts index a7b3d1adca57..3812ed482ada 100644 --- a/sdk/formrecognizer/ai-form-recognizer/test/node/formtrainingclient.spec.ts +++ b/sdk/formrecognizer/ai-form-recognizer/test/node/formtrainingclient.spec.ts @@ -35,9 +35,9 @@ describe("FormTrainingClient NodeJS only", () => { ({ recorder, client: trainingClient } = createRecordedTrainingClient(this, apiKey)); }); - afterEach(function() { + afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } }); @@ -237,9 +237,9 @@ describe("FormRecognizerClient form recognition NodeJS", () => { ({ recorder, client: recognizerClient } = createRecordedRecognizerClient(this, apiKey)); }); - afterEach(function() { + afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } }); @@ -396,9 +396,9 @@ describe("[AAD] FormTrainingClient NodeJS only", () => { ({ recorder, client: trainingClient } = createRecordedTrainingClient(this)); }); - afterEach(function() { + afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/keyvault/keyvault-certificates/test/internal/challengeBasedAuthenticationPolicy.spec.ts b/sdk/keyvault/keyvault-certificates/test/internal/challengeBasedAuthenticationPolicy.spec.ts index 9f3d9b9b4574..4e521a888aa7 100644 --- a/sdk/keyvault/keyvault-certificates/test/internal/challengeBasedAuthenticationPolicy.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/internal/challengeBasedAuthenticationPolicy.spec.ts @@ -41,7 +41,7 @@ describe("Challenge based authentication tests", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-certificates/test/public/CRUD.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/CRUD.spec.ts index 16bf25f4a35b..b317aebdac61 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/CRUD.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/CRUD.spec.ts @@ -44,7 +44,7 @@ describe("Certificates client - create, read, update and delete", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-certificates/test/public/list.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/list.spec.ts index 3858711303b6..832cb4cd862e 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/list.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/list.spec.ts @@ -35,7 +35,7 @@ describe("Certificates client - list certificates in various ways", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-certificates/test/public/lro.create.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/lro.create.spec.ts index 9bdfcc03c536..0319285aff35 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/lro.create.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/lro.create.spec.ts @@ -26,7 +26,7 @@ describe("Certificates client - LRO - create", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-certificates/test/public/lro.delete.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/lro.delete.spec.ts index cbe6519e58b8..54d6628eb0ed 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/lro.delete.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/lro.delete.spec.ts @@ -26,7 +26,7 @@ describe("Certificates client - lro - delete", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-certificates/test/public/lro.operation.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/lro.operation.spec.ts index f77689d8a09f..3f617de0025b 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/lro.operation.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/lro.operation.spec.ts @@ -30,7 +30,7 @@ describe("Certificates client - LRO - certificate operation", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-certificates/test/public/lro.recover.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/lro.recover.spec.ts index 4d17ee5fd345..4f615e7d8024 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/lro.recover.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/lro.recover.spec.ts @@ -27,7 +27,7 @@ describe("Certificates client - LRO - recoverDelete", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-certificates/test/public/mergeAndImport.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/mergeAndImport.spec.ts index 1b4ed7b7b146..a4ae9d649cd0 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/mergeAndImport.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/mergeAndImport.spec.ts @@ -36,7 +36,7 @@ describe("Certificates client - merge and import certificates", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-certificates/test/public/recoverBackupRestore.spec.ts b/sdk/keyvault/keyvault-certificates/test/public/recoverBackupRestore.spec.ts index bbfc4c700c29..3ed56c429381 100644 --- a/sdk/keyvault/keyvault-certificates/test/public/recoverBackupRestore.spec.ts +++ b/sdk/keyvault/keyvault-certificates/test/public/recoverBackupRestore.spec.ts @@ -32,7 +32,7 @@ describe("Certificates client - restore certificates and recover backups", () => }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-keys/test/internal/challengeBasedAuthenticationPolicy.spec.ts b/sdk/keyvault/keyvault-keys/test/internal/challengeBasedAuthenticationPolicy.spec.ts index e08a92a5f214..b4b116efc511 100644 --- a/sdk/keyvault/keyvault-keys/test/internal/challengeBasedAuthenticationPolicy.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/internal/challengeBasedAuthenticationPolicy.spec.ts @@ -35,7 +35,7 @@ describe("Challenge based authentication tests", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-keys/test/public/CRUD.spec.ts b/sdk/keyvault/keyvault-keys/test/public/CRUD.spec.ts index 9973b0a35479..ab1f8347a189 100644 --- a/sdk/keyvault/keyvault-keys/test/public/CRUD.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/CRUD.spec.ts @@ -33,7 +33,7 @@ describe("Keys client - create, read, update and delete operations", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-keys/test/public/crypto.spec.ts b/sdk/keyvault/keyvault-keys/test/public/crypto.spec.ts index dc68eafd4e12..80212b7ebffb 100644 --- a/sdk/keyvault/keyvault-keys/test/public/crypto.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/crypto.spec.ts @@ -45,7 +45,7 @@ describe("CryptographyClient (all decrypts happen remotely)", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await testClient.flushKey(keyName); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/keyvault/keyvault-keys/test/public/import.spec.ts b/sdk/keyvault/keyvault-keys/test/public/import.spec.ts index 26d6bd577ef1..2788491f14f5 100644 --- a/sdk/keyvault/keyvault-keys/test/public/import.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/import.spec.ts @@ -25,7 +25,7 @@ describe("Keys client - import keys", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-keys/test/public/list.spec.ts b/sdk/keyvault/keyvault-keys/test/public/list.spec.ts index 391809083310..40367a5c4664 100644 --- a/sdk/keyvault/keyvault-keys/test/public/list.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/list.spec.ts @@ -26,7 +26,7 @@ describe("Keys client - list keys in various ways", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-keys/test/public/lro.delete.spec.ts b/sdk/keyvault/keyvault-keys/test/public/lro.delete.spec.ts index 2027944164a2..0ed4ab39d9a0 100644 --- a/sdk/keyvault/keyvault-keys/test/public/lro.delete.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/lro.delete.spec.ts @@ -26,7 +26,7 @@ describe("Keys client - Long Running Operations - delete", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-keys/test/public/lro.recoverDelete.spec.ts b/sdk/keyvault/keyvault-keys/test/public/lro.recoverDelete.spec.ts index cbfd6557798e..315d3d0fa0fe 100644 --- a/sdk/keyvault/keyvault-keys/test/public/lro.recoverDelete.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/lro.recoverDelete.spec.ts @@ -27,7 +27,7 @@ describe("Keys client - Long Running Operations - recoverDelete", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-keys/test/public/recoverBackupRestore.spec.ts b/sdk/keyvault/keyvault-keys/test/public/recoverBackupRestore.spec.ts index deb437cc5d31..8d44516442b6 100644 --- a/sdk/keyvault/keyvault-keys/test/public/recoverBackupRestore.spec.ts +++ b/sdk/keyvault/keyvault-keys/test/public/recoverBackupRestore.spec.ts @@ -27,7 +27,7 @@ describe("Keys client - restore keys and recover backups", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-secrets/test/internal/challengeBasedAuthenticationPolicy.spec.ts b/sdk/keyvault/keyvault-secrets/test/internal/challengeBasedAuthenticationPolicy.spec.ts index af362a4f19fb..93b07af149e2 100644 --- a/sdk/keyvault/keyvault-secrets/test/internal/challengeBasedAuthenticationPolicy.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/internal/challengeBasedAuthenticationPolicy.spec.ts @@ -35,7 +35,7 @@ describe("Challenge based authentication tests", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-secrets/test/public/CRUD.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/CRUD.spec.ts index ec127fa594f3..ecbe8b655f61 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/CRUD.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/CRUD.spec.ts @@ -28,7 +28,7 @@ describe("Secret client - create, read, update and delete operations", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-secrets/test/public/list.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/list.spec.ts index fe862cc07bec..0b88522d563c 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/list.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/list.spec.ts @@ -30,7 +30,7 @@ describe("Secret client - list secrets in various ways", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-secrets/test/public/lro.delete.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/lro.delete.spec.ts index ed4b4fad761b..dd1aa09114e0 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/lro.delete.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/lro.delete.spec.ts @@ -27,7 +27,7 @@ describe("Secrets client - Long Running Operations - delete", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-secrets/test/public/lro.recover.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/lro.recover.spec.ts index daffe1caf3f9..87d222faa074 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/lro.recover.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/lro.recover.spec.ts @@ -27,7 +27,7 @@ describe("Secrets client - Long Running Operations - recoverDelete", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/keyvault/keyvault-secrets/test/public/recoverBackupRestore.spec.ts b/sdk/keyvault/keyvault-secrets/test/public/recoverBackupRestore.spec.ts index 5e6fc01114bd..e209aa36cf1b 100644 --- a/sdk/keyvault/keyvault-secrets/test/public/recoverBackupRestore.spec.ts +++ b/sdk/keyvault/keyvault-secrets/test/public/recoverBackupRestore.spec.ts @@ -27,7 +27,7 @@ describe("Secret client - restore secrets and recover backups", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); // The tests follow diff --git a/sdk/search/search-documents/test/node/searchIndexClient.spec.ts b/sdk/search/search-documents/test/node/searchIndexClient.spec.ts index bd912f448546..1876433f719a 100644 --- a/sdk/search/search-documents/test/node/searchIndexClient.spec.ts +++ b/sdk/search/search-documents/test/node/searchIndexClient.spec.ts @@ -34,7 +34,7 @@ describe("SearchClient", function() { afterEach(async function() { if (recorder) { - recorder.stop(); + await recorder.stop(); } if (!isPlaybackMode()) { await indexClient.deleteIndex(TEST_INDEX_NAME); diff --git a/sdk/storage/storage-blob-changefeed/test/blobchangefeedclient.spec.ts b/sdk/storage/storage-blob-changefeed/test/blobchangefeedclient.spec.ts index 4684b459dadf..4a74a865e18c 100644 --- a/sdk/storage/storage-blob-changefeed/test/blobchangefeedclient.spec.ts +++ b/sdk/storage/storage-blob-changefeed/test/blobchangefeedclient.spec.ts @@ -25,7 +25,7 @@ describe("BlobChangeFeedClient", async () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("next(): fetch all events", async () => { @@ -129,7 +129,7 @@ describe("BlobChangeFeedClient: Change Feed not configured", async () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("should throw when fetching changes", async () => { diff --git a/sdk/storage/storage-blob/test/aborter.spec.ts b/sdk/storage/storage-blob/test/aborter.spec.ts index 69ec5477633f..179f3e061871 100644 --- a/sdk/storage/storage-blob/test/aborter.spec.ts +++ b/sdk/storage/storage-blob/test/aborter.spec.ts @@ -21,8 +21,8 @@ describe("Aborter", () => { containerClient = blobServiceClient.getContainerClient(containerName); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("Should abort after aborter timeout", async () => { diff --git a/sdk/storage/storage-blob/test/appendblobclient.spec.ts b/sdk/storage/storage-blob/test/appendblobclient.spec.ts index eb740182d732..48a418aab13a 100644 --- a/sdk/storage/storage-blob/test/appendblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/appendblobclient.spec.ts @@ -31,7 +31,7 @@ describe("AppendBlobClient", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("create with default parameters", async () => { diff --git a/sdk/storage/storage-blob/test/blobbatch.spec.ts b/sdk/storage/storage-blob/test/blobbatch.spec.ts index 49aa643c461a..e4d073cca579 100644 --- a/sdk/storage/storage-blob/test/blobbatch.spec.ts +++ b/sdk/storage/storage-blob/test/blobbatch.spec.ts @@ -56,7 +56,7 @@ describe("BlobBatch", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/storage/storage-blob/test/blobclient.spec.ts b/sdk/storage/storage-blob/test/blobclient.spec.ts index 6111c6d54917..5e9f11469dc2 100644 --- a/sdk/storage/storage-blob/test/blobclient.spec.ts +++ b/sdk/storage/storage-blob/test/blobclient.spec.ts @@ -47,7 +47,7 @@ describe("BlobClient", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/storage/storage-blob/test/blobclientpollers.spec.ts b/sdk/storage/storage-blob/test/blobclientpollers.spec.ts index 331efd37f019..da5ca6f0eece 100644 --- a/sdk/storage/storage-blob/test/blobclientpollers.spec.ts +++ b/sdk/storage/storage-blob/test/blobclientpollers.spec.ts @@ -49,7 +49,7 @@ describe("BlobClient beginCopyFromURL Poller", () => { if (!this.currentTest?.isPending()) { await containerClient.delete(); await destinationContainerClient.delete(); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/storage/storage-blob/test/blobserviceclient.spec.ts b/sdk/storage/storage-blob/test/blobserviceclient.spec.ts index 72a39af1de67..677da322e472 100644 --- a/sdk/storage/storage-blob/test/blobserviceclient.spec.ts +++ b/sdk/storage/storage-blob/test/blobserviceclient.spec.ts @@ -23,7 +23,7 @@ describe("BlobServiceClient", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("ListContainers with default parameters", async () => { diff --git a/sdk/storage/storage-blob/test/blobversioning.spec.ts b/sdk/storage/storage-blob/test/blobversioning.spec.ts index b0173ff33719..a1a40e3c1e37 100644 --- a/sdk/storage/storage-blob/test/blobversioning.spec.ts +++ b/sdk/storage/storage-blob/test/blobversioning.spec.ts @@ -43,7 +43,7 @@ describe("Blob versioning", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("List Blobs include versions", async () => { diff --git a/sdk/storage/storage-blob/test/blockblobclient.spec.ts b/sdk/storage/storage-blob/test/blockblobclient.spec.ts index 998c8a4fcbf7..2b0de5e10082 100644 --- a/sdk/storage/storage-blob/test/blockblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/blockblobclient.spec.ts @@ -37,7 +37,7 @@ describe("BlockBlobClient", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/storage/storage-blob/test/browser/highlevel.browser.spec.ts b/sdk/storage/storage-blob/test/browser/highlevel.browser.spec.ts index f41a2c54e35f..e5779141ca72 100644 --- a/sdk/storage/storage-blob/test/browser/highlevel.browser.spec.ts +++ b/sdk/storage/storage-blob/test/browser/highlevel.browser.spec.ts @@ -43,7 +43,7 @@ describe("Highlevel", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); } }); @@ -51,7 +51,7 @@ describe("Highlevel", () => { recorder = record(this, recorderEnvSetup); tempFile1 = getBrowserFile(recorder.getUniqueName("browserfile"), tempFile1Length); tempFile2 = getBrowserFile(recorder.getUniqueName("browserfile2"), tempFile2Length); - recorder.stop(); + await recorder.stop(); }); after(async () => {}); diff --git a/sdk/storage/storage-blob/test/containerclient.spec.ts b/sdk/storage/storage-blob/test/containerclient.spec.ts index 3a5896a589af..2dcbf5ee6947 100644 --- a/sdk/storage/storage-blob/test/containerclient.spec.ts +++ b/sdk/storage/storage-blob/test/containerclient.spec.ts @@ -36,7 +36,7 @@ describe("ContainerClient", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("setMetadata", async () => { diff --git a/sdk/storage/storage-blob/test/encrytion.spec.ts b/sdk/storage/storage-blob/test/encrytion.spec.ts index e1a09668f6b0..5680081c5de6 100644 --- a/sdk/storage/storage-blob/test/encrytion.spec.ts +++ b/sdk/storage/storage-blob/test/encrytion.spec.ts @@ -50,7 +50,7 @@ describe("Encryption Scope", function() { if (containerClient) { await containerClient.delete(); } - recorder.stop(); + await recorder.stop(); }); it("create container", async () => { diff --git a/sdk/storage/storage-blob/test/leaseclient.spec.ts b/sdk/storage/storage-blob/test/leaseclient.spec.ts index d1f90d2d55a8..8f4fce62a4ac 100644 --- a/sdk/storage/storage-blob/test/leaseclient.spec.ts +++ b/sdk/storage/storage-blob/test/leaseclient.spec.ts @@ -23,7 +23,7 @@ describe("LeaseClient from Container", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("acquireLease", async () => { @@ -161,7 +161,7 @@ describe("LeaseClient from Blob", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("acquireLease", async () => { diff --git a/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts b/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts index 4990d9df44fc..c814910c1ed3 100644 --- a/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/appendblobclient.spec.ts @@ -43,7 +43,7 @@ describe("AppendBlobClient Node.js only", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("can be created with a url and a credential", async () => { diff --git a/sdk/storage/storage-blob/test/node/blobclient.spec.ts b/sdk/storage/storage-blob/test/node/blobclient.spec.ts index ea67a13acb7d..43e6d7c42932 100644 --- a/sdk/storage/storage-blob/test/node/blobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/blobclient.spec.ts @@ -55,7 +55,7 @@ describe("BlobClient Node.js only", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("download with with default parameters", async () => { diff --git a/sdk/storage/storage-blob/test/node/blobserviceclient.spec.ts b/sdk/storage/storage-blob/test/node/blobserviceclient.spec.ts index ab7ebb931e15..e568ba4f2c0d 100644 --- a/sdk/storage/storage-blob/test/node/blobserviceclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/blobserviceclient.spec.ts @@ -14,7 +14,7 @@ describe("BlobServiceClient Node.js only", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("can be created with a url and a credential", async () => { diff --git a/sdk/storage/storage-blob/test/node/blockblobclient.spec.ts b/sdk/storage/storage-blob/test/node/blockblobclient.spec.ts index 50bd0e64e62d..fb947c6ed89e 100644 --- a/sdk/storage/storage-blob/test/node/blockblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/blockblobclient.spec.ts @@ -42,7 +42,7 @@ describe("BlockBlobClient Node.js only", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/storage/storage-blob/test/node/containerclient.spec.ts b/sdk/storage/storage-blob/test/node/containerclient.spec.ts index 5298e6b1edda..615884f56ec5 100644 --- a/sdk/storage/storage-blob/test/node/containerclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/containerclient.spec.ts @@ -29,7 +29,7 @@ describe("ContainerClient Node.js only", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("getAccessPolicy", async () => { diff --git a/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts b/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts index 65b5102ae1e6..8c2aa5df814d 100644 --- a/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts +++ b/sdk/storage/storage-blob/test/node/highlevel.node.spec.ts @@ -43,7 +43,7 @@ describe("Highlevel", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); } }); @@ -56,14 +56,14 @@ describe("Highlevel", () => { tempFileLargeLength = 257 * 1024 * 1024; tempFileSmall = await createRandomLocalFile(tempFolderPath, 15, 1024 * 1024); tempFileSmallLength = 15 * 1024 * 1024; - recorder.stop(); + await recorder.stop(); }); after(async function() { recorder = record(this, recorderEnvSetup); fs.unlinkSync(tempFileLarge); fs.unlinkSync(tempFileSmall); - recorder.stop(); + await recorder.stop(); }); it("put blob with maximum size", async () => { diff --git a/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts b/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts index 711a17c3976d..f85964f1873d 100644 --- a/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/node/pageblobclient.spec.ts @@ -44,7 +44,7 @@ describe("PageBlobClient Node.js only", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("startCopyIncremental", async () => { diff --git a/sdk/storage/storage-blob/test/node/sas.spec.ts b/sdk/storage/storage-blob/test/node/sas.spec.ts index ba38da66a31f..22b3a67e41f4 100644 --- a/sdk/storage/storage-blob/test/node/sas.spec.ts +++ b/sdk/storage/storage-blob/test/node/sas.spec.ts @@ -31,8 +31,8 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { blobServiceClient = getBSU(); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("generateAccountSASQueryParameters should work", async () => { diff --git a/sdk/storage/storage-blob/test/pageblobclient.spec.ts b/sdk/storage/storage-blob/test/pageblobclient.spec.ts index 9281abdc7f96..bd955829799b 100644 --- a/sdk/storage/storage-blob/test/pageblobclient.spec.ts +++ b/sdk/storage/storage-blob/test/pageblobclient.spec.ts @@ -40,7 +40,7 @@ describe("PageBlobClient", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("create with default parameters", async () => { diff --git a/sdk/storage/storage-blob/test/retrypolicy.spec.ts b/sdk/storage/storage-blob/test/retrypolicy.spec.ts index 734dead3dc32..9c22c343fb21 100644 --- a/sdk/storage/storage-blob/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-blob/test/retrypolicy.spec.ts @@ -28,7 +28,7 @@ describe("RetryPolicy", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("Retry Policy should work when first request fails with 500", async () => { diff --git a/sdk/storage/storage-blob/test/specialnaming.spec.ts b/sdk/storage/storage-blob/test/specialnaming.spec.ts index 0e9aa309ba1a..ddf488c179b2 100644 --- a/sdk/storage/storage-blob/test/specialnaming.spec.ts +++ b/sdk/storage/storage-blob/test/specialnaming.spec.ts @@ -24,7 +24,7 @@ describe("Special Naming Tests", () => { afterEach(async function() { await containerClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("Should work with special container and blob names with spaces", async () => { diff --git a/sdk/storage/storage-file-datalake/test/aborter.spec.ts b/sdk/storage/storage-file-datalake/test/aborter.spec.ts index f1b3dc790fcd..ecbba25d26eb 100644 --- a/sdk/storage/storage-file-datalake/test/aborter.spec.ts +++ b/sdk/storage/storage-file-datalake/test/aborter.spec.ts @@ -21,8 +21,8 @@ describe("Aborter", () => { fileSystemClient = serviceClient.getFileSystemClient(fileSystemName); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("Should abort after aborter timeout", async () => { diff --git a/sdk/storage/storage-file-datalake/test/browser/highlevel.browser.spec.ts b/sdk/storage/storage-file-datalake/test/browser/highlevel.browser.spec.ts index f73149977eb5..cc7890f05ba1 100644 --- a/sdk/storage/storage-file-datalake/test/browser/highlevel.browser.spec.ts +++ b/sdk/storage/storage-file-datalake/test/browser/highlevel.browser.spec.ts @@ -40,7 +40,7 @@ describe("Highlevel browser only", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); } }); @@ -48,7 +48,7 @@ describe("Highlevel browser only", () => { recorder = record(this, recorderEnvSetup); tempFileLarge = getBrowserFile(recorder.getUniqueName("browserfilesmall"), tempFileLargeLength); tempFileSmall = getBrowserFile(recorder.getUniqueName("browserfilelarge"), tempFileSmallLength); - recorder.stop(); + await recorder.stop(); }); after(async () => {}); diff --git a/sdk/storage/storage-file-datalake/test/filesystemclient.spec.ts b/sdk/storage/storage-file-datalake/test/filesystemclient.spec.ts index 00e370a7952f..f6932adb6c95 100644 --- a/sdk/storage/storage-file-datalake/test/filesystemclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/filesystemclient.spec.ts @@ -30,7 +30,7 @@ describe("DataLakeFileSystemClient", () => { afterEach(async function() { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("setMetadata", async () => { diff --git a/sdk/storage/storage-file-datalake/test/leaseclient.spec.ts b/sdk/storage/storage-file-datalake/test/leaseclient.spec.ts index cccbda46d9b2..18c5e8682be9 100644 --- a/sdk/storage/storage-file-datalake/test/leaseclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/leaseclient.spec.ts @@ -23,7 +23,7 @@ describe("LeaseClient from FileSystem", () => { afterEach(async function() { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("acquireLease", async () => { @@ -158,7 +158,7 @@ describe("LeaseClient from File", () => { afterEach(async function() { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("acquireLease", async () => { @@ -281,7 +281,7 @@ describe("LeaseClient from Directory", () => { afterEach(async function() { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("acquireLease", async () => { diff --git a/sdk/storage/storage-file-datalake/test/node/filesystemclient.spec.ts b/sdk/storage/storage-file-datalake/test/node/filesystemclient.spec.ts index 4cb9bda7f332..8f56e6db64de 100644 --- a/sdk/storage/storage-file-datalake/test/node/filesystemclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/filesystemclient.spec.ts @@ -27,7 +27,7 @@ describe("DataLakeFileSystemClient Node.js only", () => { afterEach(async function() { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("getAccessPolicy", async () => { diff --git a/sdk/storage/storage-file-datalake/test/node/highlevel.node.spec.ts b/sdk/storage/storage-file-datalake/test/node/highlevel.node.spec.ts index 6e6d67c58bb0..844373eea4c5 100644 --- a/sdk/storage/storage-file-datalake/test/node/highlevel.node.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/highlevel.node.spec.ts @@ -36,7 +36,7 @@ describe("Highlevel Node.js only", () => { let recorder: any; - beforeEach(async function () { + beforeEach(async function() { recorder = record(this, recorderEnvSetup); const serviceClient = getDataLakeServiceClient(); fileSystemName = recorder.getUniqueName("filesystem"); @@ -46,14 +46,14 @@ describe("Highlevel Node.js only", () => { fileClient = fileSystemClient.getFileClient(fileName); }); - afterEach(async function () { + afterEach(async function() { if (!this.currentTest?.isPending()) { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); } }); - before(async function () { + before(async function() { recorder = record(this, recorderEnvSetup); if (!fs.existsSync(tempFolderPath)) { fs.mkdirSync(tempFolderPath); @@ -63,14 +63,14 @@ describe("Highlevel Node.js only", () => { tempFileSmall = await createRandomLocalFile(tempFolderPath, 15, MB); tempFileSmallLength = 15 * MB; - recorder.stop(); + await recorder.stop(); }); - after(async function () { + after(async function() { recorder = record(this, recorderEnvSetup); fs.unlinkSync(tempFileLarge); fs.unlinkSync(tempFileSmall); - recorder.stop(); + await recorder.stop(); }); it("upload should work for large data", async () => { diff --git a/sdk/storage/storage-file-datalake/test/node/pathclient.spec.ts b/sdk/storage/storage-file-datalake/test/node/pathclient.spec.ts index 1cd01e916b19..61c459d06c15 100644 --- a/sdk/storage/storage-file-datalake/test/node/pathclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/pathclient.spec.ts @@ -38,7 +38,7 @@ describe("DataLakePathClient Node.js only", () => { afterEach(async function() { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("setAccessControl", async () => { diff --git a/sdk/storage/storage-file-datalake/test/node/sas.spec.ts b/sdk/storage/storage-file-datalake/test/node/sas.spec.ts index 1ee2ec96c7d5..ff5603f2caba 100644 --- a/sdk/storage/storage-file-datalake/test/node/sas.spec.ts +++ b/sdk/storage/storage-file-datalake/test/node/sas.spec.ts @@ -32,8 +32,8 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { serviceClient = getDataLakeServiceClient(); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("generateAccountSASQueryParameters should work", async () => { diff --git a/sdk/storage/storage-file-datalake/test/pathclient.spec.ts b/sdk/storage/storage-file-datalake/test/pathclient.spec.ts index bf84cb084fe7..f0a30186f286 100644 --- a/sdk/storage/storage-file-datalake/test/pathclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/pathclient.spec.ts @@ -35,7 +35,7 @@ describe("DataLakePathClient", () => { afterEach(async function() { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("read with with default parameters", async () => { diff --git a/sdk/storage/storage-file-datalake/test/retrypolicy.spec.ts b/sdk/storage/storage-file-datalake/test/retrypolicy.spec.ts index 376f42bb7d50..924a84871bd3 100644 --- a/sdk/storage/storage-file-datalake/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-file-datalake/test/retrypolicy.spec.ts @@ -27,7 +27,7 @@ describe("RetryPolicy", () => { afterEach(async function() { await dataLakeFileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("Retry Policy should work when first request fails with 500", async () => { diff --git a/sdk/storage/storage-file-datalake/test/serviceclient.spec.ts b/sdk/storage/storage-file-datalake/test/serviceclient.spec.ts index 865105646f45..e5b7b3f8db49 100644 --- a/sdk/storage/storage-file-datalake/test/serviceclient.spec.ts +++ b/sdk/storage/storage-file-datalake/test/serviceclient.spec.ts @@ -15,7 +15,7 @@ describe("DataLakeServiceClient", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("ListFileSystems with default parameters", async () => { diff --git a/sdk/storage/storage-file-datalake/test/specialnaming.spec.ts b/sdk/storage/storage-file-datalake/test/specialnaming.spec.ts index 8cd12773025a..1d0390a59bf5 100644 --- a/sdk/storage/storage-file-datalake/test/specialnaming.spec.ts +++ b/sdk/storage/storage-file-datalake/test/specialnaming.spec.ts @@ -26,7 +26,7 @@ describe("Special Naming Tests", () => { afterEach(async function() { await fileSystemClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("Should work with special container and blob names with spaces", async () => { diff --git a/sdk/storage/storage-file-datalake/test/utils.spec.ts b/sdk/storage/storage-file-datalake/test/utils.spec.ts index 05a338d4affe..15a6b413e6d2 100644 --- a/sdk/storage/storage-file-datalake/test/utils.spec.ts +++ b/sdk/storage/storage-file-datalake/test/utils.spec.ts @@ -36,8 +36,8 @@ describe("Utility Helpers", () => { recorder = record(this, recorderEnvSetup); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("sanitizeURL redacts SAS token", () => { diff --git a/sdk/storage/storage-file-share/test/aborter.spec.ts b/sdk/storage/storage-file-share/test/aborter.spec.ts index 3478978c7984..debbd48aa7bd 100644 --- a/sdk/storage/storage-file-share/test/aborter.spec.ts +++ b/sdk/storage/storage-file-share/test/aborter.spec.ts @@ -21,8 +21,8 @@ describe("Aborter", () => { shareClient = serviceClient.getShareClient(shareName); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("Should abort after aborter timeout", async () => { diff --git a/sdk/storage/storage-file-share/test/directoryclient.spec.ts b/sdk/storage/storage-file-share/test/directoryclient.spec.ts index 827509d99849..1c1d161628bb 100644 --- a/sdk/storage/storage-file-share/test/directoryclient.spec.ts +++ b/sdk/storage/storage-file-share/test/directoryclient.spec.ts @@ -51,7 +51,7 @@ describe("DirectoryClient", () => { afterEach(async function() { await shareClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("setMetadata", async () => { diff --git a/sdk/storage/storage-file-share/test/fileclient.spec.ts b/sdk/storage/storage-file-share/test/fileclient.spec.ts index 5d725d588b15..08a233c29ce0 100644 --- a/sdk/storage/storage-file-share/test/fileclient.spec.ts +++ b/sdk/storage/storage-file-share/test/fileclient.spec.ts @@ -61,7 +61,7 @@ describe("FileClient", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await shareClient.delete(); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/storage/storage-file-share/test/fileserviceclient.spec.ts b/sdk/storage/storage-file-share/test/fileserviceclient.spec.ts index 4ff76dd093a3..7cf45078d50e 100644 --- a/sdk/storage/storage-file-share/test/fileserviceclient.spec.ts +++ b/sdk/storage/storage-file-share/test/fileserviceclient.spec.ts @@ -13,8 +13,8 @@ describe("FileServiceClient", () => { recorder = record(this, recorderEnvSetup); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("ListShares with default parameters", async () => { diff --git a/sdk/storage/storage-file-share/test/leaseclient.spec.ts b/sdk/storage/storage-file-share/test/leaseclient.spec.ts index 19817ccdfeac..58111ff8ce92 100644 --- a/sdk/storage/storage-file-share/test/leaseclient.spec.ts +++ b/sdk/storage/storage-file-share/test/leaseclient.spec.ts @@ -48,7 +48,7 @@ describe("LeaseClient", () => { afterEach(async function() { await shareClient.delete(); - recorder.stop(); + await recorder.stop(); }); // lease management: diff --git a/sdk/storage/storage-file-share/test/node/directoryclient.spec.ts b/sdk/storage/storage-file-share/test/node/directoryclient.spec.ts index 311d74df9389..a65bd2d30378 100644 --- a/sdk/storage/storage-file-share/test/node/directoryclient.spec.ts +++ b/sdk/storage/storage-file-share/test/node/directoryclient.spec.ts @@ -33,7 +33,7 @@ describe("DirectoryClient Node.js only", () => { afterEach(async function() { await dirClient.delete(); await shareClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("can be created with a url and a credential", async () => { diff --git a/sdk/storage/storage-file-share/test/node/fileclient.spec.ts b/sdk/storage/storage-file-share/test/node/fileclient.spec.ts index 35200b2c4573..7da1da8a3841 100644 --- a/sdk/storage/storage-file-share/test/node/fileclient.spec.ts +++ b/sdk/storage/storage-file-share/test/node/fileclient.spec.ts @@ -49,7 +49,7 @@ describe("FileClient Node.js only", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await shareClient.delete(); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/storage/storage-file-share/test/node/fileserviceclient.spec.ts b/sdk/storage/storage-file-share/test/node/fileserviceclient.spec.ts index 23332fcc0c7e..6fcfc8e7e25c 100644 --- a/sdk/storage/storage-file-share/test/node/fileserviceclient.spec.ts +++ b/sdk/storage/storage-file-share/test/node/fileserviceclient.spec.ts @@ -13,7 +13,7 @@ describe("FileServiceClient Node.js only", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("can be created with a url and a credential", async () => { diff --git a/sdk/storage/storage-file-share/test/node/highlevel.node.spec.ts b/sdk/storage/storage-file-share/test/node/highlevel.node.spec.ts index af52b93986fa..6ac0de8d723f 100644 --- a/sdk/storage/storage-file-share/test/node/highlevel.node.spec.ts +++ b/sdk/storage/storage-file-share/test/node/highlevel.node.spec.ts @@ -43,7 +43,7 @@ describe("Highlevel Node.js only", () => { afterEach(async function() { if (!this.currentTest?.isPending()) { await shareClient.delete(); - recorder.stop(); + await recorder.stop(); } }); diff --git a/sdk/storage/storage-file-share/test/node/sas.spec.ts b/sdk/storage/storage-file-share/test/node/sas.spec.ts index 237538d780c8..af321b089c81 100644 --- a/sdk/storage/storage-file-share/test/node/sas.spec.ts +++ b/sdk/storage/storage-file-share/test/node/sas.spec.ts @@ -28,8 +28,8 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { serviceClient = getBSU(); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("generateAccountSASQueryParameters should work", async () => { diff --git a/sdk/storage/storage-file-share/test/node/shareclient.spec.ts b/sdk/storage/storage-file-share/test/node/shareclient.spec.ts index 5307652a96de..2018cc066817 100644 --- a/sdk/storage/storage-file-share/test/node/shareclient.spec.ts +++ b/sdk/storage/storage-file-share/test/node/shareclient.spec.ts @@ -19,7 +19,7 @@ describe("ShareClient Node.js only", () => { afterEach(async function() { await shareClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("setAccessPolicy", async () => { diff --git a/sdk/storage/storage-file-share/test/node/sharedkeycredentialpolicy.spec.ts b/sdk/storage/storage-file-share/test/node/sharedkeycredentialpolicy.spec.ts index 272d1ae06a2f..624499142764 100644 --- a/sdk/storage/storage-file-share/test/node/sharedkeycredentialpolicy.spec.ts +++ b/sdk/storage/storage-file-share/test/node/sharedkeycredentialpolicy.spec.ts @@ -14,21 +14,21 @@ describe("StorageSharedKeyCredentialPolicy Node.js only", () => { shareName = recorder.getUniqueName("1share-with-dash"); shareClient = serviceClient.getShareClient(shareName); await shareClient.create(); - recorder.stop(); + await recorder.stop(); }); after(async function() { recorder = record(this, recorderEnvSetup); await shareClient.delete(); - recorder.stop(); + await recorder.stop(); }); beforeEach(function() { recorder = record(this, recorderEnvSetup); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("StorageSharedKeyCredentialPolicy should work with special share and file names with spaces", async () => { diff --git a/sdk/storage/storage-file-share/test/node/utils.spec.ts b/sdk/storage/storage-file-share/test/node/utils.spec.ts index ee5e17fb2c6d..80d6e10ee8c1 100644 --- a/sdk/storage/storage-file-share/test/node/utils.spec.ts +++ b/sdk/storage/storage-file-share/test/node/utils.spec.ts @@ -37,7 +37,7 @@ describe("Utility Helpers Node.js only", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("extractConnectionStringParts throws error when passed an invalid protocol in the connection string", async () => { diff --git a/sdk/storage/storage-file-share/test/retrypolicy.spec.ts b/sdk/storage/storage-file-share/test/retrypolicy.spec.ts index 9bdcf416d3fb..71f241a5a628 100644 --- a/sdk/storage/storage-file-share/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-file-share/test/retrypolicy.spec.ts @@ -25,7 +25,7 @@ describe("RetryPolicy", () => { afterEach(async function() { await shareClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("Retry Policy should work when first request fails with 500", async () => { diff --git a/sdk/storage/storage-file-share/test/shareclient.spec.ts b/sdk/storage/storage-file-share/test/shareclient.spec.ts index 0b32922940ba..4bffc887ddd0 100644 --- a/sdk/storage/storage-file-share/test/shareclient.spec.ts +++ b/sdk/storage/storage-file-share/test/shareclient.spec.ts @@ -22,7 +22,7 @@ describe("ShareClient", () => { afterEach(async function() { await shareClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("setMetadata", async () => { diff --git a/sdk/storage/storage-file-share/test/specialnaming.spec.ts b/sdk/storage/storage-file-share/test/specialnaming.spec.ts index 28580c365af1..b687cd121e68 100644 --- a/sdk/storage/storage-file-share/test/specialnaming.spec.ts +++ b/sdk/storage/storage-file-share/test/specialnaming.spec.ts @@ -29,21 +29,21 @@ describe("Special Naming Tests", () => { await shareClient.create(); await directoryClient.create(); - recorder.stop(); + await recorder.stop(); }); after(async function() { recorder = record(this, recorderEnvSetup); await shareClient.delete(); - recorder.stop(); + await recorder.stop(); }); beforeEach(function() { recorder = record(this, recorderEnvSetup); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("Should work with special container and file names with spaces", async () => { diff --git a/sdk/storage/storage-file-share/test/utils.spec.ts b/sdk/storage/storage-file-share/test/utils.spec.ts index b1ac9089213d..a2c7ce8cc57c 100644 --- a/sdk/storage/storage-file-share/test/utils.spec.ts +++ b/sdk/storage/storage-file-share/test/utils.spec.ts @@ -37,7 +37,7 @@ describe("Utility Helpers", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("sanitizeURL redacts SAS token", () => { diff --git a/sdk/storage/storage-queue/test/aborter.spec.ts b/sdk/storage/storage-queue/test/aborter.spec.ts index e2ccf4e135e2..724c6a5c788e 100644 --- a/sdk/storage/storage-queue/test/aborter.spec.ts +++ b/sdk/storage/storage-queue/test/aborter.spec.ts @@ -23,7 +23,7 @@ describe("Aborter", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("should not abort after calling abort()", async () => { diff --git a/sdk/storage/storage-queue/test/messageidclient.spec.ts b/sdk/storage/storage-queue/test/messageidclient.spec.ts index 9a8d44acd475..eae5d21d32b2 100644 --- a/sdk/storage/storage-queue/test/messageidclient.spec.ts +++ b/sdk/storage/storage-queue/test/messageidclient.spec.ts @@ -24,7 +24,7 @@ describe("QueueClient messageId methods", () => { afterEach(async function() { await queueClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("update and delete empty message with default parameters", async () => { diff --git a/sdk/storage/storage-queue/test/node/messageidclient.spec.ts b/sdk/storage/storage-queue/test/node/messageidclient.spec.ts index d2f1234ed348..f1c6c96e3e56 100644 --- a/sdk/storage/storage-queue/test/node/messageidclient.spec.ts +++ b/sdk/storage/storage-queue/test/node/messageidclient.spec.ts @@ -23,7 +23,7 @@ describe("QueueClient messageId methods, Node.js only", () => { afterEach(async function() { await queueClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("update message with 64KB characters including special char which is computed after encoding", async () => { diff --git a/sdk/storage/storage-queue/test/node/messagesclient.spec.ts b/sdk/storage/storage-queue/test/node/messagesclient.spec.ts index 900ac0cbb4b6..1fa47d9b4f15 100644 --- a/sdk/storage/storage-queue/test/node/messagesclient.spec.ts +++ b/sdk/storage/storage-queue/test/node/messagesclient.spec.ts @@ -25,7 +25,7 @@ describe("QueueClient message methods, Node.js only", () => { afterEach(async function() { await queueClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("enqueue, peek, dequeue with 64KB characters including special char which is computed after encoding", async () => { diff --git a/sdk/storage/storage-queue/test/node/queueclient.spec.ts b/sdk/storage/storage-queue/test/node/queueclient.spec.ts index ddb22bec4067..8b6f7b69cb2c 100644 --- a/sdk/storage/storage-queue/test/node/queueclient.spec.ts +++ b/sdk/storage/storage-queue/test/node/queueclient.spec.ts @@ -22,7 +22,7 @@ describe("QueueClient Node.js only", () => { afterEach(async function() { await queueClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("getAccessPolicy", async () => { diff --git a/sdk/storage/storage-queue/test/node/queueserviceclient.spec.ts b/sdk/storage/storage-queue/test/node/queueserviceclient.spec.ts index 0bb288169a75..0cfd8011fd38 100644 --- a/sdk/storage/storage-queue/test/node/queueserviceclient.spec.ts +++ b/sdk/storage/storage-queue/test/node/queueserviceclient.spec.ts @@ -15,8 +15,8 @@ describe("QueueServiceClient Node.js only", () => { recorder = record(this, recorderEnvSetup); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("can be created with a url and a credential", async () => { diff --git a/sdk/storage/storage-queue/test/node/sas.spec.ts b/sdk/storage/storage-queue/test/node/sas.spec.ts index 555e56e2b453..0e24b4877d49 100644 --- a/sdk/storage/storage-queue/test/node/sas.spec.ts +++ b/sdk/storage/storage-queue/test/node/sas.spec.ts @@ -27,8 +27,8 @@ describe("Shared Access Signature (SAS) generation Node.js only", () => { queueServiceClient = getQSU(); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("generateAccountSASQueryParameters should work", async () => { diff --git a/sdk/storage/storage-queue/test/node/utils.spec.ts b/sdk/storage/storage-queue/test/node/utils.spec.ts index d9ec11870445..2eb2d06a468d 100644 --- a/sdk/storage/storage-queue/test/node/utils.spec.ts +++ b/sdk/storage/storage-queue/test/node/utils.spec.ts @@ -37,7 +37,7 @@ describe("Utility Helpers Node.js only", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("extractConnectionStringParts throws error when passed an invalid protocol in the connection string", async () => { diff --git a/sdk/storage/storage-queue/test/queueclient.spec.ts b/sdk/storage/storage-queue/test/queueclient.spec.ts index 0d1d850cbfdd..bb38005fbde2 100644 --- a/sdk/storage/storage-queue/test/queueclient.spec.ts +++ b/sdk/storage/storage-queue/test/queueclient.spec.ts @@ -25,7 +25,7 @@ describe("QueueClient", () => { afterEach(async function() { await queueClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("setMetadata", async () => { diff --git a/sdk/storage/storage-queue/test/queueclientmessages.spec.ts b/sdk/storage/storage-queue/test/queueclientmessages.spec.ts index 85b0028bfcff..2c71e88c0584 100644 --- a/sdk/storage/storage-queue/test/queueclientmessages.spec.ts +++ b/sdk/storage/storage-queue/test/queueclientmessages.spec.ts @@ -24,7 +24,7 @@ describe("QueueClient message methods", () => { afterEach(async function() { await queueClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("enqueue, peek, dequeue and clear message with default parameters", async () => { diff --git a/sdk/storage/storage-queue/test/queueserviceclient.spec.ts b/sdk/storage/storage-queue/test/queueserviceclient.spec.ts index dee58fb1d5f1..ba31da668c21 100644 --- a/sdk/storage/storage-queue/test/queueserviceclient.spec.ts +++ b/sdk/storage/storage-queue/test/queueserviceclient.spec.ts @@ -13,8 +13,8 @@ describe("QueueServiceClient", () => { recorder = record(this, recorderEnvSetup); }); - afterEach(function() { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("listQueues with default parameters", async () => { diff --git a/sdk/storage/storage-queue/test/retrypolicy.spec.ts b/sdk/storage/storage-queue/test/retrypolicy.spec.ts index 1223a0d884b8..be5dcc393b5b 100644 --- a/sdk/storage/storage-queue/test/retrypolicy.spec.ts +++ b/sdk/storage/storage-queue/test/retrypolicy.spec.ts @@ -28,7 +28,7 @@ describe("RetryPolicy", () => { afterEach(async function() { await queueClient.delete(); - recorder.stop(); + await recorder.stop(); }); it("Retry policy should work when first request fails with 500", async () => { diff --git a/sdk/storage/storage-queue/test/utils.spec.ts b/sdk/storage/storage-queue/test/utils.spec.ts index 936ed12d702a..5dcb58f94a60 100644 --- a/sdk/storage/storage-queue/test/utils.spec.ts +++ b/sdk/storage/storage-queue/test/utils.spec.ts @@ -37,7 +37,7 @@ describe("Utility Helpers", () => { }); afterEach(async function() { - recorder.stop(); + await recorder.stop(); }); it("sanitizeURL redacts SAS token", () => { diff --git a/sdk/test-utils/recorder/CHANGELOG.md b/sdk/test-utils/recorder/CHANGELOG.md index 37d2ec16a306..ce326fb5327c 100644 --- a/sdk/test-utils/recorder/CHANGELOG.md +++ b/sdk/test-utils/recorder/CHANGELOG.md @@ -2,6 +2,10 @@ ## 1.0.0 (Unreleased) +## 2020-07-10 + +- [Bug Fix] Fixed an issue where the browser-recording file is saved before all the recorded requests are pushed to the array of recordings(request-response pairs). + ## 2020-04-30 - Since Mocha 7.0.0, Mocha behaves as follows: "When conditionally skipping in the `it` test, related afterEach hooks are now executed" diff --git a/sdk/test-utils/recorder/src/baseRecorder.ts b/sdk/test-utils/recorder/src/baseRecorder.ts index ab046ade0ee7..96ca3bb6eb32 100644 --- a/sdk/test-utils/recorder/src/baseRecorder.ts +++ b/sdk/test-utils/recorder/src/baseRecorder.ts @@ -107,7 +107,7 @@ export abstract class BaseRecorder { * @memberof BaseRecorder */ public abstract playback(environmentSetup: RecorderEnvironmentSetup, filePath: string): void; - public abstract stop(): void; + public abstract async stop(): Promise; } export class NockRecorder extends BaseRecorder { @@ -139,7 +139,7 @@ export class NockRecorder extends BaseRecorder { ).testInfo; } - public stop(): void { + public async stop(): Promise { if (isRecordMode()) { // Importing "nock" library in the recording and appending the testInfo part in the recording const importNockStatement = @@ -215,6 +215,7 @@ export class NockRecorder extends BaseRecorder { // This class overrides requests' 'open', 'send' and 'onreadystatechange' functions, adding our own code to them to deal with requests export class NiseRecorder extends BaseRecorder { private recordings: any[] = []; + private recordingInFlight: Promise[] = []; private xhr: nise.FakeXMLHttpRequestStatic | undefined; constructor(hash: string, testSuiteTitle: string, testTitle: string) { @@ -317,7 +318,7 @@ export class NiseRecorder extends BaseRecorder { // More info on readyState - https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState if (req.readyState === 4) { // Record the request once the response is obtained - self.recordRequest(req, data); + self.recordingInFlight.push(self.recordRequest(req, data)); } // Sometimes the client doesn't implement an 'onreadystatechange' function, so we need to make sure it exists before calling the original implementation if (reqStateChange) { @@ -403,8 +404,9 @@ export class NiseRecorder extends BaseRecorder { }; } - public stop(): void { + public async stop(): Promise { if (isRecordMode()) { + await Promise.all(this.recordingInFlight); // recordings at this point are in the JSON format. this.recordings = this.filterSecrets(this.recordings); diff --git a/sdk/test-utils/recorder/src/recorder.ts b/sdk/test-utils/recorder/src/recorder.ts index 6e8356b8015a..b516df838f21 100644 --- a/sdk/test-utils/recorder/src/recorder.ts +++ b/sdk/test-utils/recorder/src/recorder.ts @@ -30,7 +30,7 @@ export interface Recorder { * `stop()` method is supposed to be called at the end of the test, stops and saves the recording in the "record" mode. * Has no effect in the playback/live test modes. */ - stop(): void; + stop(): Promise; /** * `{recorder.skip("node")}` and `{recorder.skip("browser")}` will skip the test in node.js and browser runtimes respectively. * If the `{runtime}` is `{undefined}`, the test will be skipped in both the node and browser runtimes. @@ -160,10 +160,10 @@ export function record( // If TEST_MODE=live, hits the live-service and no recordings are generated. return { - stop: function() { + stop: async function() { // We check wether we're on record or playback inside of the recorder's stop method. if (recorder) { - recorder.stop(); + await recorder.stop(); } }, /** diff --git a/sdk/test-utils/recorder/test/browser/recorder.spec.ts b/sdk/test-utils/recorder/test/browser/recorder.spec.ts index 2c8ae7551aef..6318c5d7153b 100644 --- a/sdk/test-utils/recorder/test/browser/recorder.spec.ts +++ b/sdk/test-utils/recorder/test/browser/recorder.spec.ts @@ -103,7 +103,7 @@ describe("The recorder's public API, on a browser", () => { // Cleaning everything before we continue verifying the results. xhrMock.teardown(); - recorder.stop(); + await recorder.stop(); setConsoleLogForTesting(originalConsoleLog); // Here we confirm that the recorder generated an expected output on the console.logs. @@ -170,7 +170,7 @@ describe("The recorder's public API, on a browser", () => { // The playback code served the appropriate response based on the recordings. expect(response).to.equal(expectedHttpResponse); - recorder.stop(); + await recorder.stop(); }); it("soft-record should re-record a simple outdated test", async function() { @@ -246,7 +246,7 @@ describe("The recorder's public API, on a browser", () => { // Cleaning everything before we continue verifying the results. xhrMock.teardown(); - recorder.stop(); + await recorder.stop(); setConsoleLogForTesting(originalConsoleLog); // Now we check the hash has changed in the recorded console.log output. diff --git a/sdk/test-utils/recorder/test/node/recorder.spec.ts b/sdk/test-utils/recorder/test/node/recorder.spec.ts index e2325bc0fe31..05eca57d189c 100644 --- a/sdk/test-utils/recorder/test/node/recorder.spec.ts +++ b/sdk/test-utils/recorder/test/node/recorder.spec.ts @@ -102,7 +102,7 @@ describe("The recorder's public API, on NodeJS", () => { // Cleaning everything before we continue verifying the results. server.close(); - recorder.stop(); + await recorder.stop(); // The recorder takes some time to finish writing the output file. // It's not a second, but we're being pessimists. @@ -148,7 +148,7 @@ describe("The recorder's public API, on NodeJS", () => { // The playback code served the appropriate response based on the recordings. expect(response).to.equal(expectedHttpResponse); - recorder.stop(); + await recorder.stop(); }); it("soft-record should re-record a simple outdated test", async function() { @@ -193,7 +193,7 @@ describe("The recorder's public API, on NodeJS", () => { // Cleaning everything before we continue verifying the results. server.close(); - recorder.stop(); + await recorder.stop(); // The recorder takes some time to finish writing the output file. // It's not a second, but we're being pessimists. diff --git a/sdk/textanalytics/ai-text-analytics/test/apiKey.spec.ts b/sdk/textanalytics/ai-text-analytics/test/apiKey.spec.ts index 9792074ee0d4..1a19a0771324 100644 --- a/sdk/textanalytics/ai-text-analytics/test/apiKey.spec.ts +++ b/sdk/textanalytics/ai-text-analytics/test/apiKey.spec.ts @@ -30,8 +30,8 @@ describe("[API Key] TextAnalyticsClient", function() { ({ client, recorder } = createRecordedClient(this, apiKey)); }); - afterEach(() => { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); it("#analyzeSentiment", async () => { diff --git a/sdk/textanalytics/ai-text-analytics/test/textAnalyticsClient.spec.ts b/sdk/textanalytics/ai-text-analytics/test/textAnalyticsClient.spec.ts index a1bc720ffb0a..331b898de49c 100644 --- a/sdk/textanalytics/ai-text-analytics/test/textAnalyticsClient.spec.ts +++ b/sdk/textanalytics/ai-text-analytics/test/textAnalyticsClient.spec.ts @@ -43,8 +43,8 @@ describe("[AAD] TextAnalyticsClient", function() { }; }); - afterEach(() => { - recorder.stop(); + afterEach(async function() { + await recorder.stop(); }); describe("#analyzeSentiment", () => {