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(connector-iroha2): add more iroha v2 tests #2178

Closed
wants to merge 6 commits into from

Conversation

outSH
Copy link
Contributor

@outSH outSH commented Oct 21, 2022

  • Add test for complex scenario that involves creating new account and asset, and then transferring assets between two accounts.
  • Add test for parsing retrieved block data to find specific transaction hashes.

Depends on #2172

Signed-off-by: Michal Bajer [email protected]

Please review only the last commit.

outSH added 6 commits August 3, 2022 11:11
- Add a new test image for Iroha V2 (iroha2-all-in-one). It start a test ledger in single container,
  and also contains a proxy script for running iroha_client_cli.
- Add the new image to the CI.
- Add a new class for starting and interacting with Iroha V2 test ledger
  from typescript test - Iroha2TestLedger.
- Add test for test setup class to ensure basic functions are working correctly.

Relates to hyperledger-cacti#2138

Signed-off-by: Michal Bajer <[email protected]>
- Add new Iroha V2 cactus connector.
- Two OpenAPI endpoints are implemented: `transact` and `query`. Both endpoints support
  critical subset of instructions and queries supported by the upstream javascript iroha sdk.
- One SocketIO endpoint can be used to monitor new blocks from the ledger.
- New connector can be used through a verifier-client interface.
- All added functions are tested in functional test suites and documented.
- Added execution of Iroha2 tests to the CI.

Additional notes:
- Connector doesn't work well with cactus module system, the issue has been reported and described
  in README. PR is not merge-ready until this is fixed (the CI should fail now).
- Iroha V2 javascript packages are not available on official npm yet, had to include `.npmrc` with
  private npm address. I'm not sure if there's ETA of delivering these through NPM, so it might be
  necessary to commit it after all.

Closes hyperledger-cacti#2138
Depends on hyperledger-cacti#2140

Signed-off-by: Michal Bajer <[email protected]>
- Add new endpoint `generate-transaction`, to create unsigned transactions
  that can be signed on the client side.
- Add a function to iroha2-connector package to help signing iroha transactions
  on the client (BLP) side.
- Extend transact endpoint to accept signed transaction as an argument as well.
- Add new test suite to check features implemented in this PR (i.e. signing on the client side).

Relates to hyperledger-cacti#2077

Depends on hyperledger-cacti#2153

Signed-off-by: Michal Bajer <[email protected]>
- Add a new argument to transact endpoint to wait for transaction commit.
  When this flag is true, request will return with final transaction status (commit / reject).
- Add new transaction hash to all the responses from the transact endpoint.
- Alter tests to wait for status instead of waiting for X seconds to make them more reliable.
- Add new tests to check this PR features.

Relates to hyperledger-cacti#2077

Depends on hyperledger-cacti#2168

Signed-off-by: Michal Bajer <[email protected]>
- Add new helper method for signing query payload on the client side.
- Change query and generateTransaction to support both query and transaction payload generation and
  sending.
- Refactor `CactusIrohaV2QueryClient` to return query context instead of single request method.
- Update tests to fit the new API.
- Add tests for signing queries on the client side.

Depends on hyperledger-cacti#2171

Signed-off-by: Michal Bajer <[email protected]>
- Add test for complex scenario that involves creating new account and asset, and then transfering
  assets between two accounts.
- Add test for parsing retrieved block data to find specific transaction hashes.

Depends on hyperledger-cacti#2172

Signed-off-by: Michal Bajer <[email protected]>
@github-actions
Copy link

This PR/issue depends on:

Copy link
Contributor

@petermetz petermetz left a comment

Choose a reason for hiding this comment

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

@outSH Please resolve the merge conflicts! (also squash+rebase)

Copy link
Contributor

@izuru0 izuru0 left a comment

Choose a reason for hiding this comment

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

LGTM

@outSH outSH closed this Dec 24, 2022
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