hiero-ledger / hiero-sdk-tck

A TCK (Technology Compatibility Kit) used to verify compliant implementations of a Hiero SDK
Apache License 2.0
20 stars 1 forks source link

Make the test timeout a configurable value #237

Open rwalworth opened 2 months ago

rwalworth commented 2 months ago

🆕🐥 First Timers Only

This issue is reserved for people who have never contributed to Hedera or any open source project in general. We know that creating a pull request (PR) is a major barrier for new contributors. The goal of this issue and all other issues labeled by 'good first issue' is to help you make your first contribution to Hedera.

👾 Description of the issue

Currently, tests are hardcoded to timeout after 30 seconds. This should be made a configurable value.

Proposed Solution

  1. Add a TEST_TIMEOUT configuration value to the .env.custom_node and .env.testnet files that allows a user to control how quickly a test should timeout.
  2. Make necessary code changes to pull in this value and set it for all test suites. This includes all *.js files under the test/ directory. A describe block is used to demarcate the tests for a specific request type and within the describe block, there should be a this.timeout(30000); line or something to that effect. This is what specifies the timeout for tests. If no value is provided, a default value (30) should be used.
  3. Verify the timeout. Follow the directions in the README to start an SDK server and configure the TCK to run with the hedera-local-node and run it. Change the NODE_IP value in your .env file to use a different port and set TEST_TIMEOUT to 2000. Run the TCK using npm test run and observe the tests failing after 2 seconds. You should be able to then change the value to 3000 to see the tests failing after 3 seconds.

📋 Step by step guide to do a contribution

If you have never contributed to an open source project at GitHub, the following step-by-step guide will introduce you to the workflow. More information and concrete samples for shell commands for each step can be found in our CONTRIBUTING.md file. A more detailed general documentation of the GitHub PR workflow can be found here.

🎉 Contribute to Hacktoberfest

Solve this issue as part of the Hacktoberfest event and get a chance to receive cool goodies like a T-Shirt. 🎽

🤔 Additional Information

If you have any questions, just ask us directly in this issue by adding a comment. You can join our community chat at Discord. A general manual about open-source contributions can be found here.

DevvEmeka commented 1 month ago

I am interested in working on the issue