UNPKG

functional-google-cloud

Version:

Google Cloud Utilities functions in Functional Programming Style

40 lines 2.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.storage = exports.bucket = exports.failedFile = exports.file = exports.getFailedSignedUrl = exports.download = exports.getSignedUrl = void 0; const sinon_1 = require("sinon"); const storage_1 = require("@google-cloud/storage"); // getSignedUrl :: String -> GetSignedUrlConfig -> GetSignedUrlResponse exports.getSignedUrl = (url) => () => Promise.resolve([url]); // download :: Buffer -> () -> Promise [Buffer] exports.download = (buffer) => () => Promise.resolve([buffer]); // getFailedSignedUrl :: Error -> GetSignedUrlConfig -> GetSignedUrlResponse exports.getFailedSignedUrl = (error) => () => Promise.reject(error); // file :: ReturnValues -> Stub File exports.file = (values) => { const stubInstance = sinon_1.createStubInstance(storage_1.File); stubInstance.getSignedUrl.callsFake(exports.getSignedUrl(values.url)); stubInstance.download.callsFake(exports.download(values.buffer)); stubInstance.save.callsFake((buffer) => { stubInstance.download.callsFake(exports.download(buffer)); }); return stubInstance; }; // failedFile :: Error -> Stub File exports.failedFile = (error) => { const stubInstance = sinon_1.createStubInstance(storage_1.File); stubInstance.getSignedUrl.callsFake(exports.getFailedSignedUrl(error)); return stubInstance; }; // bucket :: ReturnValues -> Stub Bucket exports.bucket = (values) => { const stubInstance = sinon_1.createStubInstance(storage_1.Bucket); stubInstance.file.callsFake((filename) => exports.file(Object.assign(Object.assign({}, values), { url: `${values.url}/${filename}` }))); return stubInstance; }; // storage :: ReturnValues -> Stub Storage exports.storage = (values) => { const stubInstance = sinon_1.createStubInstance(storage_1.Storage); stubInstance.bucket.callsFake((bucketname) => exports.bucket(Object.assign(Object.assign({}, values), { url: `${values.url}/${bucketname}` }))); return stubInstance; }; //# sourceMappingURL=Stubs.js.map