mock-aws-s3-v3 5.0.12 → 6.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,28 +3,36 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const client_s3_1 = require("@aws-sdk/client-s3");
4
4
  const mockS3_1 = require("../mockS3");
5
5
  test('use both actual and mock', async () => {
6
- const mockClient = (0, mockS3_1.createS3Client)('goldstackLocal/s3');
7
- try {
8
- await mockClient.send(new client_s3_1.GetObjectCommand({
9
- Bucket: 'test-local',
10
- Key: 'iamcertainlynotthere',
11
- }));
12
- }
13
- catch (e) {
14
- if (e instanceof client_s3_1.NoSuchKey) {
15
- // pass
16
- }
17
- else {
18
- throw e;
19
- }
20
- }
21
- (0, mockS3_1.resetMocks)();
22
- expect(async () => {
23
- const realClient = new client_s3_1.S3Client();
24
- await realClient.send(new client_s3_1.GetObjectCommand({
25
- Bucket: 'doesntextist-22332',
26
- Key: 'alsodoesntexist',
27
- }));
28
- }).rejects.toThrowError();
6
+ var _a;
7
+ const mockClient = (0, mockS3_1.createS3Client)({
8
+ localDirectory: 'goldstackLocal/s3',
9
+ bucket: 'test-local',
10
+ });
11
+ await mockClient.send(new client_s3_1.PutObjectCommand({
12
+ Bucket: 'test-local',
13
+ Key: 'test-key',
14
+ Body: 'hello',
15
+ }));
16
+ const res = await mockClient.send(new client_s3_1.GetObjectCommand({
17
+ Bucket: 'test-local',
18
+ Key: 'test-key',
19
+ }));
20
+ expect(await ((_a = res.Body) === null || _a === void 0 ? void 0 : _a.transformToString())).toBe('hello');
21
+ // Should throw NoSuchKey when getting non-existent key from mocked bucket
22
+ await expect(mockClient.send(new client_s3_1.GetObjectCommand({
23
+ Bucket: 'test-local',
24
+ Key: 'non-existent-key',
25
+ }))).rejects.toThrow(client_s3_1.NoSuchKey);
26
+ // When using a non-mocked bucket through mock client, it should forward to real client and throw
27
+ await expect(mockClient.send(new client_s3_1.GetObjectCommand({
28
+ Bucket: 'test-local-not',
29
+ Key: 'test-key',
30
+ }))).rejects.toThrow();
31
+ // Direct use of real client should also throw
32
+ const realClient = new client_s3_1.S3Client();
33
+ await expect(realClient.send(new client_s3_1.GetObjectCommand({
34
+ Bucket: 'test-remote-fake',
35
+ Key: 'test-key',
36
+ }))).rejects.toThrow();
29
37
  });
30
38
  //# sourceMappingURL=useBothMockAndActualClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBothMockAndActualClient.js","sourceRoot":"","sources":["../../../src/__tests__/useBothMockAndActualClient.ts"],"names":[],"mappings":";;AAAA,kDAA2E;AAC3E,sCAAuD;AAEvD,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;IAC1C,MAAM,UAAU,GAAG,IAAA,uBAAc,EAAC,mBAAmB,CAAC,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,IAAI,CACnB,IAAI,4BAAgB,CAAC;YACnB,MAAM,EAAE,YAAY;YACpB,GAAG,EAAE,sBAAsB;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,qBAAS,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,IAAA,mBAAU,GAAE,CAAC;IAEb,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,UAAU,GAAG,IAAI,oBAAQ,EAAE,CAAC;QAClC,MAAM,UAAU,CAAC,IAAI,CACnB,IAAI,4BAAgB,CAAC;YACnB,MAAM,EAAE,oBAAoB;YAC5B,GAAG,EAAE,iBAAiB;SACvB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"useBothMockAndActualClient.js","sourceRoot":"","sources":["../../../src/__tests__/useBothMockAndActualClient.ts"],"names":[],"mappings":";;AAAA,kDAK4B;AAC5B,sCAA2C;AAE3C,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;;IAC1C,MAAM,UAAU,GAAG,IAAA,uBAAc,EAAC;QAChC,cAAc,EAAE,mBAAmB;QACnC,MAAM,EAAE,YAAY;KACrB,CAAC,CAAC;IACH,MAAM,UAAU,CAAC,IAAI,CACnB,IAAI,4BAAgB,CAAC;QACnB,MAAM,EAAE,YAAY;QACpB,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,OAAO;KACd,CAAC,CACH,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,IAAI,CAC/B,IAAI,4BAAgB,CAAC;QACnB,MAAM,EAAE,YAAY;QACpB,GAAG,EAAE,UAAU;KAChB,CAAC,CACH,CAAC;IACF,MAAM,CAAC,MAAM,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,iBAAiB,EAAE,CAAA,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE1D,0EAA0E;IAC1E,MAAM,MAAM,CACV,UAAU,CAAC,IAAI,CACb,IAAI,4BAAgB,CAAC;QACnB,MAAM,EAAE,YAAY;QACpB,GAAG,EAAE,kBAAkB;KACxB,CAAC,CACH,CACF,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAS,CAAC,CAAC;IAE7B,iGAAiG;IACjG,MAAM,MAAM,CACV,UAAU,CAAC,IAAI,CACb,IAAI,4BAAgB,CAAC;QACnB,MAAM,EAAE,gBAAgB;QACxB,GAAG,EAAE,UAAU;KAChB,CAAC,CACH,CACF,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAEpB,8CAA8C;IAC9C,MAAM,UAAU,GAAG,IAAI,oBAAQ,EAAE,CAAC;IAClC,MAAM,MAAM,CACV,UAAU,CAAC,IAAI,CACb,IAAI,4BAAgB,CAAC;QACnB,MAAM,EAAE,kBAAkB;QAC1B,GAAG,EAAE,UAAU;KAChB,CAAC,CACH,CACF,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AACtB,CAAC,CAAC,CAAC"}
@@ -1,16 +1,23 @@
1
1
  import { S3Client } from '@aws-sdk/client-s3';
2
2
  /**
3
- * Resets all mocks globally
3
+ * Resets mocks for a specific bucket. If no bucket provided, resets all mocks.
4
+ * @param bucket - Optional bucket name to reset
4
5
  */
5
- export declare function resetMocks(): void;
6
+ export declare function resetMocks(bucket?: string): void;
6
7
  /**
7
- * Creates a mocked S3 instance.
8
- *
9
- * WARNING: This mocks ALL S3 instances, not just the created one. To reset mock behaviour, use resetMocks()
10
- *
11
- * @param localDirectory
12
- * @param s3Client
13
- * @returns
8
+ * Interface for S3 client creation options
14
9
  */
15
- export declare function createS3Client(localDirectory: string, s3Client?: S3Client): S3Client;
10
+ export interface CreateS3ClientOptions {
11
+ /** Local directory to store mock data */
12
+ localDirectory: string;
13
+ /** Optional S3 client instance */
14
+ s3Client?: S3Client;
15
+ /** Bucket name for this mock instance */
16
+ bucket: string;
17
+ }
18
+ /**
19
+ * Creates a mocked S3 instance for a specific bucket.
20
+ * Each bucket gets its own mock instance to prevent interference.
21
+ */
22
+ export declare function createS3Client({ localDirectory, s3Client, bucket, }: CreateS3ClientOptions): S3Client;
16
23
  //# sourceMappingURL=mockS3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockS3.d.ts","sourceRoot":"","sources":["../../src/mockS3.ts"],"names":[],"mappings":"AAAA,OAAO,EAgBL,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAS5B;;GAEG;AACH,wBAAgB,UAAU,SAGzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,QAAQ,CAAC,EAAE,QAAQ,GAClB,QAAQ,CAyDV"}
1
+ {"version":3,"file":"mockS3.d.ts","sourceRoot":"","sources":["../../src/mockS3.ts"],"names":[],"mappings":"AAAA,OAAO,EAgBL,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAwB5B;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAMhD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB;AAYD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAC7B,cAAc,EACd,QAAQ,EACR,MAAM,GACP,EAAE,qBAAqB,GAAG,QAAQ,CAsHlC"}
@@ -1,86 +1,165 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
5
35
  Object.defineProperty(exports, "__esModule", { value: true });
6
36
  exports.resetMocks = resetMocks;
7
37
  exports.createS3Client = createS3Client;
8
38
  const client_s3_1 = require("@aws-sdk/client-s3");
9
39
  const aws_sdk_client_mock_1 = require("aws-sdk-client-mock");
10
- const mock_aws_s3_1 = __importDefault(require("mock-aws-s3"));
40
+ const path_1 = require("path");
41
+ const s3Mock = __importStar(require("mock-aws-s3"));
42
+ const bucketContexts = new Map();
43
+ /**
44
+ * Resets mocks for a specific bucket. If no bucket provided, resets all mocks.
45
+ * @param bucket - Optional bucket name to reset
46
+ */
47
+ function resetMocks(bucket) {
48
+ if (bucket) {
49
+ bucketContexts.delete(bucket);
50
+ }
51
+ else {
52
+ bucketContexts.clear();
53
+ }
54
+ }
11
55
  /**
12
- * Resets all mocks globally
56
+ * Validates and retrieves bucket context, throwing an error if not found
57
+ * @param bucket - Bucket name to validate
58
+ * @returns BucketContext for the specified bucket
13
59
  */
14
- function resetMocks() {
15
- const s3Client = new client_s3_1.S3Client();
16
- (0, aws_sdk_client_mock_1.mockClient)(s3Client).reset();
60
+ function getBucketContext(bucket) {
61
+ const context = bucketContexts.get(bucket);
62
+ return context;
17
63
  }
18
64
  /**
19
- * Creates a mocked S3 instance.
20
- *
21
- * WARNING: This mocks ALL S3 instances, not just the created one. To reset mock behaviour, use resetMocks()
22
- *
23
- * @param localDirectory
24
- * @param s3Client
25
- * @returns
65
+ * Creates a mocked S3 instance for a specific bucket.
66
+ * Each bucket gets its own mock instance to prevent interference.
26
67
  */
27
- function createS3Client(localDirectory, s3Client) {
28
- if (!s3Client) {
29
- s3Client = new client_s3_1.S3Client();
68
+ function createS3Client({ localDirectory, s3Client, bucket, }) {
69
+ if (!bucket) {
70
+ throw new Error('Bucket name is required');
30
71
  }
31
- const client = (0, aws_sdk_client_mock_1.mockClient)(client_s3_1.S3Client);
32
- mock_aws_s3_1.default.config.basePath = localDirectory;
33
- const mockS3 = new mock_aws_s3_1.default.S3({
34
- params: {},
35
- });
36
- client.on(client_s3_1.PutObjectCommand).callsFake(async (input) => {
37
- return await mockS3.putObject(input).promise();
72
+ if (!localDirectory) {
73
+ throw new Error('Local directory is required');
74
+ }
75
+ let context = bucketContexts.get(bucket);
76
+ if (context) {
77
+ return context.client;
78
+ }
79
+ const client = s3Client || new client_s3_1.S3Client();
80
+ const clientSend = client.send.bind(client);
81
+ const mockClientInstance = (0, aws_sdk_client_mock_1.mockClient)(client);
82
+ s3Mock.config.basePath = (0, path_1.resolve)(localDirectory);
83
+ const mockS3 = new s3Mock.S3({
84
+ params: { Bucket: bucket },
38
85
  });
39
- client.on(client_s3_1.GetObjectCommand).callsFake(async (input) => {
40
- const resOperation = mockS3.getObject(input);
41
- try {
42
- const res = await resOperation.promise();
43
- const output = { ...res };
44
- const body = {
45
- // toString: () => res.Body?.toString(), // this is not how toString works in the new client
46
- transformToString: async () => { var _a; return ((_a = res.Body) === null || _a === void 0 ? void 0 : _a.toString()) || ''; },
47
- pipe: (destination, options) => {
48
- return resOperation.createReadStream().pipe(destination, options);
49
- },
50
- };
51
- output.Body = body;
52
- return output;
53
- }
54
- catch (e) {
55
- const awsError = e;
56
- if (awsError.code === 'NoSuchKey') {
57
- throw new client_s3_1.NoSuchKey({
58
- message: e.message,
59
- $metadata: {},
60
- });
86
+ context = {
87
+ client,
88
+ mockClient: mockClientInstance,
89
+ mockS3,
90
+ localDirectory: (0, path_1.resolve)(localDirectory),
91
+ };
92
+ bucketContexts.set(bucket, context);
93
+ client._goldstackRequests = [];
94
+ const operations = [
95
+ { command: client_s3_1.PutObjectCommand, method: 'putObject' },
96
+ { command: client_s3_1.GetObjectCommand, method: 'getObject' },
97
+ { command: client_s3_1.CreateBucketCommand, method: 'createBucket' },
98
+ { command: client_s3_1.DeleteBucketCommand, method: 'deleteBucket' },
99
+ { command: client_s3_1.ListObjectsCommand, method: 'listObjects' },
100
+ { command: client_s3_1.ListObjectsV2Command, method: 'listObjectsV2' },
101
+ { command: client_s3_1.DeleteObjectsCommand, method: 'deleteObjects' },
102
+ { command: client_s3_1.DeleteObjectCommand, method: 'deleteObject' },
103
+ { command: client_s3_1.HeadObjectCommand, method: 'headObject' },
104
+ { command: client_s3_1.CopyObjectCommand, method: 'copyObject' },
105
+ { command: client_s3_1.GetObjectTaggingCommand, method: 'getObjectTagging' },
106
+ { command: client_s3_1.PutObjectTaggingCommand, method: 'putObjectTagging' },
107
+ { command: client_s3_1.ListBucketsCommand, method: undefined }, // not supported
108
+ ];
109
+ operations.forEach(({ command, method }) => {
110
+ mockClientInstance
111
+ .on(command)
112
+ .callsFake(async (input) => {
113
+ const context = getBucketContext(input.Bucket);
114
+ if (!context) {
115
+ // if no context defined for bucket, send command to real client
116
+ const commandWithInput = new command(input);
117
+ return await clientSend(commandWithInput);
61
118
  }
62
- throw e;
63
- }
64
- });
65
- wrappedAsIs(client, mockS3, client_s3_1.CreateBucketCommand, 'createBucket');
66
- wrappedAsIs(client, mockS3, client_s3_1.DeleteBucketCommand, 'deleteBucket');
67
- wrappedAsIs(client, mockS3, client_s3_1.ListObjectsCommand, 'listObjects');
68
- wrappedAsIs(client, mockS3, client_s3_1.ListObjectsV2Command, 'listObjectsV2');
69
- wrappedAsIs(client, mockS3, client_s3_1.DeleteObjectsCommand, 'deleteObjects');
70
- wrappedAsIs(client, mockS3, client_s3_1.DeleteObjectCommand, 'deleteObject');
71
- wrappedAsIs(client, mockS3, client_s3_1.HeadObjectCommand, 'headObject');
72
- wrappedAsIs(client, mockS3, client_s3_1.CopyObjectCommand, 'copyObject');
73
- wrappedAsIs(client, mockS3, client_s3_1.GetObjectTaggingCommand, 'getObjectTagging');
74
- wrappedAsIs(client, mockS3, client_s3_1.PutObjectTaggingCommand, 'putObjectTagging');
75
- notSupported(client, client_s3_1.ListBucketsCommand);
76
- return s3Client;
77
- }
78
- function wrappedAsIs(client, mockS3, command, methodName) {
79
- client.on(command).callsFake(async (input) => {
80
- return await mockS3[methodName](input).promise();
119
+ if (!method) {
120
+ throw new Error(`Method ${command.name} not implemented.`);
121
+ }
122
+ s3Mock.config.basePath = context.localDirectory;
123
+ context.client._goldstackRequests.push({
124
+ command: command.name,
125
+ input,
126
+ });
127
+ if (process.env.GOLDSTACK_DEBUG) {
128
+ console.debug(`Performing command ${command.name} on mock S3 bucket ${input.Bucket}.\n Folder for local bucket: ${context.localDirectory}`);
129
+ }
130
+ const operation = context.mockS3[method](input);
131
+ if (method === 'getObject') {
132
+ let stream;
133
+ try {
134
+ const res = await operation.promise();
135
+ const output = { ...res };
136
+ const body = {
137
+ transformToString: async () => { var _a; return ((_a = res.Body) === null || _a === void 0 ? void 0 : _a.toString()) || ''; },
138
+ pipe: (destination, options) => {
139
+ stream = operation.createReadStream();
140
+ return stream.pipe(destination, options);
141
+ },
142
+ };
143
+ output.Body = body;
144
+ return output;
145
+ }
146
+ catch (e) {
147
+ if (stream) {
148
+ stream.destroy();
149
+ }
150
+ const awsError = e;
151
+ if (awsError.code === 'NoSuchKey') {
152
+ throw new client_s3_1.NoSuchKey({
153
+ message: e.message,
154
+ $metadata: {},
155
+ });
156
+ }
157
+ throw e;
158
+ }
159
+ }
160
+ return await operation.promise();
161
+ });
81
162
  });
82
- }
83
- function notSupported(client, command) {
84
- client.on(command).rejects('Method ' + command.name + ' not implemented.');
163
+ return client;
85
164
  }
86
165
  //# sourceMappingURL=mockS3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockS3.js","sourceRoot":"","sources":["../../src/mockS3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockS3.js","sourceRoot":"","sources":["../../src/mockS3.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mock-aws-s3-v3",
3
- "version": "5.0.12",
3
+ "version": "6.0.2",
4
4
  "description": "Local file-based mock for AWS S3 for unit and local testing for AWS JavaScript SDK v3+.",
5
5
  "keywords": [
6
6
  "node",
@@ -38,8 +38,7 @@
38
38
  "@smithy/types": "^3.3.0",
39
39
  "@types/sinon": "^17.0.3",
40
40
  "aws-sdk-client-mock": "^4.0.1",
41
- "mock-aws-s3": "^4.0.2",
42
- "sinon": "^19.0.2"
41
+ "mock-aws-s3": "^4.0.2"
43
42
  },
44
43
  "devDependencies": {
45
44
  "@goldstack/utils-git": "0.2.12",