39 lines
1,010 B
TypeScript
39 lines
1,010 B
TypeScript
|
|
import * as core from '@actions/core'
|
|
import * as yaml from 'js-yaml'
|
|
import * as fs from 'fs'
|
|
import * as assert from 'assert'
|
|
|
|
const actualConfig = loadActualConfig()
|
|
|
|
const rawExpectedConfig = process.argv[3].trim()
|
|
if (!rawExpectedConfig) {
|
|
core.info('No expected configuration provided')
|
|
} else {
|
|
core.startGroup('Expected generated user config')
|
|
core.info(yaml.dump(JSON.parse(rawExpectedConfig)))
|
|
core.endGroup()
|
|
}
|
|
|
|
const expectedConfig = rawExpectedConfig ? JSON.parse(rawExpectedConfig) : undefined;
|
|
|
|
assert.deepStrictEqual(
|
|
actualConfig,
|
|
expectedConfig,
|
|
'Expected configuration does not match actual configuration'
|
|
);
|
|
|
|
|
|
function loadActualConfig() {
|
|
if (!fs.existsSync(process.argv[2])) {
|
|
core.info('No configuration file found')
|
|
return undefined
|
|
} else {
|
|
const rawActualConfig = fs.readFileSync(process.argv[2], 'utf8')
|
|
core.startGroup('Actual generated user config')
|
|
core.info(rawActualConfig)
|
|
core.endGroup()
|
|
|
|
return yaml.load(rawActualConfig)
|
|
}
|
|
}
|