Skip to content

Conversation

@smilkuri
Copy link
Contributor

@smilkuri smilkuri commented Dec 3, 2025

Issue

Internal JS-6402

Description

Removes the dependency on cucumber and converts feature tests to e2e tests.

Testing

CI

Checklist

  • If the PR is a feature, add integration tests (*.integ.spec.ts).
  • If you wrote E2E tests, are they resilient to concurrent I/O?
  • If adding new public functions, did you add the @public tag and enable doc generation on the package?

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@smilkuri smilkuri force-pushed the cucumber-to-vitest branch 7 times, most recently from 338fa1e to 49939c5 Compare December 18, 2025 14:40
@smilkuri smilkuri marked this pull request as ready for review December 18, 2025 14:48
@smilkuri smilkuri requested a review from a team as a code owner December 18, 2025 14:48
let region: string;

beforeAll(async () => {
const e2eTestResourcesEnv = await getE2eTestResources();
Copy link
Contributor

@kuhe kuhe Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the e2e test resources should not be invoked for tests that do not need a bucket, identity pool, or MRAP

the region can be assumed to be us-west-2. Please change this in all new tests.

expect(binaryValue!.toString()).toBe("1,2,3");

// Cleanup
await client.deleteQueue({ QueueUrl: queueUrl });
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

must be in post test hook

expect(sendResult.MD5OfMessageBody).toBe("eb61eead90e3b899c6bcbe27ac581660");

// Eventually receive "HELLO" from the queue with binary attribute
const receiveResult = await client.receiveMessage({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eventually implies use of a waiter

// Result should include a message ID
expect(sendResult.MessageId!.length).toBeGreaterThan(0);

// Result should have MD5 digest of "eb61eead90e3b899c6bcbe27ac581660"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove redundant comments

createdQueues.push(queueUrl2);

// List queues should contain the created queues
const listResult = await client.listQueues({});
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

original test uses "eventually" which implies a waiter

// Cleanup
for (const queueUrl of createdQueues) {
try {
await client.deleteQueue({ QueueUrl: queueUrl });
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

resource deletion must be in post-test hook

@smilkuri smilkuri changed the title chore: convert bdd tests to e2e tests chore: move e2e tests from cucumber to vitest Dec 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants