Skip to content

Commit 7de573b

Browse files
committed
test(client-s3): move selectObjectContent test from e2e to integ
1 parent ad71c7d commit 7de573b

File tree

3 files changed

+60
-84
lines changed

3 files changed

+60
-84
lines changed

clients/client-s3/test/e2e/S3.browser.e2e.spec.ts

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -315,50 +315,6 @@ describe("@aws-sdk/client-s3", () => {
315315
});
316316
});
317317

318-
describe("selectObjectContent", () => {
319-
const csvFile = `user_name,age
320-
jsrocks,13
321-
node4life,22
322-
esfuture,29`;
323-
324-
beforeEach(async () => {
325-
Key = `${Date.now()}`;
326-
await client.putObject({ Bucket, Key, Body: csvFile });
327-
});
328-
329-
afterEach(async () => {
330-
await client.deleteObject({ Bucket, Key });
331-
});
332-
333-
it("should succeed", async () => {
334-
onTestFailed(setTestFailed);
335-
const { Payload } = await client.selectObjectContent({
336-
Bucket,
337-
Key,
338-
ExpressionType: "SQL",
339-
Expression: "SELECT user_name FROM S3Object WHERE cast(age as int) > 20",
340-
InputSerialization: {
341-
CSV: {
342-
FileHeaderInfo: "USE",
343-
RecordDelimiter: "\n",
344-
FieldDelimiter: ",",
345-
},
346-
},
347-
OutputSerialization: {
348-
CSV: {},
349-
},
350-
});
351-
const events: SelectObjectContentEventStream[] = [];
352-
for await (const event of Payload!) {
353-
events.push(event);
354-
}
355-
expect(events.length).toEqual(3);
356-
expect(new TextDecoder().decode(events[0].Records?.Payload)).toEqual("node4life\nesfuture\n");
357-
expect(events[1].Stats?.Details).toBeDefined();
358-
expect(events[2].End).toBeDefined();
359-
});
360-
});
361-
362318
describe("Multi-region access point", () => {
363319
beforeEach(async () => {
364320
Key = `${Date.now()}`;

clients/client-s3/test/e2e/S3.e2e.spec.ts

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -231,46 +231,6 @@ describe("@aws-sdk/client-s3", () => {
231231
});
232232
});
233233

234-
describe("selectObjectContent", () => {
235-
const csvFile = `user_name,age
236-
jsrocks,13
237-
node4life,22
238-
esfuture,29`;
239-
beforeAll(async () => {
240-
Key = `${Date.now()}`;
241-
await client.putObject({ Bucket, Key, Body: csvFile });
242-
});
243-
afterAll(async () => {
244-
await client.deleteObject({ Bucket, Key });
245-
});
246-
it("should succeed", async () => {
247-
const { Payload } = await client.selectObjectContent({
248-
Bucket,
249-
Key,
250-
ExpressionType: "SQL",
251-
Expression: "SELECT user_name FROM S3Object WHERE cast(age as int) > 20",
252-
InputSerialization: {
253-
CSV: {
254-
FileHeaderInfo: "USE",
255-
RecordDelimiter: "\n",
256-
FieldDelimiter: ",",
257-
},
258-
},
259-
OutputSerialization: {
260-
CSV: {},
261-
},
262-
});
263-
const events: SelectObjectContentEventStream[] = [];
264-
for await (const event of Payload!) {
265-
events.push(event);
266-
}
267-
expect(events.length).toEqual(3);
268-
expect(new TextDecoder().decode(events[0].Records?.Payload)).toEqual("node4life\nesfuture\n");
269-
expect(events[1].Stats?.Details).toBeDefined();
270-
expect(events[2].End).toBeDefined();
271-
});
272-
});
273-
274234
describe("Multi-region access point", () => {
275235
beforeAll(async () => {
276236
Key = `${Date.now()}`;
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
import { S3, SelectObjectContentEventStream } from "@aws-sdk/client-s3";
2+
import { afterAll, beforeAll, describe, expect, test as it } from "vitest";
3+
4+
import { getIntegTestResources } from "../../../../tests/e2e/get-integ-test-resources";
5+
6+
describe("selectObjectContent", () => {
7+
let client: S3;
8+
let Bucket: string;
9+
let Key: string;
10+
11+
const csvFile = `user_name,age
12+
jsrocks,13
13+
node4life,22
14+
esfuture,29`;
15+
16+
beforeAll(async () => {
17+
const integTestResourcesEnv = await getIntegTestResources();
18+
Object.assign(process.env, integTestResourcesEnv);
19+
20+
const region = process?.env?.AWS_SMOKE_TEST_REGION as string;
21+
Bucket = process?.env?.AWS_SMOKE_TEST_BUCKET as string;
22+
Key = `selectObjectContent-${Date.now()}`;
23+
24+
client = new S3({ region });
25+
await client.putObject({ Bucket, Key, Body: csvFile });
26+
});
27+
28+
afterAll(async () => {
29+
await client.deleteObject({ Bucket, Key });
30+
});
31+
32+
it("should succeed", async () => {
33+
const { Payload } = await client.selectObjectContent({
34+
Bucket,
35+
Key,
36+
ExpressionType: "SQL",
37+
Expression: "SELECT user_name FROM S3Object WHERE cast(age as int) > 20",
38+
InputSerialization: {
39+
CSV: {
40+
FileHeaderInfo: "USE",
41+
RecordDelimiter: "\n",
42+
FieldDelimiter: ",",
43+
},
44+
},
45+
OutputSerialization: {
46+
CSV: {},
47+
},
48+
});
49+
50+
const events: SelectObjectContentEventStream[] = [];
51+
for await (const event of Payload!) {
52+
events.push(event);
53+
}
54+
55+
expect(events.length).toEqual(3);
56+
expect(new TextDecoder().decode(events[0].Records?.Payload)).toEqual("node4life\nesfuture\n");
57+
expect(events[1].Stats?.Details).toBeDefined();
58+
expect(events[2].End).toBeDefined();
59+
});
60+
});

0 commit comments

Comments
 (0)