diff --git a/consensus_message_submit_transaction_test.go b/consensus_message_submit_transaction_test.go index 9e20750ad..0aeabbc79 100644 --- a/consensus_message_submit_transaction_test.go +++ b/consensus_message_submit_transaction_test.go @@ -1,6 +1,7 @@ package hedera import ( + "os" "strings" "testing" "time" @@ -34,3 +35,61 @@ func TestSerializeConsensusMessageSubmitTransaction(t *testing.T) { assert.Equal(t, `bodyBytes:"\n\014\n\006\010\316\247\212\345\005\022\002\030\002\022\002\030\003\030\300\204=\"\004\010\200\243\005\332\001\025\n\002\030c\022\017HelloHashgraph"sigMap:>transactionID:accountID:>nodeAccountID:transactionFee:1000000transactionValidDuration:consensusSubmitMessage:message:"HelloHashgraph">`, strings.ReplaceAll(strings.ReplaceAll(tx.String(), " ", ""), "\n", "")) } + +func TestConsensusMessageSubmitTransaction_Execute(t *testing.T) { + operatorAccountID, err := AccountIDFromString(os.Getenv("OPERATOR_ID")) + assert.NoError(t, err) + + operatorPrivateKey, err := Ed25519PrivateKeyFromString(os.Getenv("OPERATOR_KEY")) + assert.NoError(t, err) + + client := ClientForTestnet(). + SetOperator(operatorAccountID, operatorPrivateKey) + + txID, err := NewConsensusTopicCreateTransaction(). + SetAdminKey(operatorPrivateKey.PublicKey()). + SetTopicMemo("go-sdk::TestConsensusMessageSubmitTransaction_Execute"). + SetMaxTransactionFee(NewHbar(1)). + Execute(client) + assert.NoError(t, err) + + receipt, err := txID.GetReceipt(client) + assert.NoError(t, err) + + topicID := receipt.GetConsensusTopicID() + assert.NotNil(t, topicID) + + info, err := NewConsensusTopicInfoQuery(). + SetTopicID(topicID). + SetMaxQueryPayment(NewHbar(1)). + Execute(client) + assert.NoError(t, err) + assert.NotNil(t, info) + + assert.Equal(t, uint64(0), info.SequenceNumber) + + txID, err = NewConsensusMessageSubmitTransaction(). + SetTopicID(topicID). + SetMessage([]byte("go-sdk::TestConsensusMessageSubmitTransaction_Execute::MessageSubmit")). + SetMaxTransactionFee(NewHbar(1)). + Execute(client) + assert.NoError(t, err) + + info, err = NewConsensusTopicInfoQuery(). + SetTopicID(topicID). + SetMaxQueryPayment(NewHbar(1)). + Execute(client) + assert.NoError(t, err) + assert.NotNil(t, info) + + assert.Equal(t, uint64(1), info.SequenceNumber) + + txID, err = NewConsensusTopicDeleteTransaction(). + SetTopicID(topicID). + SetMaxTransactionFee(NewHbar(1)). + Execute(client) + assert.NoError(t, err) + + receipt, err = txID.GetReceipt(client) + assert.NoError(t, err) +}