ado-sync 0.1.65 → 0.1.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -15
- package/dist/__tests__/regressions.test.js +1011 -1
- package/dist/__tests__/regressions.test.js.map +1 -1
- package/dist/ai/summarizer.d.ts +2 -1
- package/dist/ai/summarizer.js +6 -1
- package/dist/ai/summarizer.js.map +1 -1
- package/dist/azure/test-cases.d.ts +11 -1
- package/dist/azure/test-cases.js +286 -43
- package/dist/azure/test-cases.js.map +1 -1
- package/dist/cli.js +85 -8
- package/dist/cli.js.map +1 -1
- package/dist/config.js +74 -1
- package/dist/config.js.map +1 -1
- package/dist/id-markers.d.ts +1 -0
- package/dist/id-markers.js +13 -0
- package/dist/id-markers.js.map +1 -1
- package/dist/sync/cache.d.ts +2 -0
- package/dist/sync/cache.js.map +1 -1
- package/dist/sync/engine.d.ts +12 -1
- package/dist/sync/engine.js +210 -41
- package/dist/sync/engine.js.map +1 -1
- package/dist/types.d.ts +52 -2
- package/llms.txt +11 -11
- package/package.json +8 -1
- package/docs/advanced.md +0 -989
- package/docs/agent-setup.md +0 -204
- package/docs/capability-roadmap.md +0 -280
- package/docs/cli.md +0 -614
- package/docs/configuration.md +0 -322
- package/docs/examples/csharp-mstest-local-llm.yaml +0 -35
- package/docs/examples/csharp-mstest.yaml +0 -21
- package/docs/examples/csharp-nunit.yaml +0 -21
- package/docs/examples/csharp-specflow.yaml +0 -16
- package/docs/examples/cypress.yaml +0 -21
- package/docs/examples/detox-react-native.yaml +0 -21
- package/docs/examples/espresso-android.yaml +0 -21
- package/docs/examples/flutter-dart.yaml +0 -21
- package/docs/examples/java-junit.yaml +0 -21
- package/docs/examples/java-testng.yaml +0 -21
- package/docs/examples/js-jasmine-wdio.yaml +0 -21
- package/docs/examples/js-jest.yaml +0 -21
- package/docs/examples/playwright-js.yaml +0 -21
- package/docs/examples/playwright-ts.yaml +0 -21
- package/docs/examples/puppeteer.yaml +0 -21
- package/docs/examples/python-pytest.yaml +0 -21
- package/docs/examples/robot-framework.yaml +0 -19
- package/docs/examples/testcafe.yaml +0 -21
- package/docs/examples/xcuitest-ios.yaml +0 -21
- package/docs/mcp-server.md +0 -312
- package/docs/publish-test-results.md +0 -947
- package/docs/spec-formats.md +0 -1357
- package/docs/troubleshooting.md +0 -101
- package/docs/vscode-extension.md +0 -139
- package/docs/work-item-links.md +0 -115
- package/docs/workflows.md +0 -457
- package/mkdocs.yml +0 -40
- package/requirements-docs.txt +0 -4
- package/scripts/build_site.sh +0 -6
package/dist/azure/test-cases.js
CHANGED
|
@@ -56,8 +56,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
56
56
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
57
|
exports.processTagsForPush = processTagsForPush;
|
|
58
58
|
exports.buildAzureSyncContent = buildAzureSyncContent;
|
|
59
|
+
exports.shouldCleanupEmptyGeneratedSuites = shouldCleanupEmptyGeneratedSuites;
|
|
60
|
+
exports.usesGeneratedSuiteHierarchy = usesGeneratedSuiteHierarchy;
|
|
61
|
+
exports.getGeneratedSuitePathKey = getGeneratedSuitePathKey;
|
|
62
|
+
exports.getGeneratedSuitePathKeyForTest = getGeneratedSuitePathKeyForTest;
|
|
63
|
+
exports.resolveExistingSuiteForFile = resolveExistingSuiteForFile;
|
|
64
|
+
exports.resolveExistingSuiteForPathKey = resolveExistingSuiteForPathKey;
|
|
65
|
+
exports.pruneEmptyGeneratedSuitesForFile = pruneEmptyGeneratedSuitesForFile;
|
|
66
|
+
exports.pruneEmptyGeneratedSuitesForPathKey = pruneEmptyGeneratedSuitesForPathKey;
|
|
59
67
|
exports.getOrCreateNamedSuite = getOrCreateNamedSuite;
|
|
60
68
|
exports.getOrCreateSuiteForFile = getOrCreateSuiteForFile;
|
|
69
|
+
exports.getOrCreateGeneratedSuiteForTest = getOrCreateGeneratedSuiteForTest;
|
|
61
70
|
exports.getTestCase = getTestCase;
|
|
62
71
|
exports.createTestCase = createTestCase;
|
|
63
72
|
exports.updateTestCase = updateTestCase;
|
|
@@ -65,6 +74,7 @@ exports.updateLocalFromAzure = updateLocalFromAzure;
|
|
|
65
74
|
exports.tagTestCaseAsRemoved = tagTestCaseAsRemoved;
|
|
66
75
|
exports.retireTestCase = retireTestCase;
|
|
67
76
|
exports.addTestCaseToSuite = addTestCaseToSuite;
|
|
77
|
+
exports.removeTestCaseFromSuite = removeTestCaseFromSuite;
|
|
68
78
|
exports.addTestCaseToRootSuite = addTestCaseToRootSuite;
|
|
69
79
|
exports.addTestCaseToConditionSuites = addTestCaseToConditionSuites;
|
|
70
80
|
exports.getTestCasesInSuite = getTestCasesInSuite;
|
|
@@ -347,12 +357,16 @@ function isIgnoredTag(tag, ignorePatterns) {
|
|
|
347
357
|
* Process tags for push: apply tag mapping and filter ignored tags.
|
|
348
358
|
* Returns the transformed tags list ready for Azure DevOps.
|
|
349
359
|
*/
|
|
350
|
-
function processTagsForPush(tags, tagPrefix, customizations) {
|
|
360
|
+
function processTagsForPush(tags, tagPrefix, customizations, config) {
|
|
351
361
|
let processed = tags.filter((t) => !(0, id_markers_1.isMarkerTag)(t, tagPrefix));
|
|
352
362
|
// Apply tag text map transformation
|
|
353
363
|
if (customizations?.tagTextMapTransformation?.enabled && customizations.tagTextMapTransformation.textMap) {
|
|
354
364
|
processed = applyTagTextMap(processed, customizations.tagTextMapTransformation.textMap);
|
|
355
365
|
}
|
|
366
|
+
const ownershipTag = config ? (0, id_markers_1.getSyncTargetOwnershipTag)(config) : undefined;
|
|
367
|
+
if (ownershipTag && !processed.includes(ownershipTag)) {
|
|
368
|
+
processed = [...processed, ownershipTag];
|
|
369
|
+
}
|
|
356
370
|
return processed;
|
|
357
371
|
}
|
|
358
372
|
// ─── State change helpers ────────────────────────────────────────────────────
|
|
@@ -790,12 +804,65 @@ async function applyLinkRelations(client, tcId, test, config, isCreate) {
|
|
|
790
804
|
}
|
|
791
805
|
// ─── Suite hierarchy helpers ──────────────────────────────────────────────────
|
|
792
806
|
async function resolveRootSuiteId(client, config) {
|
|
807
|
+
const syncTargetSuiteId = config.syncTarget?.mode === 'query' ? undefined : config.syncTarget?.suiteId;
|
|
808
|
+
if (syncTargetSuiteId)
|
|
809
|
+
return syncTargetSuiteId;
|
|
793
810
|
if (config.testPlan.suiteId)
|
|
794
811
|
return config.testPlan.suiteId;
|
|
795
812
|
const api = await client.getTestPlanApi();
|
|
796
813
|
const plan = await api.getTestPlanById(config.project, config.testPlan.id);
|
|
797
814
|
return plan?.rootSuite?.id ?? 0;
|
|
798
815
|
}
|
|
816
|
+
function buildAzureTestCaseFromWorkItem(workItem, titleField) {
|
|
817
|
+
const fields = workItem?.fields ?? {};
|
|
818
|
+
return {
|
|
819
|
+
id: workItem.id,
|
|
820
|
+
title: fields[titleField] ?? '',
|
|
821
|
+
description: fields['System.Description'] ?? '',
|
|
822
|
+
steps: parseStepsXml(fields['Microsoft.VSTS.TCM.Steps'] ?? ''),
|
|
823
|
+
tags: tagsFromString(fields['System.Tags']),
|
|
824
|
+
changedDate: fields['System.ChangedDate'],
|
|
825
|
+
areaPath: fields['System.AreaPath'],
|
|
826
|
+
iterationPath: fields['System.IterationPath'],
|
|
827
|
+
automatedTestName: fields['Microsoft.VSTS.TCM.AutomatedTestName'] || undefined,
|
|
828
|
+
};
|
|
829
|
+
}
|
|
830
|
+
function getRemoteScopeSuiteId(config, suiteId) {
|
|
831
|
+
if (suiteId)
|
|
832
|
+
return suiteId;
|
|
833
|
+
if (config.syncTarget?.mode !== 'query' && config.syncTarget?.suiteId)
|
|
834
|
+
return config.syncTarget.suiteId;
|
|
835
|
+
return config.testPlan.suiteId;
|
|
836
|
+
}
|
|
837
|
+
function filterScopedTestCases(testCases, config) {
|
|
838
|
+
const ownershipTag = (0, id_markers_1.getSyncTargetOwnershipTag)(config);
|
|
839
|
+
if (!ownershipTag)
|
|
840
|
+
return testCases;
|
|
841
|
+
const normalizedOwnershipTag = ownershipTag.toLowerCase();
|
|
842
|
+
return testCases.filter((testCase) => testCase.tags.some((tag) => tag.toLowerCase() === normalizedOwnershipTag));
|
|
843
|
+
}
|
|
844
|
+
async function getTestCasesByWiql(client, config, titleField, wiql) {
|
|
845
|
+
const wit = await client.getWitApi();
|
|
846
|
+
const queryResult = await withRetry(() => wit.queryByWiql({ query: wiql }, { project: config.project }));
|
|
847
|
+
const ids = (queryResult?.workItems ?? []).map((ref) => ref.id).filter(Boolean);
|
|
848
|
+
if (!ids.length)
|
|
849
|
+
return [];
|
|
850
|
+
const fields = [
|
|
851
|
+
titleField,
|
|
852
|
+
'System.WorkItemType',
|
|
853
|
+
'System.Description',
|
|
854
|
+
'Microsoft.VSTS.TCM.Steps',
|
|
855
|
+
'System.Tags',
|
|
856
|
+
'System.ChangedDate',
|
|
857
|
+
'System.AreaPath',
|
|
858
|
+
'System.IterationPath',
|
|
859
|
+
'Microsoft.VSTS.TCM.AutomatedTestName',
|
|
860
|
+
];
|
|
861
|
+
const workItems = await withRetry(() => wit.getWorkItems(ids, fields));
|
|
862
|
+
return (workItems ?? [])
|
|
863
|
+
.filter((workItem) => (workItem?.fields?.['System.WorkItemType'] ?? '') === 'Test Case')
|
|
864
|
+
.map((workItem) => buildAzureTestCaseFromWorkItem(workItem, titleField));
|
|
865
|
+
}
|
|
799
866
|
async function getOrCreateChildSuite(client, config, parentSuiteId, suiteName) {
|
|
800
867
|
const api = await client.getTestPlanApi();
|
|
801
868
|
const suites = await api.getTestSuitesForPlan(config.project, config.testPlan.id);
|
|
@@ -809,6 +876,192 @@ async function getOrCreateChildSuite(client, config, parentSuiteId, suiteName) {
|
|
|
809
876
|
}, config.project, config.testPlan.id);
|
|
810
877
|
return created?.id ?? parentSuiteId;
|
|
811
878
|
}
|
|
879
|
+
function getSuiteHierarchy(config) {
|
|
880
|
+
if (config.testPlan.hierarchy)
|
|
881
|
+
return config.testPlan.hierarchy;
|
|
882
|
+
if (config.testPlan.suiteMapping === 'byFolder' || config.testPlan.suiteMapping === 'byFile') {
|
|
883
|
+
return { mode: config.testPlan.suiteMapping };
|
|
884
|
+
}
|
|
885
|
+
return undefined;
|
|
886
|
+
}
|
|
887
|
+
function shouldCleanupEmptyGeneratedSuites(config) {
|
|
888
|
+
return getSuiteHierarchy(config)?.cleanupEmptySuites === true;
|
|
889
|
+
}
|
|
890
|
+
function getGeneratedSuiteSegments(config, filePath, configDir) {
|
|
891
|
+
const hierarchy = getSuiteHierarchy(config);
|
|
892
|
+
if (!hierarchy)
|
|
893
|
+
return undefined;
|
|
894
|
+
const relFile = path.relative(configDir, filePath);
|
|
895
|
+
const allSegments = relFile.split(path.sep);
|
|
896
|
+
const dirSegments = allSegments.slice(0, -1);
|
|
897
|
+
const fileName = path.basename(filePath, path.extname(filePath));
|
|
898
|
+
const rawSegments = hierarchy.mode === 'byFile' ? [...dirSegments, fileName] : dirSegments;
|
|
899
|
+
const cleanSegments = rawSegments.map((segment) => segment.replace(/^@/, '')).filter(Boolean);
|
|
900
|
+
return hierarchy.rootSuite ? [hierarchy.rootSuite, ...cleanSegments] : cleanSegments;
|
|
901
|
+
}
|
|
902
|
+
function getGeneratedSuiteSegmentsForTagHierarchy(hierarchy, test) {
|
|
903
|
+
return getTagHierarchySegments(test, hierarchy.tagPrefix, hierarchy.valueSeparator);
|
|
904
|
+
}
|
|
905
|
+
function getTagHierarchySegments(test, tagPrefix, valueSeparator) {
|
|
906
|
+
const normalizedPrefix = tagPrefix.trim().replace(/^@/, '').toLowerCase();
|
|
907
|
+
const separator = valueSeparator ?? '/';
|
|
908
|
+
const matchingTag = test.tags.find((tag) => {
|
|
909
|
+
const normalizedTag = tag.replace(/^@/, '');
|
|
910
|
+
return normalizedTag.toLowerCase().startsWith(`${normalizedPrefix}:`);
|
|
911
|
+
});
|
|
912
|
+
if (!matchingTag) {
|
|
913
|
+
return [];
|
|
914
|
+
}
|
|
915
|
+
const normalizedTag = matchingTag.replace(/^@/, '');
|
|
916
|
+
const rawValue = normalizedTag.slice(normalizedPrefix.length + 1);
|
|
917
|
+
return rawValue
|
|
918
|
+
.split(separator)
|
|
919
|
+
.map((segment) => segment.trim().replace(/^@/, ''))
|
|
920
|
+
.filter(Boolean);
|
|
921
|
+
}
|
|
922
|
+
function getGeneratedSuiteSegmentsForLevelsHierarchy(hierarchy, test, configDir) {
|
|
923
|
+
const relFile = path.relative(configDir, test.filePath);
|
|
924
|
+
const allSegments = relFile.split(path.sep);
|
|
925
|
+
const dirSegments = allSegments.slice(0, -1);
|
|
926
|
+
const fileName = path.basename(test.filePath, path.extname(test.filePath));
|
|
927
|
+
const resolvedSegments = [];
|
|
928
|
+
for (const level of hierarchy.levels ?? []) {
|
|
929
|
+
if (level.source === 'folder') {
|
|
930
|
+
const segment = dirSegments[level.index];
|
|
931
|
+
if (segment) {
|
|
932
|
+
resolvedSegments.push(segment.replace(/^@/, ''));
|
|
933
|
+
}
|
|
934
|
+
continue;
|
|
935
|
+
}
|
|
936
|
+
if (level.source === 'file') {
|
|
937
|
+
resolvedSegments.push(fileName.replace(/^@/, ''));
|
|
938
|
+
continue;
|
|
939
|
+
}
|
|
940
|
+
resolvedSegments.push(...getTagHierarchySegments(test, level.tagPrefix, level.valueSeparator));
|
|
941
|
+
}
|
|
942
|
+
const cleanSegments = resolvedSegments.filter(Boolean);
|
|
943
|
+
return hierarchy.rootSuite ? [hierarchy.rootSuite, ...cleanSegments] : cleanSegments;
|
|
944
|
+
}
|
|
945
|
+
function getGeneratedSuiteSegmentsForTest(config, test, configDir) {
|
|
946
|
+
const hierarchy = getSuiteHierarchy(config);
|
|
947
|
+
if (!hierarchy)
|
|
948
|
+
return undefined;
|
|
949
|
+
if (hierarchy.mode === 'byTag') {
|
|
950
|
+
const tagSegments = getGeneratedSuiteSegmentsForTagHierarchy(hierarchy, test);
|
|
951
|
+
return hierarchy.rootSuite ? [hierarchy.rootSuite, ...tagSegments] : tagSegments;
|
|
952
|
+
}
|
|
953
|
+
if (hierarchy.mode === 'byLevels') {
|
|
954
|
+
return getGeneratedSuiteSegmentsForLevelsHierarchy(hierarchy, test, configDir);
|
|
955
|
+
}
|
|
956
|
+
return getGeneratedSuiteSegments(config, test.filePath, configDir);
|
|
957
|
+
}
|
|
958
|
+
function usesGeneratedSuiteHierarchy(config) {
|
|
959
|
+
return getSuiteHierarchy(config) !== undefined;
|
|
960
|
+
}
|
|
961
|
+
function getGeneratedSuitePathKey(config, filePath, configDir) {
|
|
962
|
+
const segments = getGeneratedSuiteSegments(config, filePath, configDir);
|
|
963
|
+
return segments ? segments.join('/') : undefined;
|
|
964
|
+
}
|
|
965
|
+
function getGeneratedSuitePathKeyForTest(config, test, configDir) {
|
|
966
|
+
const segments = getGeneratedSuiteSegmentsForTest(config, test, configDir);
|
|
967
|
+
return segments ? segments.join('/') : undefined;
|
|
968
|
+
}
|
|
969
|
+
async function resolveSuiteForSegments(client, config, segments, suiteCache, createMissing) {
|
|
970
|
+
const baseRootSuiteId = await resolveRootSuiteId(client, config);
|
|
971
|
+
if (!segments.length)
|
|
972
|
+
return baseRootSuiteId;
|
|
973
|
+
const api = await client.getTestPlanApi();
|
|
974
|
+
const suites = await api.getTestSuitesForPlan(config.project, config.testPlan.id);
|
|
975
|
+
let parentId = baseRootSuiteId;
|
|
976
|
+
let cacheKey = '';
|
|
977
|
+
for (const seg of segments) {
|
|
978
|
+
cacheKey = cacheKey ? `${cacheKey}/${seg}` : seg;
|
|
979
|
+
if (suiteCache.has(cacheKey)) {
|
|
980
|
+
parentId = suiteCache.get(cacheKey);
|
|
981
|
+
continue;
|
|
982
|
+
}
|
|
983
|
+
const existing = (suites ?? []).find((suite) => suite.parentSuite?.id === parentId && suite.name === seg);
|
|
984
|
+
if (existing?.id) {
|
|
985
|
+
parentId = existing.id;
|
|
986
|
+
suiteCache.set(cacheKey, parentId);
|
|
987
|
+
continue;
|
|
988
|
+
}
|
|
989
|
+
if (!createMissing)
|
|
990
|
+
return undefined;
|
|
991
|
+
parentId = await getOrCreateChildSuite(client, config, parentId, seg);
|
|
992
|
+
suiteCache.set(cacheKey, parentId);
|
|
993
|
+
}
|
|
994
|
+
return parentId;
|
|
995
|
+
}
|
|
996
|
+
function dropSuiteCacheBranch(suiteCache, pathKey) {
|
|
997
|
+
for (const key of [...suiteCache.keys()]) {
|
|
998
|
+
if (key === pathKey || key.startsWith(`${pathKey}/`)) {
|
|
999
|
+
suiteCache.delete(key);
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
}
|
|
1003
|
+
async function resolveExistingSuiteForFile(client, config, filePath, configDir, suiteCache) {
|
|
1004
|
+
const segments = getGeneratedSuiteSegments(config, filePath, configDir);
|
|
1005
|
+
if (!segments)
|
|
1006
|
+
return undefined;
|
|
1007
|
+
return resolveSuiteForSegments(client, config, segments, suiteCache, false);
|
|
1008
|
+
}
|
|
1009
|
+
async function resolveExistingSuiteForPathKey(client, config, pathKey, suiteCache) {
|
|
1010
|
+
const segments = pathKey.split('/').filter(Boolean);
|
|
1011
|
+
if (!segments.length)
|
|
1012
|
+
return undefined;
|
|
1013
|
+
return resolveSuiteForSegments(client, config, segments, suiteCache, false);
|
|
1014
|
+
}
|
|
1015
|
+
async function pruneEmptyGeneratedSuitesForFile(client, config, filePath, configDir, suiteCache) {
|
|
1016
|
+
const hierarchy = getSuiteHierarchy(config);
|
|
1017
|
+
const segments = getGeneratedSuiteSegments(config, filePath, configDir);
|
|
1018
|
+
if (!hierarchy || !segments?.length)
|
|
1019
|
+
return;
|
|
1020
|
+
const api = await client.getTestPlanApi();
|
|
1021
|
+
const rootSuiteId = await resolveRootSuiteId(client, config);
|
|
1022
|
+
const protectedDepth = hierarchy.rootSuite ? 1 : 0;
|
|
1023
|
+
for (let depth = segments.length; depth > protectedDepth; depth--) {
|
|
1024
|
+
const pathSegments = segments.slice(0, depth);
|
|
1025
|
+
const pathKey = pathSegments.join('/');
|
|
1026
|
+
const suiteId = await resolveSuiteForSegments(client, config, pathSegments, suiteCache, false);
|
|
1027
|
+
if (!suiteId || suiteId === rootSuiteId)
|
|
1028
|
+
continue;
|
|
1029
|
+
const suites = await api.getTestSuitesForPlan(config.project, config.testPlan.id);
|
|
1030
|
+
const childSuites = (suites ?? []).filter((suite) => suite.parentSuite?.id === suiteId);
|
|
1031
|
+
if (childSuites.length > 0)
|
|
1032
|
+
break;
|
|
1033
|
+
const testCases = await api.getTestCaseList(config.project, config.testPlan.id, suiteId);
|
|
1034
|
+
if ((testCases?.length ?? 0) > 0)
|
|
1035
|
+
break;
|
|
1036
|
+
await api.deleteTestSuite(config.project, config.testPlan.id, suiteId);
|
|
1037
|
+
dropSuiteCacheBranch(suiteCache, pathKey);
|
|
1038
|
+
}
|
|
1039
|
+
}
|
|
1040
|
+
async function pruneEmptyGeneratedSuitesForPathKey(client, config, pathKey, suiteCache) {
|
|
1041
|
+
const hierarchy = getSuiteHierarchy(config);
|
|
1042
|
+
const segments = pathKey.split('/').filter(Boolean);
|
|
1043
|
+
if (!hierarchy || !segments.length)
|
|
1044
|
+
return;
|
|
1045
|
+
const api = await client.getTestPlanApi();
|
|
1046
|
+
const rootSuiteId = await resolveRootSuiteId(client, config);
|
|
1047
|
+
const protectedDepth = hierarchy.rootSuite ? 1 : 0;
|
|
1048
|
+
for (let depth = segments.length; depth > protectedDepth; depth--) {
|
|
1049
|
+
const pathSegments = segments.slice(0, depth);
|
|
1050
|
+
const currentPathKey = pathSegments.join('/');
|
|
1051
|
+
const suiteId = await resolveSuiteForSegments(client, config, pathSegments, suiteCache, false);
|
|
1052
|
+
if (!suiteId || suiteId === rootSuiteId)
|
|
1053
|
+
continue;
|
|
1054
|
+
const suites = await api.getTestSuitesForPlan(config.project, config.testPlan.id);
|
|
1055
|
+
const childSuites = (suites ?? []).filter((suite) => suite.parentSuite?.id === suiteId);
|
|
1056
|
+
if (childSuites.length > 0)
|
|
1057
|
+
break;
|
|
1058
|
+
const testCases = await api.getTestCaseList(config.project, config.testPlan.id, suiteId);
|
|
1059
|
+
if ((testCases?.length ?? 0) > 0)
|
|
1060
|
+
break;
|
|
1061
|
+
await api.deleteTestSuite(config.project, config.testPlan.id, suiteId);
|
|
1062
|
+
dropSuiteCacheBranch(suiteCache, currentPathKey);
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
812
1065
|
/**
|
|
813
1066
|
* Get or create a named static suite directly under the plan's root suite.
|
|
814
1067
|
* Used by suiteRouting to resolve named route targets.
|
|
@@ -827,30 +1080,18 @@ async function getOrCreateNamedSuite(client, config, suiteName) {
|
|
|
827
1080
|
* Uses suiteCache (Map<relPath, suiteId>) to avoid redundant API calls.
|
|
828
1081
|
*/
|
|
829
1082
|
async function getOrCreateSuiteForFile(client, config, filePath, configDir, suiteCache) {
|
|
830
|
-
const
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
// byFile: include the filename (without extension) as the deepest suite segment
|
|
834
|
-
const byFile = config.testPlan.suiteMapping === 'byFile';
|
|
835
|
-
const dirSegments = allSegments.slice(0, -1);
|
|
836
|
-
const fileName = path.basename(filePath, path.extname(filePath));
|
|
837
|
-
const rawSegments = byFile ? [...dirSegments, fileName] : dirSegments;
|
|
838
|
-
const cleanSegments = rawSegments.map((s) => s.replace(/^@/, '')).filter(Boolean);
|
|
839
|
-
if (!cleanSegments.length)
|
|
840
|
-
return rootSuiteId;
|
|
841
|
-
let parentId = rootSuiteId;
|
|
842
|
-
let cacheKey = '';
|
|
843
|
-
for (const seg of cleanSegments) {
|
|
844
|
-
cacheKey = cacheKey ? `${cacheKey}/${seg}` : seg;
|
|
845
|
-
if (suiteCache.has(cacheKey)) {
|
|
846
|
-
parentId = suiteCache.get(cacheKey);
|
|
847
|
-
}
|
|
848
|
-
else {
|
|
849
|
-
parentId = await getOrCreateChildSuite(client, config, parentId, seg);
|
|
850
|
-
suiteCache.set(cacheKey, parentId);
|
|
851
|
-
}
|
|
1083
|
+
const segments = getGeneratedSuiteSegments(config, filePath, configDir);
|
|
1084
|
+
if (!segments) {
|
|
1085
|
+
return resolveRootSuiteId(client, config);
|
|
852
1086
|
}
|
|
853
|
-
return
|
|
1087
|
+
return (await resolveSuiteForSegments(client, config, segments, suiteCache, true)) ?? await resolveRootSuiteId(client, config);
|
|
1088
|
+
}
|
|
1089
|
+
async function getOrCreateGeneratedSuiteForTest(client, config, test, configDir, suiteCache) {
|
|
1090
|
+
const segments = getGeneratedSuiteSegmentsForTest(config, test, configDir);
|
|
1091
|
+
if (!segments) {
|
|
1092
|
+
return resolveRootSuiteId(client, config);
|
|
1093
|
+
}
|
|
1094
|
+
return (await resolveSuiteForSegments(client, config, segments, suiteCache, true)) ?? await resolveRootSuiteId(client, config);
|
|
854
1095
|
}
|
|
855
1096
|
// ─── API layer ───────────────────────────────────────────────────────────────
|
|
856
1097
|
async function getTestCase(client, id, titleField = 'System.Title') {
|
|
@@ -916,7 +1157,7 @@ async function createTestCase(client, test, config, suiteIdOverride, configDir)
|
|
|
916
1157
|
}
|
|
917
1158
|
}
|
|
918
1159
|
// Process tags: apply tag text map transformation
|
|
919
|
-
const processedTags = processTagsForPush(test.tags, syncCfg.tagPrefix ?? 'tc', config.customizations);
|
|
1160
|
+
const processedTags = processTagsForPush(test.tags, syncCfg.tagPrefix ?? 'tc', config.customizations, config);
|
|
920
1161
|
const filteredTags = processedTags.join('; ');
|
|
921
1162
|
if (filteredTags) {
|
|
922
1163
|
patchDoc.push({ op: 'add', path: '/fields/System.Tags', value: filteredTags });
|
|
@@ -941,7 +1182,7 @@ async function createTestCase(client, test, config, suiteIdOverride, configDir)
|
|
|
941
1182
|
}
|
|
942
1183
|
if (!wi?.id)
|
|
943
1184
|
throw new Error(`Failed to create test case for: ${test.title} — Azure returned no work item ID. Check that the project name, plan ID, and PAT permissions (Test Management: Write) are correct.`);
|
|
944
|
-
const resolvedSuiteId = suiteIdOverride ?? config
|
|
1185
|
+
const resolvedSuiteId = suiteIdOverride ?? getRemoteScopeSuiteId(config);
|
|
945
1186
|
if (resolvedSuiteId) {
|
|
946
1187
|
await addTestCaseToSuite(client, config, wi.id, resolvedSuiteId);
|
|
947
1188
|
}
|
|
@@ -960,7 +1201,7 @@ async function updateTestCase(client, id, test, config, configDir) {
|
|
|
960
1201
|
const titleField = syncCfg.titleField ?? 'System.Title';
|
|
961
1202
|
const { title, steps } = buildAzureSyncContent(test, syncCfg.format);
|
|
962
1203
|
// Process tags with transformations
|
|
963
|
-
const processedLocalTags = processTagsForPush(test.tags, syncCfg.tagPrefix ?? 'tc', config.customizations);
|
|
1204
|
+
const processedLocalTags = processTagsForPush(test.tags, syncCfg.tagPrefix ?? 'tc', config.customizations, config);
|
|
964
1205
|
// Fetch existing Azure tags and parameter fields so updates can merge/clear correctly.
|
|
965
1206
|
const wi = await withRetry(() => wit.getWorkItem(id, [
|
|
966
1207
|
'System.Tags',
|
|
@@ -1081,6 +1322,18 @@ async function addTestCaseToSuite(client, config, testCaseId, suiteId) {
|
|
|
1081
1322
|
throw err;
|
|
1082
1323
|
}
|
|
1083
1324
|
}
|
|
1325
|
+
async function removeTestCaseFromSuite(client, config, testCaseId, suiteId) {
|
|
1326
|
+
const api = await client.getTestPlanApi();
|
|
1327
|
+
try {
|
|
1328
|
+
await api.removeTestCasesFromSuite(config.project, config.testPlan.id, suiteId, String(testCaseId));
|
|
1329
|
+
}
|
|
1330
|
+
catch (err) {
|
|
1331
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
1332
|
+
if (/not found|does not exist|invalid/i.test(msg))
|
|
1333
|
+
return;
|
|
1334
|
+
throw err;
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1084
1337
|
async function addTestCaseToRootSuite(client, config, testCaseId) {
|
|
1085
1338
|
const api = await client.getTestPlanApi();
|
|
1086
1339
|
const plan = await api.getTestPlanById(config.project, config.testPlan.id);
|
|
@@ -1130,10 +1383,13 @@ async function addTestCaseToConditionSuites(client, config, testCaseId, test, co
|
|
|
1130
1383
|
}
|
|
1131
1384
|
}
|
|
1132
1385
|
async function getTestCasesInSuite(client, config, suiteId) {
|
|
1386
|
+
const titleField = config.sync?.titleField ?? 'System.Title';
|
|
1387
|
+
if (config.syncTarget?.mode === 'query') {
|
|
1388
|
+
return filterScopedTestCases(await getTestCasesByWiql(client, config, titleField, config.syncTarget.wiql), config);
|
|
1389
|
+
}
|
|
1133
1390
|
const api = await client.getTestPlanApi();
|
|
1134
1391
|
const wit = await client.getWitApi();
|
|
1135
|
-
|
|
1136
|
-
let resolvedSuiteId = suiteId ?? config.testPlan.suiteId;
|
|
1392
|
+
let resolvedSuiteId = getRemoteScopeSuiteId(config, suiteId);
|
|
1137
1393
|
if (!resolvedSuiteId) {
|
|
1138
1394
|
const plan = await api.getTestPlanById(config.project, config.testPlan.id);
|
|
1139
1395
|
resolvedSuiteId = plan?.rootSuite?.id;
|
|
@@ -1157,19 +1413,6 @@ async function getTestCasesInSuite(client, config, suiteId) {
|
|
|
1157
1413
|
if (!ids.length)
|
|
1158
1414
|
return [];
|
|
1159
1415
|
const workItems = await withRetry(() => wit.getWorkItems(ids, fields));
|
|
1160
|
-
return (workItems ?? []).map((
|
|
1161
|
-
const f = wi.fields ?? {};
|
|
1162
|
-
return {
|
|
1163
|
-
id: wi.id,
|
|
1164
|
-
title: f[titleField] ?? '',
|
|
1165
|
-
description: f['System.Description'] ?? '',
|
|
1166
|
-
steps: parseStepsXml(f['Microsoft.VSTS.TCM.Steps'] ?? ''),
|
|
1167
|
-
tags: tagsFromString(f['System.Tags']),
|
|
1168
|
-
changedDate: f['System.ChangedDate'],
|
|
1169
|
-
areaPath: f['System.AreaPath'],
|
|
1170
|
-
iterationPath: f['System.IterationPath'],
|
|
1171
|
-
automatedTestName: f['Microsoft.VSTS.TCM.AutomatedTestName'] || undefined,
|
|
1172
|
-
};
|
|
1173
|
-
});
|
|
1416
|
+
return filterScopedTestCases((workItems ?? []).map((workItem) => buildAzureTestCaseFromWorkItem(workItem, titleField)), config);
|
|
1174
1417
|
}
|
|
1175
1418
|
//# sourceMappingURL=test-cases.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-cases.js","sourceRoot":"","sources":["../../src/azure/test-cases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-cases.js","sourceRoot":"","sources":["../../src/azure/test-cases.ts"],"names":[],"mappings":"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"}
|