1
0
mirror of https://github.com/sasjs/lint.git synced 2026-01-03 11:00:05 +00:00
Files
lint/src/rules/noEncodedPasswords.spec.ts

56 lines
1.6 KiB
TypeScript

import { Severity } from '../types/Severity'
import { noEncodedPasswords } from './noEncodedPasswords'
describe('noEncodedPasswords', () => {
it('should return an empty array when the line has no encoded passwords', () => {
const line = "%put 'hello';"
expect(noEncodedPasswords.test(line, 1)).toEqual([])
})
it('should return an array with a single diagnostic when the line has a SASENC password', () => {
const line = "%put '{SASENC}'; "
expect(noEncodedPasswords.test(line, 1)).toEqual([
{
message: 'Line contains encoded password',
lineNumber: 1,
startColumnNumber: 7,
endColumnNumber: 15,
severity: Severity.Error
}
])
})
it('should return an array with a single diagnostic when the line has an encoded password', () => {
const line = "%put '{SAS001}'; "
expect(noEncodedPasswords.test(line, 1)).toEqual([
{
message: 'Line contains encoded password',
lineNumber: 1,
startColumnNumber: 7,
endColumnNumber: 15,
severity: Severity.Error
}
])
})
it('should return an array with multiple diagnostics when the line has encoded passwords', () => {
const line = "%put '{SAS001} {SAS002}'; "
expect(noEncodedPasswords.test(line, 1)).toEqual([
{
message: 'Line contains encoded password',
lineNumber: 1,
startColumnNumber: 7,
endColumnNumber: 15,
severity: Severity.Error
},
{
message: 'Line contains encoded password',
lineNumber: 1,
startColumnNumber: 16,
endColumnNumber: 24,
severity: Severity.Error
}
])
})
})