change: remove path.sep, add unit tests, dist
Remove path.sep during comparison with repositoryPath (did not take in account root folders) Updated and added more unit tests Updated dist/index.js
This commit is contained in:
parent
faa95350fe
commit
53a4183dea
|
@ -821,7 +821,6 @@ async function setup(testName: string): Promise<void> {
|
||||||
workflowOrganizationId: 123456,
|
workflowOrganizationId: 123456,
|
||||||
setSafeDirectory: true,
|
setSafeDirectory: true,
|
||||||
githubServerUrl: githubServerUrl,
|
githubServerUrl: githubServerUrl,
|
||||||
workingDirectory: undefined
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -143,4 +143,25 @@ describe('input-helper tests', () => {
|
||||||
const settings: IGitSourceSettings = await inputHelper.getInputs()
|
const settings: IGitSourceSettings = await inputHelper.getInputs()
|
||||||
expect(settings.workflowOrganizationId).toBe(123456)
|
expect(settings.workflowOrganizationId).toBe(123456)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('sets a different working directory', async() => {
|
||||||
|
inputs['working-directory'] = '/home/user/test'
|
||||||
|
inputs['path'] = 'path/to/repo'
|
||||||
|
const settings: IGitSourceSettings = await inputHelper.getInputs()
|
||||||
|
expect(settings.repositoryPath).toBe(path.resolve('/home/user/test/path/to/repo'))
|
||||||
|
})
|
||||||
|
|
||||||
|
it('sets a working directory on root', async() => {
|
||||||
|
inputs['working-directory'] = '/'
|
||||||
|
inputs['path'] = 'path/to/repo'
|
||||||
|
const settings: IGitSourceSettings = await inputHelper.getInputs()
|
||||||
|
expect(settings.repositoryPath).toBe(path.resolve('/path/to/repo'))
|
||||||
|
})
|
||||||
|
|
||||||
|
it('sets a working directory on root and repository path is set to empty', async() => {
|
||||||
|
inputs['working-directory'] = '/'
|
||||||
|
inputs['path'] = ''
|
||||||
|
const settings: IGitSourceSettings = await inputHelper.getInputs()
|
||||||
|
expect(settings.repositoryPath).toBe(path.resolve('/'))
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -1672,7 +1672,7 @@ function getInputs() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const result = {};
|
const result = {};
|
||||||
// Working directory
|
// Working directory
|
||||||
let workingDirectory = core.getInput('workingDirectory') || process.env['GITHUB_WORKSPACE'];
|
let workingDirectory = core.getInput('working-directory') || process.env['GITHUB_WORKSPACE'];
|
||||||
if (!workingDirectory) {
|
if (!workingDirectory) {
|
||||||
throw new Error('working dir not defined');
|
throw new Error('working dir not defined');
|
||||||
}
|
}
|
||||||
|
@ -1694,8 +1694,8 @@ function getInputs() {
|
||||||
// Repository path
|
// Repository path
|
||||||
result.repositoryPath = core.getInput('path') || '.';
|
result.repositoryPath = core.getInput('path') || '.';
|
||||||
result.repositoryPath = path.resolve(workingDirectory, result.repositoryPath);
|
result.repositoryPath = path.resolve(workingDirectory, result.repositoryPath);
|
||||||
if (!(result.repositoryPath + path.sep).startsWith(workingDirectory + path.sep)) {
|
if (!(result.repositoryPath + path.sep).startsWith(workingDirectory)) {
|
||||||
throw new Error(`Repository path '${result.repositoryPath}' is not under '${workingDirectory}'`);
|
throw new Error(`Repository path '${result.repositoryPath + path.sep}' is not under '${workingDirectory}'`);
|
||||||
}
|
}
|
||||||
// Workflow repository?
|
// Workflow repository?
|
||||||
const isWorkflowRepository = qualifiedRepository.toUpperCase() ===
|
const isWorkflowRepository = qualifiedRepository.toUpperCase() ===
|
||||||
|
|
|
@ -43,11 +43,11 @@ export async function getInputs(): Promise<IGitSourceSettings> {
|
||||||
)
|
)
|
||||||
if (
|
if (
|
||||||
!(result.repositoryPath + path.sep).startsWith(
|
!(result.repositoryPath + path.sep).startsWith(
|
||||||
workingDirectory + path.sep
|
workingDirectory
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`Repository path '${result.repositoryPath}' is not under '${workingDirectory}'`
|
`Repository path '${result.repositoryPath + path.sep}' is not under '${workingDirectory}'`
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue