serverless/test/unit/lib/utils/fs/read-file-sync.test.js
2024-05-29 11:51:04 -04:00

46 lines
1.3 KiB
JavaScript

'use strict'
const expect = require('chai').expect
const writeFileSync = require('../../../../../lib/utils/fs/write-file-sync')
const readFileSync = require('../../../../../lib/utils/fs/read-file-sync')
const { getTmpFilePath } = require('../../../../utils/fs')
describe('#readFileSync()', () => {
it('should read a file synchronously', () => {
const tmpFilePath = getTmpFilePath('anything.json')
writeFileSync(tmpFilePath, { foo: 'bar' })
const obj = readFileSync(tmpFilePath)
expect(obj.foo).to.equal('bar')
})
it('should read a filename extension .yml', () => {
const tmpFilePath = getTmpFilePath('anything.yml')
writeFileSync(tmpFilePath, { foo: 'bar' })
const obj = readFileSync(tmpFilePath)
expect(obj.foo).to.equal('bar')
})
it('should read a filename extension .yaml', () => {
const tmpFilePath = getTmpFilePath('anything.yaml')
writeFileSync(tmpFilePath, { foo: 'bar' })
const obj = readFileSync(tmpFilePath)
expect(obj.foo).to.equal('bar')
})
it('should throw YAMLException with filename if yml file is invalid format', () => {
const tmpFilePath = getTmpFilePath('invalid.yml')
writeFileSync(tmpFilePath, ': a')
expect(() => {
readFileSync(tmpFilePath)
}).to.throw(/.*invalid.yml/)
})
})