Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/chain simulator e2e #1402

Merged
merged 60 commits into from
Feb 3, 2025
Merged

Feat/chain simulator e2e #1402

merged 60 commits into from
Feb 3, 2025

Conversation

bogdan-rosianu
Copy link
Contributor

Reasoning

Proposed Changes

How to test

bogdan-rosianu and others added 30 commits November 14, 2024 16:27
Copy link

github-actions bot commented Dec 3, 2024

k6 load testing comparison.
Base Commit Hash: c051521
Target Commit Hash: 6b722e3

Metric Base Target Diff
AvgMax9095AvgMax9095AvgMax9095
Mex46.20929.6649.0850.4345.81132.0149.9451.23-0.83% ✅-85.80% ✅+1.74% 🔴+1.60% 🔴
Nodes46.05597.9049.1050.4747.131199.6650.0351.58+2.34% 🔴+100.65% 🔴+1.88% 🔴+2.21% 🔴
Tokens45.67216.7249.1150.4345.79109.5449.9451.22+0.25% 🔴-49.46% ✅+1.69% 🔴+1.57% 🔴
Transactions56.76916.5549.5851.3557.871523.3550.5152.53+1.94% 🔴+66.21% 🔴+1.88% 🔴+2.30% 🔴
Blocks51.971454.5649.3950.8752.511335.2250.5052.72+1.03% 🔴-8.20% ✅+2.25% 🔴+3.63% 🔴
Pool46.27916.2549.0850.4045.78109.4449.9251.19-1.06% ✅-88.06% ✅+1.71% 🔴+1.55% 🔴
Accounts45.49150.1349.1250.4747.381464.5849.8851.18+4.14% 🔴+875.55% 🔴+1.54% 🔴+1.42% 🔴
Test Run Duration60002.9460002.32

Legend: Avg - Average Response Time, Max - Maximum Response Time, 90 - 90th Percentile, 95 - 95th Percentile
All times are in milliseconds.

cfaur09 and others added 17 commits December 3, 2024 14:33
* Create stake.cs-e2e.ts

* Update stake.cs-e2e.ts
* Create delegation.cs-e2e.ts

* Update delegation.cs-e2e.ts
* Create delegation-legacy.cs-e2e.ts

* Update delegation-legacy.cs-e2e.ts
* Create accounts.cs-e2e.ts

* Update tokens.cs-e2e.ts

* Update accounts.cs-e2e.ts

* Update accounts.cs-e2e.ts

* add test sequencer

* update

* Update tokens.cs-e2e.ts

* Update tokens.cs-e2e.ts

* setTimeout

* remove empty line

* fixes after review

* Update docker-compose.yml

* Update accounts.cs-e2e.ts

* update test

* add deploy sc method

* Update accounts.cs-e2e.ts
* API-160: tx pool endpoint tests + new cs image

* push staged file

* fix test

* remove self sended txs

* fixes after review
* Create dapp.config.cs-e2e.ts

* Update dapp.config.cs-e2e.ts
* Update accounts.cs-e2e.ts

* Update accounts.cs-e2e.ts

* Update accounts.cs-e2e.ts

* Update accounts.cs-e2e.ts

* Update accounts.cs-e2e.ts

* Update accounts.cs-e2e.ts

* fixes after review

* Update accounts.cs-e2e.ts

* Update accounts.cs-e2e.ts

* Update accounts.cs-e2e.ts

* fixes after review

* Update accounts.cs-e2e.ts
* Create events.cs-e2e.ts

* Update events.cs-e2e.ts

* fixes after review

* Update events.cs-e2e.ts
* Create identities.cs-e2e.ts

* Update identities.cs-e2e.ts

* Update identities.cs-e2e.ts

* Update identities.cs-e2e.ts

* Create applications.cs-e2e.ts

* Update applications.cs-e2e.ts

* Create transactions.cs-e2e.ts

* Update transactions.cs-e2e.ts

* Update transactions.cs-e2e.ts
…e-tests-dec12

Merge development feat cs e2e tests
* add CreateNFTEvent

* add metaESDT issue collection / tokens

* Create nfts.cs-e2e.ts

* Update nfts.cs-e2e.ts

* Update nfts.cs-e2e.ts

* Update nfts.cs-e2e.ts

* Update testSequencer.js

* Update accounts.cs-e2e.ts

* Update nfts.cs-e2e.ts

* temp remove issueMetaESDT

* Update accounts.cs-e2e.ts

* add prepare data script

* Update hello.cs-e2e.ts

* Update prepare-test-data.ts

* Update nfts.cs-e2e.ts

* Update prepare-test-data.ts

* Update prepare-test-data.ts

* Merge branch 'feat/chain-simulator-e2e' of https://github.com/multiversx/mx-api-service into feat/chain-simulator-e2e

* Refactor e2e tests by removing unnecessary waitForEpoch calls

- Removed `beforeAll` hooks that called `ChainSimulatorUtils.waitForEpoch(2)` from multiple e2e test files:
- This change simplifies the test setup and improves test execution time.

* Increase wait time in prepareTestData function from 20 seconds to 23 seconds to ensure proper deployment of the PingPong smart contract.

* Add end-to-end tests for tags API endpoints

- Implement tests for GET /tags, including validation of response structure, pagination, and search functionality.
- Add tests for GET /tags/count to verify the count of tags.
- Include tests for GET /tags/:tag to ensure correct tag details are returned.
- Enhance overall test coverage for the tags feature in the chain simulator.

* Add end-to-end tests for NFT collection API endpoints

- Implement tests for GET /collections/:collection/nfts to validate NFT retrieval, pagination, and filtering by various parameters (search term, identifiers, tags, creator, etc.).
- Add tests for GET /collections/:collection/nfts/count to verify NFT count based on different criteria.

* Reorder NFT collection issuance in prepareTestData function

- Moved the issuance of NFT collections to occur after funding the address and before issuing Meta-ESDT collections.
- This change improves the logical flow of the test data preparation process.

* Update balance assertions in collections e2e tests to use string comparison

- Changed balance assertions from numeric comparison (expect(account.balance).toStrictEqual(1)) to string comparison (expect(account.balance).toStrictEqual("1")) in multiple test cases.
- This ensures consistency in data type handling for balance values across the tests.

* Update collections e2e test to fetch two identifiers for NFT count validation

* Increase wait time in prepareTestData function from 23 seconds to 25 seconds

* Update collections e2e test to use string comparison for NFT supply validation

* Refactor collections e2e test to improve NFT count retrieval

* Add comprehensive e2e tests for NFT transactions and counts

* Add extensive e2e tests for NFT transfers and counts

* revert readme changes

* Increase wait time in prepareTestData function from 25 seconds to 30 seconds to allow for additional processing time during test data preparation.

* Add comprehensive e2e tests for accounts NFTs retrieval and filtering

* Update e2e test for accounts NFTs to use strict equality check for tags validation

* Add extensive e2e tests for NFT retrieval and filtering by various parameters

* Refactor e2e tests for NFT retrieval: update size parameters, improve response validation, and enhance property checks

* fixes + fixes after review

* Update e2e tests for NFT retrieval to use NFT names instead of identifiers in API requests
* Added a check for encoded data in KeysService to handle cases where no data is returned, ensuring a default response of remainingUnBondPeriod as 0. (#1427)

* websockets transactions events metrics (#1429)

* Enhance ApiMetricsService with new transaction and batch update counters.

* Updated WebSocketPublisherController to emit metrics events after processing transactions and batch updates.

* Update web.socket controller spec

* added function name for pool transactions (#1425)

* added function name for pool transactions

* fix modules imports

* fix unit tests

* add function filter

* accounts endpoint make es heavy fiealds optional (#1426)

* accounts endpoint make es heavy fiealds optional

* optimize provider query for simple accounts

* early return for null account

* use AccountFetchOptions

* fixes after review

* fixes after review

* Enhance AccountController tests to validate optional parameters in account retrieval. Added tests for withTxCount, withScrCount, withTimestamp, and withAssets parameters, ensuring correct behavior and response structure. Updated existing tests to reflect changes in expected account details when optional parameters are used. Improved overall test coverage for account details retrieval.

---------

Co-authored-by: bogdan-rosianu <[email protected]>
Co-authored-by: cfaur09 <[email protected]>

* better treat invalid transactions (#1428)

* Ft/multiple entry/docker file2 (#1434)

* added sovereign

* added placeholder config

* added placeholder config

* added placeholder config

---------

Co-authored-by: liviuancas-elrond <[email protected]>

* add support for xoxno data API provider (#1437)

* API-98: relayed v3 transactions support (#1395)

* API-98: relayed v3 transactions support

* added missing filters

* fixes after review

* fixes after merge

* added filter to fetch transfers where an address is relayer

* fix unit tests

* added checks for multiple fields when getting transaction with isRelayed true

* extract v3 version

* fix relayed version extractor

* include relayedVersion field in single tx fetching

* exclude relayed txs if isRelayed=false

* fix isRelayed query

* Add search query parameter to accounts count endpoints (#1441)

* add transactions 'isScCall' filter support (#1440)

* Enhance transaction and account APIs with 'isScCall' filter support

* Enhance TransferController API by adding 'isScCall' query filter for improved transaction detail retrieval

* Enhance ElasticIndexerHelper to support 'isScCall' filter for improved query capabilities

* fixes after review

* fixes after review

* Added validatorAuction to GatewayComponentRequest enum in GatewayService, enhancing the request capabilities for transaction processing. (#1431)

* Create nodes.cs-e2e.ts (#1416)

* update accounts tests

* remove expects

* fixes

* fixes

* fixes_2

---------

Co-authored-by: bogdan-rosianu <[email protected]>
Co-authored-by: Rebegea Dragos-Alexandru <[email protected]>
Co-authored-by: bogdan-rosianu <[email protected]>
Co-authored-by: Liviu Ancas <[email protected]>
Co-authored-by: liviuancas-elrond <[email protected]>
@cfaur09 cfaur09 marked this pull request as ready for review February 3, 2025 08:26
@cfaur09 cfaur09 merged commit 8a59121 into development Feb 3, 2025
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants