Skip to content

Commit 28d1011

Browse files
fix: project name with spaces [ROAD-1181] (#152)
1 parent 17d290a commit 28d1011

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

snykTask/src/__tests__/test-task-args.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,15 @@ test('if dockerImageName is set and both targetFile and dockerfilePath are set,
8989
expect(fileArg).toBe('good/Dockerfile');
9090
});
9191

92+
test('project name is wrapped in quotes, if project name contains space', () => {
93+
const args = defaultTaskArgs();
94+
args.projectName = 'my project';
95+
96+
const projectNameArg = args.getProjectNameParameter();
97+
98+
expect(projectNameArg).toBe('"my project"');
99+
});
100+
92101
test('ensure that ignoreUnknownCA is false by default', () => {
93102
const args = defaultTaskArgs();
94103
expect(args.ignoreUnknownCA).toBe(false);

snykTask/src/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ async function runSnykTest(
138138
let errorMsg = '';
139139
let code = 0;
140140
const fileArg = taskArgs.getFileParameter();
141+
const projectNameArg = taskArgs.getProjectNameParameter();
141142

142143
const snykTestToolRunner = tl
143144
.tool(snykPath)
@@ -151,7 +152,7 @@ async function runSnykTest(
151152
.argIf(fileArg, `--file=${fileArg}`)
152153
.argIf(taskArgs.ignoreUnknownCA, `--insecure`)
153154
.argIf(taskArgs.organization, `--org=${taskArgs.organization}`)
154-
.argIf(taskArgs.projectName, `--project-name=${taskArgs.projectName}`)
155+
.argIf(taskArgs.projectName, `--project-name=${projectNameArg}`)
155156
.arg(`--json-file-output=${jsonReportOutputPath}`)
156157
.line(taskArgs.additionalArguments);
157158

@@ -228,6 +229,7 @@ async function runSnykMonitor(
228229
): Promise<SnykOutput> {
229230
let errorMsg = '';
230231
const fileArg = taskArgs.getFileParameter();
232+
const projectNameArg = taskArgs.getProjectNameParameter();
231233
const options = getOptionsToExecuteSnykCLICommand(
232234
taskArgs,
233235
taskNameForAnalytics,
@@ -241,7 +243,7 @@ async function runSnykMonitor(
241243
.argIf(taskArgs.dockerImageName, `${taskArgs.dockerImageName}`)
242244
.argIf(fileArg, `--file=${fileArg}`)
243245
.argIf(taskArgs.organization, `--org=${taskArgs.organization}`)
244-
.argIf(taskArgs.projectName, `--project-name=${taskArgs.projectName}`)
246+
.argIf(taskArgs.projectName, `--project-name=${projectNameArg}`)
245247
.argIf(taskArgs.ignoreUnknownCA, `--insecure`)
246248
.line(taskArgs.additionalArguments);
247249

snykTask/src/task-args.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,19 @@ class TaskArgs {
8989
}
9090
}
9191

92+
getProjectNameParameter() {
93+
if (!this.projectName) {
94+
return undefined;
95+
}
96+
97+
if (this.projectName.indexOf(' ') >= 0) {
98+
console.log('project name contains space');
99+
return `"${this.projectName}"`;
100+
}
101+
102+
return this.projectName;
103+
}
104+
92105
public validate() {
93106
if (this.failOnThreshold) {
94107
if (this.isNotValidThreshold(this.failOnThreshold)) {

0 commit comments

Comments
 (0)