mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2026-07-21 12:57:38 +01:00
Make playwright test environment more dynamic (#2532)
* Update Az CLI to use new secrets. * Add test step for Az login * Remove test step. Fix up account names in test code. * Fix the account prefix env. variable. * Fix it in the CI config as well. * Try to fix the CI config for some tests * Clean up access tokens for NoSQL. * Disable most tests while sorting out account setup. Add debug tracing. * Comment out most tests. * Set RG Name var in CI config. * Fix up tenant id. * Enable other API tests * e-enable more tests. * Re-enable remaining tests. * Remove all of the test.skip() calls. * Remove debug traces. * Remove function to retrieve SQL RBAC token, this is handled by the CI config now. * Fix rbac token detection for table and resource token tests. * Minor cleanup and fixing the cleanup config. * Preview site and storage changes. Cleanup script changes. * Clean up before PR. * Fix resource group name in test results email.
This commit is contained in:
+38
-108
@@ -101,13 +101,13 @@ jobs:
|
|||||||
- name: "Az CLI login"
|
- name: "Az CLI login"
|
||||||
uses: azure/login@v1
|
uses: azure/login@v1
|
||||||
with:
|
with:
|
||||||
client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
client-id: ${{ secrets.E2ETESTS_CLIENT_ID }}
|
||||||
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
tenant-id: ${{ secrets.E2ETESTS_TENANT_ID }}
|
||||||
subscription-id: ${{ secrets.PREVIEW_SUBSCRIPTION_ID }}
|
subscription-id: ${{ secrets.E2ETESTS_SUBSCRIPTION_ID }}
|
||||||
- name: Upload build to preview blob storage
|
- name: Upload build to preview blob storage
|
||||||
run: az storage blob upload-batch -d '$web' -s 'dist' --account-name ${{ secrets.PREVIEW_STORAGE_ACCOUNT_NAME }} --destination-path "${{github.event.pull_request.head.sha || github.sha}}" --auth-mode login --overwrite true
|
run: az storage blob upload-batch -d '$web' -s 'dist' --account-name ${{ secrets.E2ETESTS_STORAGEACCOUNT_NAME }} --destination-path "${{github.event.pull_request.head.sha || github.sha}}" --auth-mode login --overwrite true
|
||||||
- name: Upload preview config to blob storage
|
- name: Upload preview config to blob storage
|
||||||
run: az storage blob upload -c '$web' -f ./preview/config.json --account-name ${{ secrets.PREVIEW_STORAGE_ACCOUNT_NAME }} --name "${{github.event.pull_request.head.sha || github.sha}}/config.json" --auth-mode login --overwrite true
|
run: az storage blob upload -c '$web' -f ./preview/config.json --account-name ${{ secrets.E2ETESTS_STORAGEACCOUNT_NAME }} --name "${{github.event.pull_request.head.sha || github.sha}}/config.json" --auth-mode login --overwrite true
|
||||||
nuget:
|
nuget:
|
||||||
name: Publish Nuget
|
name: Publish Nuget
|
||||||
if: github.ref == 'refs/heads/master' || contains(github.ref, 'hotfix/') || contains(github.ref, 'release/')
|
if: github.ref == 'refs/heads/master' || contains(github.ref, 'hotfix/') || contains(github.ref, 'release/')
|
||||||
@@ -162,7 +162,10 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
NODE_TLS_REJECT_UNAUTHORIZED: 0
|
NODE_TLS_REJECT_UNAUTHORIZED: 0
|
||||||
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
AZURE_SUBSCRIPTION_ID: ${{ secrets.E2ETESTS_SUBSCRIPTION_ID }}
|
||||||
|
AZURE_TENANT_ID: ${{ secrets.E2ETESTS_TENANT_ID }}
|
||||||
|
DE_ACCOUNT_PREFIX: ${{ secrets.E2ETESTS_ACCOUNT_PREFIX }}
|
||||||
|
DE_TEST_RESOURCE_GROUP: ${{ secrets.E2ETESTS_RESOURCEGROUP_NAME }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -179,120 +182,47 @@ jobs:
|
|||||||
- name: "Az CLI login"
|
- name: "Az CLI login"
|
||||||
uses: Azure/login@v2
|
uses: Azure/login@v2
|
||||||
with:
|
with:
|
||||||
client-id: ${{ secrets.E2E_TESTS_CLIENT_ID }}
|
client-id: ${{ secrets.E2ETESTS_CLIENT_ID }}
|
||||||
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
tenant-id: ${{ secrets.E2ETESTS_TENANT_ID }}
|
||||||
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
subscription-id: ${{ secrets.E2ETESTS_SUBSCRIPTION_ID }}
|
||||||
# We can't use MSAL within playwright so we acquire tokens prior to running the tests
|
# We can't use MSAL within playwright so we acquire tokens prior to running the tests
|
||||||
- name: "Acquire RBAC tokens for test accounts"
|
- name: "Acquire RBAC tokens for test accounts"
|
||||||
uses: azure/cli@v2
|
uses: azure/cli@v2
|
||||||
|
env:
|
||||||
|
DE_ACCOUNT_PREFIX: ${{ secrets.E2ETESTS_ACCOUNT_PREFIX }}
|
||||||
|
DE_TEST_RESOURCE_GROUP: ${{ secrets.E2ETESTS_RESOURCEGROUP_NAME }}
|
||||||
with:
|
with:
|
||||||
azcliversion: latest
|
azcliversion: latest
|
||||||
inlineScript: |
|
inlineScript: |
|
||||||
SHARD_INDEX=${{ matrix.shardIndex }}
|
SHARD_INDEX=${{ matrix.shardIndex }}
|
||||||
echo PLAYWRIGHT_SHARD_INDEX=$SHARD_INDEX >> $GITHUB_ENV
|
echo PLAYWRIGHT_SHARD_INDEX=$SHARD_INDEX >> $GITHUB_ENV
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_1_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-1.documents.azure.com/.default" -o tsv --query accessToken)
|
NOSQL_TESTACCOUNT=${DE_ACCOUNT_PREFIX}-de-test-sql-${SHARD_INDEX}.documents.azure.com
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_1_TOKEN"
|
NOSQL_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://$NOSQL_TESTACCOUNT/.default" -o tsv --query accessToken)
|
||||||
echo NOSQL_TESTACCOUNT_1_TOKEN=$NOSQL_TESTACCOUNT_1_TOKEN >> $GITHUB_ENV
|
echo "::add-mask::$NOSQL_TESTACCOUNT_TOKEN"
|
||||||
|
echo NOSQL_TESTACCOUNT_TOKEN=$NOSQL_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
NOSQL_TESTACCOUNT_2_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-2.documents.azure.com/.default" -o tsv --query accessToken)
|
NOSQL_READONLY_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://$DE_ACCOUNT_PREFIX-de-test-sql-readonly.documents.azure.com/.default" -o tsv --query accessToken)
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_2_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_2_TOKEN=$NOSQL_TESTACCOUNT_2_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_3_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-3.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_3_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_3_TOKEN=$NOSQL_TESTACCOUNT_3_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_4_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-4.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_4_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_4_TOKEN=$NOSQL_TESTACCOUNT_4_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_5_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-5.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_5_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_5_TOKEN=$NOSQL_TESTACCOUNT_5_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_6_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-6.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_6_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_6_TOKEN=$NOSQL_TESTACCOUNT_6_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_7_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-7.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_7_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_7_TOKEN=$NOSQL_TESTACCOUNT_7_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_8_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-8.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_8_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_8_TOKEN=$NOSQL_TESTACCOUNT_8_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_9_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-9.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_9_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_9_TOKEN=$NOSQL_TESTACCOUNT_9_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_10_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-10.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_10_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_10_TOKEN=$NOSQL_TESTACCOUNT_10_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_11_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-11.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_11_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_11_TOKEN=$NOSQL_TESTACCOUNT_11_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_12_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-12.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_12_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_12_TOKEN=$NOSQL_TESTACCOUNT_12_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_13_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-13.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_13_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_13_TOKEN=$NOSQL_TESTACCOUNT_13_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_14_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-14.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_14_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_14_TOKEN=$NOSQL_TESTACCOUNT_14_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_15_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-15.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_15_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_15_TOKEN=$NOSQL_TESTACCOUNT_15_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_16_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-16.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_16_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_16_TOKEN=$NOSQL_TESTACCOUNT_16_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_17_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-17.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_17_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_17_TOKEN=$NOSQL_TESTACCOUNT_17_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_18_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-18.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_18_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_18_TOKEN=$NOSQL_TESTACCOUNT_18_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_19_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-19.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_19_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_19_TOKEN=$NOSQL_TESTACCOUNT_19_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_TESTACCOUNT_20_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-20.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_TESTACCOUNT_20_TOKEN"
|
|
||||||
echo NOSQL_TESTACCOUNT_20_TOKEN=$NOSQL_TESTACCOUNT_20_TOKEN >> $GITHUB_ENV
|
|
||||||
|
|
||||||
NOSQL_READONLY_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-readonly.documents.azure.com/.default" -o tsv --query accessToken)
|
|
||||||
echo "::add-mask::$NOSQL_READONLY_TESTACCOUNT_TOKEN"
|
echo "::add-mask::$NOSQL_READONLY_TESTACCOUNT_TOKEN"
|
||||||
echo NOSQL_READONLY_TESTACCOUNT_TOKEN=$NOSQL_READONLY_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
echo NOSQL_READONLY_TESTACCOUNT_TOKEN=$NOSQL_READONLY_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-containercopyonly.documents.azure.com/.default" -o tsv --query accessToken)
|
NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://${DE_ACCOUNT_PREFIX}-de-test-sql-containercopy.documents.azure.com/.default" -o tsv --query accessToken)
|
||||||
echo "::add-mask::$NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN"
|
echo "::add-mask::$NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN"
|
||||||
echo NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN=$NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
echo NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN=$NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
TABLE_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-tables.documents.azure.com/.default" -o tsv --query accessToken)
|
TABLE_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://${DE_ACCOUNT_PREFIX}-de-test-table-1.documents.azure.com/.default" -o tsv --query accessToken)
|
||||||
echo "::add-mask::$TABLE_TESTACCOUNT_TOKEN"
|
echo "::add-mask::$TABLE_TESTACCOUNT_TOKEN"
|
||||||
echo TABLE_TESTACCOUNT_TOKEN=$TABLE_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
echo TABLE_TESTACCOUNT_TOKEN=$TABLE_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
GREMLIN_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-gremlin.documents.azure.com/.default" -o tsv --query accessToken)
|
GREMLIN_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://${DE_ACCOUNT_PREFIX}-de-test-gremlin-1.documents.azure.com/.default" -o tsv --query accessToken)
|
||||||
echo "::add-mask::$GREMLIN_TESTACCOUNT_TOKEN"
|
echo "::add-mask::$GREMLIN_TESTACCOUNT_TOKEN"
|
||||||
echo GREMLIN_TESTACCOUNT_TOKEN=$GREMLIN_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
echo GREMLIN_TESTACCOUNT_TOKEN=$GREMLIN_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
CASSANDRA_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-cassandra.documents.azure.com/.default" -o tsv --query accessToken)
|
CASSANDRA_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://${DE_ACCOUNT_PREFIX}-de-test-cassandra-1.documents.azure.com/.default" -o tsv --query accessToken)
|
||||||
echo "::add-mask::$CASSANDRA_TESTACCOUNT_TOKEN"
|
echo "::add-mask::$CASSANDRA_TESTACCOUNT_TOKEN"
|
||||||
echo CASSANDRA_TESTACCOUNT_TOKEN=$CASSANDRA_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
echo CASSANDRA_TESTACCOUNT_TOKEN=$CASSANDRA_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
MONGO_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-mongo.documents.azure.com/.default" -o tsv --query accessToken)
|
MONGO_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://${DE_ACCOUNT_PREFIX}-de-test-mongo-1.documents.azure.com/.default" -o tsv --query accessToken)
|
||||||
echo "::add-mask::$MONGO_TESTACCOUNT_TOKEN"
|
echo "::add-mask::$MONGO_TESTACCOUNT_TOKEN"
|
||||||
echo MONGO_TESTACCOUNT_TOKEN=$MONGO_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
echo MONGO_TESTACCOUNT_TOKEN=$MONGO_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
MONGO32_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-mongo32.documents.azure.com/.default" -o tsv --query accessToken)
|
MONGO32_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://${DE_ACCOUNT_PREFIX}-de-test-mongo32-1.documents.azure.com/.default" -o tsv --query accessToken)
|
||||||
echo "::add-mask::$MONGO32_TESTACCOUNT_TOKEN"
|
echo "::add-mask::$MONGO32_TESTACCOUNT_TOKEN"
|
||||||
echo MONGO32_TESTACCOUNT_TOKEN=$MONGO32_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
echo MONGO32_TESTACCOUNT_TOKEN=$MONGO32_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
MONGO_READONLY_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-mongo-readonly.documents.azure.com/.default" -o tsv --query accessToken)
|
MONGO_READONLY_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://${DE_ACCOUNT_PREFIX}-de-test-mongo-readonly.documents.azure.com/.default" -o tsv --query accessToken)
|
||||||
echo "::add-mask::$MONGO_READONLY_TESTACCOUNT_TOKEN"
|
echo "::add-mask::$MONGO_READONLY_TESTACCOUNT_TOKEN"
|
||||||
echo MONGO_READONLY_TESTACCOUNT_TOKEN=$MONGO_READONLY_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
echo MONGO_READONLY_TESTACCOUNT_TOKEN=$MONGO_READONLY_TESTACCOUNT_TOKEN >> $GITHUB_ENV
|
||||||
- name: List test files for shard ${{ matrix['shardIndex'] }} of ${{ matrix['shardTotal']}}
|
- name: List test files for shard ${{ matrix['shardIndex'] }} of ${{ matrix['shardTotal']}}
|
||||||
@@ -303,9 +233,9 @@ jobs:
|
|||||||
if: ${{ !cancelled() }}
|
if: ${{ !cancelled() }}
|
||||||
uses: Azure/login@v2
|
uses: Azure/login@v2
|
||||||
with:
|
with:
|
||||||
client-id: ${{ secrets.E2E_TESTS_CLIENT_ID }}
|
client-id: ${{ secrets.E2ETESTS_CLIENT_ID }}
|
||||||
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
tenant-id: ${{ secrets.E2ETESTS_TENANT_ID }}
|
||||||
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
subscription-id: ${{ secrets.E2ETESTS_SUBSCRIPTION_ID }}
|
||||||
- name: Upload shard blob-report to Azure Storage
|
- name: Upload shard blob-report to Azure Storage
|
||||||
if: ${{ !cancelled() }}
|
if: ${{ !cancelled() }}
|
||||||
env:
|
env:
|
||||||
@@ -313,7 +243,7 @@ jobs:
|
|||||||
SHARD: ${{ matrix.shardIndex }}
|
SHARD: ${{ matrix.shardIndex }}
|
||||||
run: |
|
run: |
|
||||||
az storage blob upload-batch \
|
az storage blob upload-batch \
|
||||||
--account-name ${{ secrets.PREVIEW_STORAGE_ACCOUNT_NAME }} \
|
--account-name ${{ secrets.E2ETESTS_STORAGEACCOUNT_NAME }} \
|
||||||
--auth-mode login \
|
--auth-mode login \
|
||||||
-d playwright-reports \
|
-d playwright-reports \
|
||||||
-s blob-report \
|
-s blob-report \
|
||||||
@@ -342,9 +272,9 @@ jobs:
|
|||||||
- name: "Az CLI login"
|
- name: "Az CLI login"
|
||||||
uses: Azure/login@v2
|
uses: Azure/login@v2
|
||||||
with:
|
with:
|
||||||
client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
client-id: ${{ secrets.E2ETESTS_CLIENT_ID }}
|
||||||
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
tenant-id: ${{ secrets.E2ETESTS_TENANT_ID }}
|
||||||
subscription-id: ${{ secrets.PREVIEW_SUBSCRIPTION_ID }}
|
subscription-id: ${{ secrets.E2ETESTS_SUBSCRIPTION_ID }}
|
||||||
|
|
||||||
- name: Download all shard reports from Azure Storage
|
- name: Download all shard reports from Azure Storage
|
||||||
env:
|
env:
|
||||||
@@ -352,7 +282,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
mkdir -p all-blob-reports
|
mkdir -p all-blob-reports
|
||||||
az storage blob download-batch \
|
az storage blob download-batch \
|
||||||
--account-name ${{ secrets.PREVIEW_STORAGE_ACCOUNT_NAME }} \
|
--account-name ${{ secrets.E2ETESTS_STORAGEACCOUNT_NAME }} \
|
||||||
--auth-mode login \
|
--auth-mode login \
|
||||||
-s playwright-reports \
|
-s playwright-reports \
|
||||||
--pattern "${KEY}/shards/*" \
|
--pattern "${KEY}/shards/*" \
|
||||||
@@ -375,7 +305,7 @@ jobs:
|
|||||||
KEY: ${{ github.run_id }}-${{ github.run_attempt }}
|
KEY: ${{ github.run_id }}-${{ github.run_attempt }}
|
||||||
run: |
|
run: |
|
||||||
az storage blob upload \
|
az storage blob upload \
|
||||||
--account-name ${{ secrets.PREVIEW_STORAGE_ACCOUNT_NAME }} \
|
--account-name ${{ secrets.E2ETESTS_STORAGEACCOUNT_NAME }} \
|
||||||
--auth-mode login \
|
--auth-mode login \
|
||||||
-c playwright-reports \
|
-c playwright-reports \
|
||||||
-n "${KEY}/report.zip" \
|
-n "${KEY}/report.zip" \
|
||||||
@@ -388,7 +318,7 @@ jobs:
|
|||||||
KEY: ${{ github.run_id }}-${{ github.run_attempt }}
|
KEY: ${{ github.run_id }}-${{ github.run_attempt }}
|
||||||
run: |
|
run: |
|
||||||
az storage blob delete-batch \
|
az storage blob delete-batch \
|
||||||
--account-name ${{ secrets.PREVIEW_STORAGE_ACCOUNT_NAME }} \
|
--account-name ${{ secrets.E2ETESTS_STORAGEACCOUNT_NAME }} \
|
||||||
--auth-mode login \
|
--auth-mode login \
|
||||||
-s playwright-reports \
|
-s playwright-reports \
|
||||||
--pattern "${KEY}/shards/*"
|
--pattern "${KEY}/shards/*"
|
||||||
@@ -398,7 +328,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
PR: ${{ github.event.pull_request.number }}
|
PR: ${{ github.event.pull_request.number }}
|
||||||
SA_ID: /subscriptions/${{ secrets.PREVIEW_SUBSCRIPTION_ID }}/resourceGroups/dataexplorer-preview/providers/Microsoft.Storage/storageAccounts/dataexplorerpreview
|
SA_ID: /subscriptions/${{ secrets.E2ETESTS_SUBSCRIPTION_ID }}/resourceGroups/${{ secrets.E2ETESTS_RESOURCEGROUP_NAME }}/providers/Microsoft.Storage/storageAccounts/${{ secrets.E2ETESTS_STORAGEACCOUNT_NAME }}
|
||||||
KEY: ${{ github.run_id }}-${{ github.run_attempt }}
|
KEY: ${{ github.run_id }}-${{ github.run_attempt }}
|
||||||
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -20,16 +20,18 @@ jobs:
|
|||||||
name: "Cleanup Test Database Accounts"
|
name: "Cleanup Test Database Accounts"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
AZURE_SUBSCRIPTION_ID: ${{ secrets.E2ETESTS_SUBSCRIPTION_ID }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
env:
|
||||||
|
E2ETESTS_RESOURCEGROUP_NAME : ${{ secrets.E2ETESTS_RESOURCEGROUP_NAME }}
|
||||||
|
|
||||||
- name: "Az CLI login"
|
- name: "Az CLI login"
|
||||||
uses: azure/login@v2
|
uses: azure/login@v2
|
||||||
with:
|
with:
|
||||||
client-id: ${{ secrets.E2E_TESTS_CLIENT_ID }}
|
client-id: ${{ secrets.E2ETESTS_CLIENT_ID }}
|
||||||
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
tenant-id: ${{ secrets.E2ETESTS_TENANT_ID }}
|
||||||
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
subscription-id: ${{ secrets.E2ETESTS_SUBSCRIPTION_ID }}
|
||||||
|
|
||||||
- name: Use Node.js 20.x
|
- name: Use Node.js 20.x
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v4
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ const fetch = require("node-fetch");
|
|||||||
|
|
||||||
const backendEndpoint = "https://cdb-ms-mpac-pbe.cosmos.azure.com";
|
const backendEndpoint = "https://cdb-ms-mpac-pbe.cosmos.azure.com";
|
||||||
const previewSiteEndpoint = "https://dataexplorer-preview.azurewebsites.net";
|
const previewSiteEndpoint = "https://dataexplorer-preview.azurewebsites.net";
|
||||||
const previewStorageWebsiteEndpoint = "https://dataexplorerpreview.z5.web.core.windows.net/";
|
const previewStorageWebsiteEndpoint = "_REPLACE_STORAGE_WEBSITE_ENDPOINT_";
|
||||||
const githubApiUrl = "https://api.github.com/repos/Azure/cosmos-explorer";
|
const githubApiUrl = "https://api.github.com/repos/Azure/cosmos-explorer";
|
||||||
const azurePortalMpacEndpoint = "https://ms.portal.azure.com/";
|
const azurePortalMpacEndpoint = "https://ms.portal.azure.com/";
|
||||||
|
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
export function getNoSqlRbacToken(): string | undefined {
|
|
||||||
let nosqlRbacToken: string | undefined;
|
|
||||||
const shardIndex = process.env.PLAYWRIGHT_SHARD_INDEX ?? "";
|
|
||||||
switch (parseInt(shardIndex)) {
|
|
||||||
case 1:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_1_TOKEN;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_2_TOKEN;
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_3_TOKEN;
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_4_TOKEN;
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_5_TOKEN;
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_6_TOKEN;
|
|
||||||
break;
|
|
||||||
case 7:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_7_TOKEN;
|
|
||||||
break;
|
|
||||||
case 8:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_8_TOKEN;
|
|
||||||
break;
|
|
||||||
case 9:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_9_TOKEN;
|
|
||||||
break;
|
|
||||||
case 10:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_10_TOKEN;
|
|
||||||
break;
|
|
||||||
case 11:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_11_TOKEN;
|
|
||||||
break;
|
|
||||||
case 12:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_12_TOKEN;
|
|
||||||
break;
|
|
||||||
case 13:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_13_TOKEN;
|
|
||||||
break;
|
|
||||||
case 14:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_14_TOKEN;
|
|
||||||
break;
|
|
||||||
case 15:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_15_TOKEN;
|
|
||||||
break;
|
|
||||||
case 16:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_16_TOKEN;
|
|
||||||
break;
|
|
||||||
case 17:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_17_TOKEN;
|
|
||||||
break;
|
|
||||||
case 18:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_18_TOKEN;
|
|
||||||
break;
|
|
||||||
case 19:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_19_TOKEN;
|
|
||||||
break;
|
|
||||||
case 20:
|
|
||||||
nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_20_TOKEN;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!nosqlRbacToken) {
|
|
||||||
console.warn(`No NoSQL RBAC token found for shard index ${shardIndex}`);
|
|
||||||
}
|
|
||||||
return nosqlRbacToken;
|
|
||||||
}
|
|
||||||
+21
-12
@@ -1,7 +1,6 @@
|
|||||||
import { DefaultAzureCredential } from "@azure/identity";
|
import { DefaultAzureCredential } from "@azure/identity";
|
||||||
import { Frame, Locator, Page, expect } from "@playwright/test";
|
import { Frame, Locator, Page, expect } from "@playwright/test";
|
||||||
import crypto from "crypto";
|
import crypto from "crypto";
|
||||||
import { getNoSqlRbacToken } from "./NoSqlTestSetup";
|
|
||||||
import { TestContainerContext } from "./testData";
|
import { TestContainerContext } from "./testData";
|
||||||
|
|
||||||
const RETRY_COUNT = 3;
|
const RETRY_COUNT = 3;
|
||||||
@@ -45,29 +44,34 @@ export enum TestAccount {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function getDefaultAccountName(accountType: TestAccount): string {
|
export function getDefaultAccountName(accountType: TestAccount): string {
|
||||||
|
const accountNamePrefix = process.env.DE_ACCOUNT_PREFIX;
|
||||||
|
if (!accountNamePrefix) {
|
||||||
|
throw new Error("DE_ACCOUNT_PREFIX is not set");
|
||||||
|
}
|
||||||
|
|
||||||
switch (accountType) {
|
switch (accountType) {
|
||||||
case TestAccount.Tables:
|
case TestAccount.Tables:
|
||||||
return "github-e2etests-tables";
|
return `${accountNamePrefix}-de-test-table-1`;
|
||||||
case TestAccount.Cassandra:
|
case TestAccount.Cassandra:
|
||||||
return "github-e2etests-cassandra";
|
return `${accountNamePrefix}-de-test-cassandra-1`;
|
||||||
case TestAccount.Gremlin:
|
case TestAccount.Gremlin:
|
||||||
return "github-e2etests-gremlin";
|
return `${accountNamePrefix}-de-test-gremlin-1`;
|
||||||
case TestAccount.Mongo:
|
case TestAccount.Mongo:
|
||||||
return "github-e2etests-mongo";
|
return `${accountNamePrefix}-de-test-mongo-1`;
|
||||||
case TestAccount.MongoReadonly:
|
case TestAccount.MongoReadonly:
|
||||||
return "github-e2etests-mongo-readonly";
|
return `${accountNamePrefix}-de-test-mongo-readonly`;
|
||||||
case TestAccount.Mongo32:
|
case TestAccount.Mongo32:
|
||||||
return "github-e2etests-mongo32";
|
return `${accountNamePrefix}-de-test-mongo32-1`;
|
||||||
case TestAccount.SQLReadOnly:
|
case TestAccount.SQLReadOnly:
|
||||||
return "github-e2etests-sql-readonly";
|
return `${accountNamePrefix}-de-test-sql-readonly`;
|
||||||
case TestAccount.SQLContainerCopyOnly:
|
case TestAccount.SQLContainerCopyOnly:
|
||||||
return "github-e2etests-sql-containercopyonly";
|
return `${accountNamePrefix}-de-test-sql-containercopy`;
|
||||||
case TestAccount.SQL: {
|
case TestAccount.SQL: {
|
||||||
const shardIndex = process.env.PLAYWRIGHT_SHARD_INDEX ?? "";
|
const shardIndex = process.env.PLAYWRIGHT_SHARD_INDEX ?? "";
|
||||||
if (!shardIndex) {
|
if (!shardIndex) {
|
||||||
throw new Error("PLAYWRIGHT_SHARD_INDEX is not set");
|
throw new Error("PLAYWRIGHT_SHARD_INDEX is not set");
|
||||||
}
|
}
|
||||||
return "github-e2etests-sql-" + shardIndex;
|
return `${accountNamePrefix}-de-test-sql-${shardIndex}`;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
throw new Error(`No default account name defined for account type ${accountType}`);
|
throw new Error(`No default account name defined for account type ${accountType}`);
|
||||||
@@ -75,7 +79,7 @@ export function getDefaultAccountName(accountType: TestAccount): string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const resourceGroupName = process.env.DE_TEST_RESOURCE_GROUP ?? "de-e2e-tests";
|
export const resourceGroupName = process.env.DE_TEST_RESOURCE_GROUP ?? "de-e2e-tests";
|
||||||
export const subscriptionId = process.env.DE_TEST_SUBSCRIPTION_ID ?? "69e02f2d-f059-4409-9eac-97e8a276ae2c";
|
export const subscriptionId = process.env.DE_TEST_SUBSCRIPTION_ID ?? process.env.AZURE_SUBSCRIPTION_ID ?? "";
|
||||||
export const TEST_AUTOSCALE_THROUGHPUT_RU = 1000;
|
export const TEST_AUTOSCALE_THROUGHPUT_RU = 1000;
|
||||||
export const TEST_MANUAL_THROUGHPUT_RU = 800;
|
export const TEST_MANUAL_THROUGHPUT_RU = 800;
|
||||||
export const TEST_AUTOSCALE_MAX_THROUGHPUT_RU_2K = 2000;
|
export const TEST_AUTOSCALE_MAX_THROUGHPUT_RU_2K = 2000;
|
||||||
@@ -117,11 +121,16 @@ export async function getTestExplorerUrl(accountType: TestAccount, options?: Tes
|
|||||||
params.set("subscriptionId", subscriptionId);
|
params.set("subscriptionId", subscriptionId);
|
||||||
params.set("token", token);
|
params.set("token", token);
|
||||||
|
|
||||||
|
const tenantId = process.env.AZURE_TENANT_ID;
|
||||||
|
if (tenantId) {
|
||||||
|
params.set("tenantId", tenantId);
|
||||||
|
}
|
||||||
|
|
||||||
// There seem to be occasional CORS issues with calling the copilot APIs (/api/tokens/sampledataconnection/v2, for example)
|
// There seem to be occasional CORS issues with calling the copilot APIs (/api/tokens/sampledataconnection/v2, for example)
|
||||||
// For now, since we don't test copilot, we can disable the copilot APIs by setting the feature flag to false.
|
// For now, since we don't test copilot, we can disable the copilot APIs by setting the feature flag to false.
|
||||||
params.set("feature.enableCopilot", "false");
|
params.set("feature.enableCopilot", "false");
|
||||||
|
|
||||||
const nosqlRbacToken = getNoSqlRbacToken();
|
const nosqlRbacToken = process.env.NOSQL_TESTACCOUNT_TOKEN;
|
||||||
|
|
||||||
const nosqlReadOnlyRbacToken = process.env.NOSQL_READONLY_TESTACCOUNT_TOKEN;
|
const nosqlReadOnlyRbacToken = process.env.NOSQL_READONLY_TESTACCOUNT_TOKEN;
|
||||||
const nosqlContainerCopyRbacToken = process.env.NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN;
|
const nosqlContainerCopyRbacToken = process.env.NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { expect, test } from "@playwright/test";
|
import { expect, test } from "@playwright/test";
|
||||||
import { setupCORSBypass } from "../CORSBypass";
|
import { setupCORSBypass } from "../CORSBypass";
|
||||||
import { DataExplorer, QueryTab, TestAccount, CommandBarButton, Editor } from "../fx";
|
import { CommandBarButton, DataExplorer, Editor, QueryTab, TestAccount } from "../fx";
|
||||||
import { serializeMongoToJson } from "../testData";
|
import { serializeMongoToJson } from "../testData";
|
||||||
|
|
||||||
const databaseId = "test-e2etests-mongo-pagination";
|
const databaseId = "test-e2etests-mongo-pagination";
|
||||||
|
|||||||
@@ -11,10 +11,9 @@ import {
|
|||||||
resourceGroupName,
|
resourceGroupName,
|
||||||
subscriptionId,
|
subscriptionId,
|
||||||
} from "../fx";
|
} from "../fx";
|
||||||
import { getNoSqlRbacToken } from "../NoSqlTestSetup";
|
|
||||||
|
|
||||||
test("SQL account using Resource token", async ({ page }) => {
|
test("SQL account using Resource token", async ({ page }) => {
|
||||||
const nosqlAccountRbacToken = getNoSqlRbacToken() ?? "";
|
const nosqlAccountRbacToken = process.env.NOSQL_TESTACCOUNT_TOKEN ?? "";
|
||||||
test.skip(nosqlAccountRbacToken.length > 0, "Resource tokens not supported when using data plane RBAC.");
|
test.skip(nosqlAccountRbacToken.length > 0, "Resource tokens not supported when using data plane RBAC.");
|
||||||
|
|
||||||
const credentials = getAzureCLICredentials();
|
const credentials = getAzureCLICredentials();
|
||||||
|
|||||||
+1
-2
@@ -18,7 +18,6 @@ import {
|
|||||||
subscriptionId,
|
subscriptionId,
|
||||||
TestAccount,
|
TestAccount,
|
||||||
} from "./fx";
|
} from "./fx";
|
||||||
import { getNoSqlRbacToken } from "./NoSqlTestSetup";
|
|
||||||
|
|
||||||
// In Node.js >= 19, globalThis.crypto is already available as a read-only getter.
|
// In Node.js >= 19, globalThis.crypto is already available as a read-only getter.
|
||||||
// Only assign the polyfill for older versions.
|
// Only assign the polyfill for older versions.
|
||||||
@@ -135,7 +134,7 @@ async function createCosmosClientForSQLAccount(
|
|||||||
|
|
||||||
const rbacToken =
|
const rbacToken =
|
||||||
accountType === TestAccount.SQL
|
accountType === TestAccount.SQL
|
||||||
? getNoSqlRbacToken()
|
? process.env.NOSQL_TESTACCOUNT_TOKEN
|
||||||
: accountType === TestAccount.SQLContainerCopyOnly
|
: accountType === TestAccount.SQLContainerCopyOnly
|
||||||
? process.env.NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN
|
? process.env.NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN
|
||||||
: "";
|
: "";
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import "../../less/hostedexplorer.less";
|
|||||||
import { DataExplorerInputsFrame } from "../../src/Contracts/ViewModels";
|
import { DataExplorerInputsFrame } from "../../src/Contracts/ViewModels";
|
||||||
import { updateUserContext } from "../../src/UserContext";
|
import { updateUserContext } from "../../src/UserContext";
|
||||||
import { get, listKeys } from "../../src/Utils/arm/generatedClients/cosmos/databaseAccounts";
|
import { get, listKeys } from "../../src/Utils/arm/generatedClients/cosmos/databaseAccounts";
|
||||||
import { getNoSqlRbacToken } from "../NoSqlTestSetup";
|
|
||||||
|
|
||||||
const urlSearchParams = new URLSearchParams(window.location.search);
|
const urlSearchParams = new URLSearchParams(window.location.search);
|
||||||
const resourceGroup = urlSearchParams.get("resourceGroup") || process.env.RESOURCE_GROUP || "";
|
const resourceGroup = urlSearchParams.get("resourceGroup") || process.env.RESOURCE_GROUP || "";
|
||||||
@@ -16,7 +15,7 @@ const enablecontainercopy = urlSearchParams.get("enablecontainercopy");
|
|||||||
|
|
||||||
const nosqlRbacToken =
|
const nosqlRbacToken =
|
||||||
urlSearchParams.get("nosqlRbacToken") ||
|
urlSearchParams.get("nosqlRbacToken") ||
|
||||||
(enablecontainercopy ? process.env.NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN : getNoSqlRbacToken()) ||
|
(enablecontainercopy ? process.env.NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN : process.env.NOSQL_TESTACCOUNT_TOKEN) ||
|
||||||
"";
|
"";
|
||||||
|
|
||||||
const nosqlReadOnlyRbacToken =
|
const nosqlReadOnlyRbacToken =
|
||||||
@@ -30,6 +29,7 @@ const mongoRbacToken = urlSearchParams.get("mongoRbacToken") || process.env.MONG
|
|||||||
const mongo32RbacToken = urlSearchParams.get("mongo32RbacToken") || process.env.MONGO32_TESTACCOUNT_TOKEN || "";
|
const mongo32RbacToken = urlSearchParams.get("mongo32RbacToken") || process.env.MONGO32_TESTACCOUNT_TOKEN || "";
|
||||||
const mongoReadOnlyRbacToken =
|
const mongoReadOnlyRbacToken =
|
||||||
urlSearchParams.get("mongoReadOnlyRbacToken") || process.env.MONGO_READONLY_TESTACCOUNT_TOKEN || "";
|
urlSearchParams.get("mongoReadOnlyRbacToken") || process.env.MONGO_READONLY_TESTACCOUNT_TOKEN || "";
|
||||||
|
const tenantId = urlSearchParams.get("tenantId") || process.env.AZURE_TENANT_ID || "";
|
||||||
|
|
||||||
const initTestExplorer = async (): Promise<void> => {
|
const initTestExplorer = async (): Promise<void> => {
|
||||||
updateUserContext({
|
updateUserContext({
|
||||||
@@ -51,7 +51,7 @@ const initTestExplorer = async (): Promise<void> => {
|
|||||||
case "gremlin":
|
case "gremlin":
|
||||||
rbacToken = gremlinRbacToken;
|
rbacToken = gremlinRbacToken;
|
||||||
break;
|
break;
|
||||||
case "tables":
|
case "table":
|
||||||
rbacToken = tableRbacToken;
|
rbacToken = tableRbacToken;
|
||||||
break;
|
break;
|
||||||
case "cassandra":
|
case "cassandra":
|
||||||
@@ -90,6 +90,7 @@ const initTestExplorer = async (): Promise<void> => {
|
|||||||
resourceGroup,
|
resourceGroup,
|
||||||
authorizationToken: `Bearer ${authToken}`,
|
authorizationToken: `Bearer ${authToken}`,
|
||||||
aadToken: rbacToken,
|
aadToken: rbacToken,
|
||||||
|
tenantId,
|
||||||
features: {},
|
features: {},
|
||||||
containerCopyEnabled: enablecontainercopy === "true",
|
containerCopyEnabled: enablecontainercopy === "true",
|
||||||
hasWriteAccess: true,
|
hasWriteAccess: true,
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ const { CosmosDBManagementClient } = require("@azure/arm-cosmosdb");
|
|||||||
const ms = require("ms");
|
const ms = require("ms");
|
||||||
|
|
||||||
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
|
const subscriptionId = process.env["AZURE_SUBSCRIPTION_ID"];
|
||||||
const resourceGroupName = "de-e2e-tests";
|
const resourceGroupName = process.env["E2ETESTS_RESOURCEGROUP_NAME"];
|
||||||
|
|
||||||
const thirtyMinutesAgo = new Date(Date.now() - 1000 * 60 * 30).getTime();
|
const thirtyMinutesAgo = new Date(Date.now() - 1000 * 60 * 30).getTime();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user