Scale the number of test accounts used for SQL tests to one per shard. (#2468)

* Scale the number of test accounts used for SQL tests to one per shard.

* Set PLAYWRIGHT_SHARD_INDEX environment variable in CI workflow.

* Add log statement for the shared index and selected account.

* Remove console log.

* Fix order of accounts so that shard index maps to same account index.

* Try to fix the SQL account scope in ci.yml

* Get tokens for all accounts and use the shard index to pick which one.

* Set tokens without loop.

* Handcode the token use in tests.

* Fix database creation.

* Add debug for rbac token issues.

* Common function for retrieving NoSQL token.

* Disable eslint rule for noconsole temporarily.

* Move getNoSqlRbacToken to separate file.

* Fix ref to new function.

* mock Resource Graph API — fires on auto-subscription selection to populate account dropdown

* Code tidy-up.

* Fix build errors.

---------

Co-authored-by: Bikram Choudhury <bchoudhury@microsoft.com>
This commit is contained in:
jawelton74
2026-04-30 14:17:32 -07:00
committed by GitHub
parent 5bf0970b5e
commit 7014981807
7 changed files with 230 additions and 20 deletions
+71
View File
@@ -0,0 +1,71 @@
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;
}