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

Cover remaining Base node GRPC methods in cucumber #4475

Open
stringhandler opened this issue Aug 15, 2022 · 3 comments
Open

Cover remaining Base node GRPC methods in cucumber #4475

stringhandler opened this issue Aug 15, 2022 · 3 comments
Labels
A-base_node Area - The Tari base node executable and libraries C-tests Category - tests E-good_first_issue Experience Level - Good for newcomers

Comments

@stringhandler
Copy link
Collaborator

stringhandler commented Aug 15, 2022

There are not many tests covering the base-node GRPC.

The following methods should be covered in integration (cucumber tests)

 rpc GetBlockTiming(HeightRequest) returns (BlockTimingResponse);
    // Returns the network Constants
    rpc GetConstants(Empty) returns (ConsensusConstants);
    // Returns Block Sizes
    rpc GetBlockSize (BlockGroupRequest) returns (BlockGroupResponse);
    // Returns Block Fees
    rpc GetBlockFees (BlockGroupRequest) returns (BlockGroupResponse);
    // Get Version
    rpc GetVersion(Empty) returns (StringValue);
    // Check for new updates
    rpc CheckForUpdates(Empty) returns (SoftwareUpdate);
    // Get coins in circulation
    rpc GetTokensInCirculation(GetBlocksRequest) returns (stream ValueAtHeightResponse);
    // Get network difficulties
    rpc GetNetworkDifficulty(HeightRequest) returns (stream NetworkDifficultyResponse);
    // Get the block template
    rpc GetNewBlockTemplate(NewBlockTemplateRequest) returns (NewBlockTemplateResponse);
    // Construct a new block from a provided template
    rpc GetNewBlock(NewBlockTemplate) returns (GetNewBlockResult);
    // Construct a new block and header blob from a provided template
    rpc GetNewBlockBlob(NewBlockTemplate) returns (GetNewBlockBlobResult);
    // Submit a new block for propagation
    rpc SubmitBlock(Block) returns (SubmitBlockResponse);
    // Submit a new mined block blob for propagation
    rpc SubmitBlockBlob(BlockBlobRequest) returns (SubmitBlockResponse);
    // Submit a transaction for propagation
    rpc SubmitTransaction(SubmitTransactionRequest) returns (SubmitTransactionResponse);
    // Get the base node sync information
    rpc GetSyncInfo(Empty) returns (SyncInfoResponse);
    // Get the base node sync information
   rpc GetSyncProgress(Empty) returns (SyncProgressResponse);
    // Get the base node tip information
    rpc GetTipInfo(Empty) returns (TipInfoResponse);
    // Search for blocks containing the specified kernels
    // Perhaps change the return type to a Map or include the result as Found or NotFound
    rpc SearchKernels(SearchKernelsRequest) returns (stream HistoricalBlock);
    // Search for blocks containing the specified commitments
    // Perhaps change the return type to a Map or include the result as Found or NotFound
    rpc SearchUtxos(SearchUtxosRequest) returns (stream HistoricalBlock);
    // Fetch any utxos that exist in the main chain
  rpc FetchMatchingUtxos(FetchMatchingUtxosRequest) returns (stream FetchMatchingUtxosResponse);
    // Get all peers from the base node
    rpc GetPeers(GetPeersRequest) returns (stream GetPeersResponse);
    // Get all of the transaction in the mempool
    rpc GetMempoolTransactions(GetMempoolTransactionsRequest) returns (stream GetMempoolTransactionsResponse);
    // Find the location (mempool or mined or not found) of a transaction by using the excess signature
    rpc TransactionState(TransactionStateRequest) returns (TransactionStateResponse);
    // This returns the node's network identity
    rpc Identify (Empty) returns (NodeIdentity);
    // Get Base Node network connectivity status
    rpc GetNetworkStatus(Empty) returns (NetworkStatusResponse);
    // List currently connected peers
    rpc ListConnectedPeers(Empty) returns (ListConnectedPeersResponse);
    // Get mempool stats
    rpc GetMempoolStats(Empty) returns (MempoolStatsResponse);
    rpc GetTokens(GetTokensRequest) returns (stream GetTokensResponse);
    rpc ListAssetRegistrations(ListAssetRegistrationsRequest) returns (stream ListAssetRegistrationsResponse);
    rpc GetAssetMetadata(GetAssetMetadataRequest) returns (GetAssetMetadataResponse);
    // Get all constitutions where the public key is in the committee
    rpc GetConstitutions(GetConstitutionsRequest) returns (stream GetConstitutionsResponse);
    // Get the current contract outputs matching the given contract id and type
    rpc GetCurrentContractOutputs(GetCurrentContractOutputsRequest) returns (GetCurrentContractOutputsResponse);
@stringhandler stringhandler added the E-good_first_issue Experience Level - Good for newcomers label Aug 15, 2022
@stringhandler stringhandler added C-tests Category - tests A-base_node Area - The Tari base node executable and libraries labels Nov 14, 2022
@hnidoaht-101
Copy link
Contributor

hi @stringhandler I remember we had a code review session relating to cucumber test... Could you please remind me? Im gonna rewatch to take this issue.

@stringhandler
Copy link
Collaborator Author

Yeah, I still have this PR #4371 that I might get back to at some point. You are welcome to continue it. Just a heads up that there is also an issue to convert the javascript cucumber to rust, as done in the tari-dan project: #4963

@hnidoaht-101
Copy link
Contributor

Yeah, I still have this PR #4371 that I might get back to at some point. You are welcome to continue it. Just a heads up that there is also an issue to convert the javascript cucumber to rust, as done in the tari-dan project: #4963

sorry for late reply, it seems #4963 claimed already. Im confused, so this issue seems out-dated now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-base_node Area - The Tari base node executable and libraries C-tests Category - tests E-good_first_issue Experience Level - Good for newcomers
Projects
Status: Should Do
Development

No branches or pull requests

2 participants