Add a test for checksumming

This commit is contained in:
Jackson Harper
2023-10-18 17:11:02 +08:00
parent 921a46a13a
commit 479fc8fb7d
4 changed files with 17 additions and 16 deletions

View File

@ -17,7 +17,8 @@
"devDependencies": {
"chai": "^4.3.6",
"eslint-plugin-prettier": "^4.0.0",
"mocha": "^10.0.0"
"mocha": "^10.0.0",
"nock": "^13.3.4"
},
"dependencies": {
"@google-cloud/functions-framework": "3.1.2",

View File

@ -23,13 +23,7 @@ function isRssFeedRequest(body: any): body is RssFeedRequest {
)
}
type FeedFetchResult = {
url: string
content: string
checksum: string
}
async function fetchAndChecksum(url: string): Promise<FeedFetchResult> {
export const fetchAndChecksum = async (url: string) => {
try {
const response = await axios.get(url, {
responseType: 'arraybuffer',

View File

@ -0,0 +1,14 @@
import 'mocha'
import nock from 'nock'
import { expect } from 'chai'
import { fetchAndChecksum } from '../src/index'
describe('fetchAndChecksum', () => {
it('should hash the content available', async () => {
nock('https://fake.com', {}).get('/rss.xml').reply(200, 'i am some content')
const result = await fetchAndChecksum('https://fake.com/rss.xml')
expect(result.checksum).to.eq(
'd6bc10faec048d999d0cf4b2f7103d84557fb9cd94c3bccd17884b1288949375'
)
})
})

View File

@ -1,8 +0,0 @@
import 'mocha'
import { expect } from 'chai'
describe('stub test', () => {
it('should pass', () => {
expect(true).to.be.true
})
})