UNPKG

functional-google-cloud

Version:

Google Cloud Utilities functions in Functional Programming Style

37 lines 1.79 kB
import { createStubInstance } from 'sinon'; import { Bucket, File, Storage, } from '@google-cloud/storage'; // getSignedUrl :: String -> GetSignedUrlConfig -> GetSignedUrlResponse export const getSignedUrl = (url) => () => Promise.resolve([url]); // download :: Buffer -> () -> Promise [Buffer] export const download = (buffer) => () => Promise.resolve([buffer]); // getFailedSignedUrl :: Error -> GetSignedUrlConfig -> GetSignedUrlResponse export const getFailedSignedUrl = (error) => () => Promise.reject(error); // file :: ReturnValues -> Stub File export const file = (values) => { const stubInstance = createStubInstance(File); stubInstance.getSignedUrl.callsFake(getSignedUrl(values.url)); stubInstance.download.callsFake(download(values.buffer)); stubInstance.save.callsFake((buffer) => { stubInstance.download.callsFake(download(buffer)); }); return stubInstance; }; // failedFile :: Error -> Stub File export const failedFile = (error) => { const stubInstance = createStubInstance(File); stubInstance.getSignedUrl.callsFake(getFailedSignedUrl(error)); return stubInstance; }; // bucket :: ReturnValues -> Stub Bucket export const bucket = (values) => { const stubInstance = createStubInstance(Bucket); stubInstance.file.callsFake((filename) => file(Object.assign(Object.assign({}, values), { url: `${values.url}/${filename}` }))); return stubInstance; }; // storage :: ReturnValues -> Stub Storage export const storage = (values) => { const stubInstance = createStubInstance(Storage); stubInstance.bucket.callsFake((bucketname) => bucket(Object.assign(Object.assign({}, values), { url: `${values.url}/${bucketname}` }))); return stubInstance; }; //# sourceMappingURL=Stubs.js.map