80 lines
1.4 KiB
TypeScript
80 lines
1.4 KiB
TypeScript
module AwsMock {
|
|
const aws: any = {}
|
|
|
|
const response = (body: any) => () => ({ promise: () => body })
|
|
|
|
function DocumentClient() {
|
|
// @ts-ignore
|
|
this.put = jest.fn(response({}))
|
|
// @ts-ignore
|
|
this.query = jest.fn(
|
|
response({
|
|
Items: [],
|
|
})
|
|
)
|
|
// @ts-ignore
|
|
this.scan = jest.fn(
|
|
response({
|
|
Items: [
|
|
{
|
|
Name: "test",
|
|
},
|
|
],
|
|
})
|
|
)
|
|
// @ts-ignore
|
|
this.get = jest.fn(response({}))
|
|
// @ts-ignore
|
|
this.update = jest.fn(response({}))
|
|
// @ts-ignore
|
|
this.delete = jest.fn(response({}))
|
|
}
|
|
|
|
function S3() {
|
|
// @ts-ignore
|
|
this.listObjects = jest.fn(
|
|
response({
|
|
Contents: {},
|
|
})
|
|
)
|
|
|
|
// @ts-ignore
|
|
this.createBucket = jest.fn(
|
|
response({
|
|
Contents: {},
|
|
})
|
|
)
|
|
|
|
// @ts-ignore
|
|
this.deleteObjects = jest.fn(
|
|
response({
|
|
Contents: {},
|
|
})
|
|
)
|
|
|
|
// @ts-ignore
|
|
this.getSignedUrl = (operation, params) => {
|
|
return `http://test.com/${params.Bucket}/${params.Key}`
|
|
}
|
|
|
|
// @ts-ignore
|
|
this.headBucket = jest.fn(
|
|
response({
|
|
Contents: {},
|
|
})
|
|
)
|
|
|
|
// @ts-ignore
|
|
this.upload = jest.fn(
|
|
response({
|
|
Contents: {},
|
|
})
|
|
)
|
|
}
|
|
|
|
aws.DynamoDB = { DocumentClient }
|
|
aws.S3 = S3
|
|
aws.config = { update: jest.fn() }
|
|
|
|
module.exports = aws
|
|
}
|