Add tests for getCsharpHashPatterns

- Make the function more easily testable by allowing `makePatternCheck` to be stubbed.
- Use `makePatternCheck` for base patterns as well.
This commit is contained in:
Michael B. Gale
2025-11-09 10:40:18 +00:00
parent 71abac76d2
commit 35c91ef0af
4 changed files with 147 additions and 62 deletions

34
lib/analyze-action.js generated
View File

@@ -91075,30 +91075,31 @@ async function makePatternCheck(patterns) {
}
return patterns;
}
var CSHARP_BASE_PATTERNS = [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
];
var CSHARP_EXTRA_PATTERNS = [
"**/*.csproj",
"**/packages.config",
"**/nuget.config"
];
async function getCsharpHashPatterns(codeql, features) {
const basePatterns = [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
];
const globber = await makeGlobber(basePatterns);
if ((await globber.glob()).length > 0) {
const basePatterns = await internal.makePatternCheck(CSHARP_BASE_PATTERNS);
if (basePatterns !== void 0) {
return basePatterns;
}
if (await features.getValue("csharp_new_cache_key" /* CsharpNewCacheKey */, codeql)) {
return makePatternCheck([
"**/*.csproj",
"**/packages.config",
"**/nuget.config"
]);
return internal.makePatternCheck(CSHARP_EXTRA_PATTERNS);
}
return void 0;
}
var defaultCacheConfigs = {
java: {
getDependencyPaths: getJavaDependencyDirs,
getHashPatterns: async () => makePatternCheck([
getHashPatterns: async () => internal.makePatternCheck([
// Maven
"**/pom.xml",
// Gradle
@@ -91116,7 +91117,7 @@ var defaultCacheConfigs = {
},
go: {
getDependencyPaths: () => [(0, import_path.join)(os3.homedir(), "go", "pkg", "mod")],
getHashPatterns: async () => makePatternCheck(["**/go.sum"])
getHashPatterns: async () => internal.makePatternCheck(["**/go.sum"])
}
};
async function makeGlobber(patterns) {
@@ -91228,6 +91229,9 @@ async function cachePrefix2(codeql, features, language) {
const featurePrefix = await getFeaturePrefix(codeql, features, language);
return `${featurePrefix}${prefix}-${CODEQL_DEPENDENCY_CACHE_VERSION}-${runnerOs}-${language}-`;
}
var internal = {
makePatternCheck
};
// src/diagnostics.ts
var import_fs = require("fs");

38
lib/init-action.js generated
View File

@@ -87262,30 +87262,31 @@ async function makePatternCheck(patterns) {
}
return patterns;
}
var CSHARP_BASE_PATTERNS = [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
];
var CSHARP_EXTRA_PATTERNS = [
"**/*.csproj",
"**/packages.config",
"**/nuget.config"
];
async function getCsharpHashPatterns(codeql, features) {
const basePatterns = [
// NuGet
"**/packages.lock.json",
// Paket
"**/paket.lock"
];
const globber = await makeGlobber(basePatterns);
if ((await globber.glob()).length > 0) {
const basePatterns = await internal.makePatternCheck(CSHARP_BASE_PATTERNS);
if (basePatterns !== void 0) {
return basePatterns;
}
if (await features.getValue("csharp_new_cache_key" /* CsharpNewCacheKey */, codeql)) {
return makePatternCheck([
"**/*.csproj",
"**/packages.config",
"**/nuget.config"
]);
return internal.makePatternCheck(CSHARP_EXTRA_PATTERNS);
}
return void 0;
}
var defaultCacheConfigs = {
java: {
getDependencyPaths: getJavaDependencyDirs,
getHashPatterns: async () => makePatternCheck([
getHashPatterns: async () => internal.makePatternCheck([
// Maven
"**/pom.xml",
// Gradle
@@ -87303,7 +87304,7 @@ var defaultCacheConfigs = {
},
go: {
getDependencyPaths: () => [(0, import_path.join)(os2.homedir(), "go", "pkg", "mod")],
getHashPatterns: async () => makePatternCheck(["**/go.sum"])
getHashPatterns: async () => internal.makePatternCheck(["**/go.sum"])
}
};
async function makeGlobber(patterns) {
@@ -87403,6 +87404,9 @@ async function cachePrefix2(codeql, features, language) {
const featurePrefix = await getFeaturePrefix(codeql, features, language);
return `${featurePrefix}${prefix}-${CODEQL_DEPENDENCY_CACHE_VERSION}-${runnerOs}-${language}-`;
}
var internal = {
makePatternCheck
};
// src/diagnostics.ts
var import_fs = require("fs");
@@ -89766,7 +89770,7 @@ async function getWorkflowAbsolutePath(logger) {
async function checkWorkflow(logger, codeql) {
if (!isDynamicWorkflow() && process.env["CODEQL_ACTION_SKIP_WORKFLOW_VALIDATION" /* SKIP_WORKFLOW_VALIDATION */] !== "true") {
core12.startGroup("Validating workflow");
const validateWorkflowResult = await internal.validateWorkflow(
const validateWorkflowResult = await internal2.validateWorkflow(
codeql,
logger
);
@@ -89780,7 +89784,7 @@ async function checkWorkflow(logger, codeql) {
core12.endGroup();
}
}
var internal = {
var internal2 = {
validateWorkflow
};