|
5 | 5 | getFileFromS3, |
6 | 6 | resetS3Client, |
7 | 7 | getListObjectsFromS3, |
| 8 | + s3FileExists, |
8 | 9 | } from "../src/S3Management.ts"; |
9 | 10 | import { S3Client } from "@aws-sdk/client-s3"; |
10 | 11 | import { createS3Client } from "mock-aws-s3-v3"; |
@@ -79,7 +80,7 @@ describe("getFileFromS3(bucket, key, s3Client?)", () => { |
79 | 80 | bucket: "dev", |
80 | 81 | }); |
81 | 82 | const s3File = await getFileFromS3("dev", "get_test/test.xml", mockClient); |
82 | | - expect(await s3File.Body.transformToString()).to.be( |
| 83 | + expect(await s3File.transformToString()).to.be( |
83 | 84 | fs.readFileSync("test/s3_mock/dev/get_test/test.xml").toString(), |
84 | 85 | ); |
85 | 86 | }); |
@@ -134,3 +135,28 @@ describe("getListObjectsFromS3(bucket, prefix, s3Client?)", () => { |
134 | 135 | ).to.be(1); |
135 | 136 | }); |
136 | 137 | }); |
| 138 | + |
| 139 | +describe("s3FileExists(bucket, key)", () => { |
| 140 | + const mockClient = createS3Client({ |
| 141 | + localDirectory: "./test/s3_mock", |
| 142 | + bucket: "dev", |
| 143 | + }); |
| 144 | + |
| 145 | + it("Should return true for an existing file", async () => { |
| 146 | + expect(await s3FileExists("dev", "get_test/test.xml", mockClient)).to.be( |
| 147 | + true, |
| 148 | + ); |
| 149 | + }); |
| 150 | + it("Should return false for a non existing file", async () => { |
| 151 | + expect(await s3FileExists("dev", "get_test/bana.na", mockClient)).to.be( |
| 152 | + false, |
| 153 | + ); |
| 154 | + const mockClient2 = createS3Client({ |
| 155 | + localDirectory: "s3_mock", |
| 156 | + bucket: "banana", |
| 157 | + }); |
| 158 | + expect(await s3FileExists("banana", "banana/bana.na", mockClient2)).to.be( |
| 159 | + false, |
| 160 | + ); |
| 161 | + }); |
| 162 | +}); |
0 commit comments