@syquel/sonarqube-scanner
Version:
SonarQube/SonarCloud Scanner for the JavaScript world
71 lines (62 loc) • 2.19 kB
JavaScript
var assert = require('assert')
var path = require('path')
var index = require('../dist/sonarqube-scanner-executable')
describe('sqScannerExecutable', function() {
var exclusions = 'node_modules/**,bower_components/**,jspm_packages/**,typings/**,lib-cov/**'
it('should provide default values', function() {
var expectedResult = {
maxBuffer: 1024 * 1024,
stdio: [0, 1, 2],
env: {
SONARQUBE_SCANNER_PARAMS: JSON.stringify({
'sonar.projectKey': 'fake_project_with_no_package_file',
'sonar.projectName': 'fake_project_with_no_package_file',
'sonar.projectVersion': '0.0.1',
'sonar.projectDescription': 'No description.',
'sonar.sources': '.',
'sonar.exclusions': exclusions
})
}
}
var fakeProcess = {
env: {},
cwd: function() {
return pathForProject('fake_project_with_no_package_file')
}
}
assert.deepEqual(index.prepareExecEnvironment({}, fakeProcess), expectedResult)
})
it('should read SONARQUBE_SCANNER_PARAMS provided by environment if it exists', function() {
var expectedResult = {
maxBuffer: 1024 * 1024,
stdio: [0, 1, 2],
env: {
SONARQUBE_SCANNER_PARAMS: JSON.stringify({
'sonar.projectKey': 'fake_project_with_no_package_file',
'sonar.projectName': 'fake_project_with_no_package_file',
'sonar.projectVersion': '0.0.1',
'sonar.projectDescription': 'No description.',
'sonar.sources': '.',
'sonar.exclusions': exclusions,
'sonar.host.url': 'https://sonarcloud.io',
'sonar.branch': 'dev'
})
}
}
var fakeProcess = {
env: {
SONARQUBE_SCANNER_PARAMS: JSON.stringify({
'sonar.host.url': 'https://sonarcloud.io',
'sonar.branch': 'dev'
})
},
cwd: function() {
return pathForProject('fake_project_with_no_package_file')
}
}
assert.deepEqual(index.prepareExecEnvironment({}, fakeProcess), expectedResult)
})
})
function pathForProject(projectFolder) {
return path.join(process.cwd(), 'specs', 'resources', projectFolder)
}